일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- distribution
- pig
- 교차검증
- DataFrame
- SPLIT
- merge
- k-means
- list
- 하둡
- Sawzall
- DBSCAN
- 밀도기반
- 유사도
- cross validation
- 다중공선성
- T-검정
- 분포
- pca
- Python
- 병렬 쿼리 시스템
- 분산분석
- 데이터프레임
- hive
- dict
- 딕셔너리
- 가설검정
- p-value
- SQL on 하둡
- join
- 결정계수
- Today
- Total
one of a kind scene
4-3 데이터 처리 기술_클라우드 인프라 기술 part4_메모리 가상화 본문
메모리 가상화
메모리 가상화 : VMware기법
- VMware 하이퍼바이저의 핵심 모듈은 VMkernel
- Shaodw Page Table
1. 개념 및 특징
• VMware란 한 대의 컴퓨터로 마치 여러 대의 컴퓨터를 사용하는 것과 같이 가상의 공간을 만들어주는 프로그램
• 운영체제는 메모리를 관리하기 위해 물리주소(Physical Address)와 가상주소(Virtual Address)를 사용
설명 | |
물리주소 | 0부터 시작해서 실제 물리적인 메모리 크기까지 나타냄 |
가상주소 | 하나의 프로세스가 가리킬 수 있는 최대 크기를 의미하며 32비트 운영체제에서는 4GB까지 가능 |
• 프로그램에서의 주소는 물리적인 메모리의 주소 값이 아닌 가상주소 값이다.
• 따라서, 가상주소 값의 위치(VPN, Virtual Page Number)를 실제 물리적인 주소 값 위치(MPN, Machine Page Number)로 매핑하는 과정이 필요
• 매핑 연산을 하드웨어적으로 도와주는 것을 TLB(Translation Lookaside Buffer)라고 함
• VMware 하이퍼바이저의 핵심 모듈은 VMkernel
• VMkernel은 Service Console, 디바이스 드라이버들의 메모리 영역을 제외한 나머지 전체 메모리 영역을 모두 관리하면서 가상머신에 메모리를 할당함
• 생성되는 가상머신은 자신에게 할당된 메모리들을 연속된 공간의 실제 물리적인 메모리로 인식
• VMware는 하이퍼바이저 내에 Shadow Page Table을 별도로 두어 가상 메모리 주소와 물리 메모리 주소의 중간 변환 과정을 가로챔
• Shadow Page Table은 마치 연속된 빈 공간의 메모리가 실제 존재하는 것처럼 게스트 운영체제에게 매핑해주는 역할을 하며, 동시에 개별적인 모든 가상머신들이 자신만의 메모리 주소공간을 갖도록 함
(형식2)
3. 가상머신 메모리 할당의 문제 해결을 위한 방법
① Memory Balloning
• VMkernel은 예약된 메모리보다 더 많은 메모리를 사용하는 가상머신의 메모리 영역을 빈 값으로 강제로 채워 가상머신 운영체제가 자체적으로 swapping 하도록 한다.
• 가상머신 운영체제에서 보이는 물리적인 메모리(실제로 하이퍼바이저에서 제공한 논리적 메모리)가 채워지고 있다는 것을 감지한 가상머신 운영체제는 swap 파일에 메모리 영역을 page out 시키고 메모리를 비우게 됨
• 하이퍼바이저는 page out된 메모리 영역을 다른 가상 머신에 할당
② Transparent page sharing : 동일한 내용을 다른 가상머신들과 공유하게끔 함
• 하나의 물리적인 머신에 여러 개의 가상머신이 운영되는 경우 각 가상머신에 할당된 메모리 중 동일한 내용을 담고 있는 페이지는 물리적인 메모리 영역에 하나만 존재시키고 모든 가상머신이 공유하도록 함
③ Memory Overcommitment : 실제 물리적 메모리보다 더 많은 메모리를 가상머신에게 줌(성능저하 우려있음)
• 2GB 메모리를 가진 물리적 장비에 512MB를 Minimum reserved로 가질 수 있는 가상머신 5개를 수행할 수 있다. 이것은 앞서 설명한 두 가지 기법을 이용하여 가능하지만, 모든 가상머신이 메모리 사용이 많은 업무를 수행하는 경우라면 심각한 성능 저하현상이 발생할 수 있기 때문에 권장하지 않음
'ADP > 이론' 카테고리의 다른 글
4-3 데이터 처리 기술_클라우드 인프라 기술 part5_I/O 가상화 (0) | 2020.01.27 |
---|---|
4-3 데이터 처리 기술_클라우드 인프라 기술 part3_CPU 가상화 (0) | 2020.01.24 |
4-3 데이터 처리 기술_클라우드 인프라 기술 part2_서버 가상화 (0) | 2020.01.23 |
4-3 데이터 처리 기술_클라우드 인프라 기술 part1_클라우드 컴퓨팅 (0) | 2020.01.22 |
4-2 데이터 처리 기술_분산 컴퓨팅 기술 part3_SQL on 하둡(임팔라) (0) | 2019.12.23 |