서지주요정보
Memory power-aware virtual machine scheduling = 메모리 전력 소모를 고려한 가상 기계 스케줄링 방법
서명 / 저자 Memory power-aware virtual machine scheduling = 메모리 전력 소모를 고려한 가상 기계 스케줄링 방법 / Jae-Wan Jang.
저자명 Jang, Jae-Wan ; 장재완
발행사항 [대전 : 한국과학기술원, 2010].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8022049

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 10037

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

Recent technology advance in hardware and software resurrects the virtualization era. Especially, server consolidation using virtualization is widely employed in large-scale computing facilities and data centers. Increasing energy consumption in server consolidation environments leads to high maintenance costs as well as environmental problems. Main memory, no less than processor, is a major energy consumer in this environment. DRAM is used as main memory for most of computer systems currently available. The DRAM hardware already provides power-saving functionality. Using this feature, several previous researches successfully save energy consumed in the DRAM. This paper proposes a technique for reducing memory energy consumption using virtual machine scheduling in multi-core systems. Previously, in a single processor system, a virtual machine runs at a specific time and the memory used by the virtual machine is the only source of memory energy consumption. The appearance and popularity of multi-core systems, however, introduce additional problems in reducing memory energy consumption; several virtual machines simultaneously run on each processor core and the memory energy consumption is the aggregated memory energy used by all these virtual machines. Thus, it is a challenging issue to schedule virtual machines that access as many same memory nodes as possible in order to save more memory energy. We devise several heuristic scheduling algorithms such as BVF, BCSF, BNF, and COMB. A memory power simulator called MPSim is designed and implemented. In the simulation results, we observe that our memory power management effectively saves memory power. We also find out that more memory energy savings are gained as 1) system size increases, 2) the memory nodes used by a virtual machine decreases, and 3) the more number of virtual machines are consolidated. Among the devised algorithms, BCSF shows the best energy saving performance in the most simulation configurations. Especially, BCSF saves memory energy by up to 57.4% compared to the conventional system that does not exploit memory power management features. In addition, we find out that power-aware memory management is essential to reduce the memory energy consumption. We also implement the BCSF scheduling algorithm in the working server system. Simulation and implementation results are comparable. In the working system, scheduling overhead due to BCSF is insignificant and does not affect the overall system performance. Also, fairness of BCSF is similar to that of the credit scheduler of Xen. In the implementation results, BCSF saves memory energy by up to 47% compared to the conventional systems not using memory power management functionalities. From the implementation, we discover that the shared memory affects the memory energy saving performance. We suggest an optimized way to share memory to save memory power.

가상화 기술은 1960년대와 1970년대 초에 고성능 메인 프레임 컴퓨터에 널리 쓰이던 기술이다. 가상화 기술은 이런 컴퓨터에 여러 대의 컴퓨터를 사용하는 듯한 환경을 만들어주었고, 많은 사용자들은 이런 환경 속에서 편리하게 작업을 할 수 있었다. 그러나 하드웨어가 발전하면서 가격은 낮으면서도 성능이 좋은 워크스테이션이나 개인용 컴퓨터가 나오자, 굳이 가상화 기술을 이용하지 않더라도 자신 만의 작업 환경을 쉽게 만들어 쓸 수 있게 되었다. 이렇게 하드웨어는 꾸준히 발전해서, 최근에 만날 수 있는 하드웨어는 과거 메임 프레임 컴퓨터 이상의 성능을 가지고 있다. 그리고 인터넷이 발전하면서 사용할 수 있는 서비스의 양도 폭발하듯 늘어나고 있으며, 이런 서비스를 제공하기 위한 컴퓨팅 환경도 매우 커지고 있다. 이렇게 컴퓨팅 환경이 변하면서 가상화 기술이 다시 각광을 받고 있다. 가상화 기술은 특히 대규모 컴퓨팅 환경이나 데이터 센터 등에서 서버 통합을 할 때 널리 쓰인다. 컴퓨팅 환경이 커지면서 컴퓨터의 수는 기하급수같이 증가하였고, 이렇게 늘어난 컴퓨터를 유지하는데는 전기료, 고장 수리 비용 같은 관리 비용이 컴퓨터를 사는 비용보다 더 커지고 있다. 이와 같은 컴퓨팅 환경에 가상화 기술을 쓰게 되면, 기존 컴퓨터를 가상 기계로 바꾸어 컴퓨터 하나에 여러 가상 기계를 운영할 수 있게 되고 실제 운영하는 컴퓨터의 수가 줄어들게 되어 관리 비용을 상당히 줄일 수 있는 장점이 있다. 점점 더 폭발하듯 늘어나는 서비스 요청을 때문에 가상화 기술을 이용하더라도 여전히 대규모 컴퓨팅 환경에서의 에너지 문제는 매우 심각하다. 특히 에너지 문제는 데이터 센터의 관리 비용도 늘게 만들지만 전세계에서 나타나는 온난화 현상과 같은 많은 환경 문제와도 밀접한 관계가 있다. 그래서 컴퓨팅 환경에서 에너지를 덜 쓰게 만들고자 많은 연구가 진행되고 있다. 특히 컴퓨터 여러 부품 중에는 중앙처리장치(씨피유)가 가장 전기를 많이 쓴다고 알려져 있기에, 중앙처리장치가 전기를 덜 쓰게 하는 연구가 주로 진행되고 있다. 하지만, 대용량 서버에는 중앙처리장치 못지 않게 메모리도 전기를 많이 쓴다는 보고가 많다. 그래서 대용량 서버의 에너지 사용량을 줄이기 위해서는 메모리의 에너지 사용량을 잘 조절하는 것이 매우 필요하다. 메모리도 다른 컴퓨터 부품들처럼 자체적으로 에너지 사용량을 줄일 수 있는 방법을 가지고 있다. 메모리는 많은 작은 부품들로 이루어져 있는데 이 부품 중 일부는 꺼 두어도 저장된 데이터를 유지면서도 에너지를 덜 쓰게 할 수가 있다. 이런 성질을 이용해서 컴퓨터 운용 중간에 쓰지 않는 메모리는 꺼두면 메모리에서 쓰이는 에너지를 줄일 수 있다. 서버 통합 환경에서는 보통 여러 가상 기계들이 동작하는데, 각 가상 기계들마다 일정한 양의 메모리를 받아서 쓰게 된다. 이 메모리는 서로 겹쳐서 쓰이지 않고, 한번 어느 가상 기계가 그 메모리를 쓰게 되면, 그 메모리는 항상 그 가상 기계만 쓰게되는 특성이 있다. 그렇기 때문에 어느 가상 기계가 수행하기 시작하면 그 가상 기계가 쓰는 메모리만 켜두고 나머지 메모리는 꺼두면 메모리에서 쓰이는 에너지를 줄일 수가 있다. 컴퓨터의 주 메모리는 여러 노드로 나누어져 있다. 그래서 실제 메모리를 끄려면 이 노드 단위로 꺼야 한다. 예를 들어, 가상 기계가 1번 노드의 2MB만 쓰고 있다고 하더라도 그 노드 전체를 켜야한다. 하지만 가상 기계 두 개가 이 1번 노드를 동시에 쓰고 있다고 하더라도 앞의 경우보다 에너지를 더 많이 쓰는 건 아니다. 이러한 특성을 잘 이해해서 메모리를 잘 쓰는 것이 필요하다. 예전에 쓰던 단일 프로세서 환경에서는 어느 순간에 동작하는 가상 기계가 딱 하나만 있다. 그렇기 때문에 그 가상 기계가 쓰는 메모리가 쓰는 에너지가 전체 에너지 소모량이 된다. 하지만 최근에 나오는 멀티 코어 환경에서는 여러 가상 기계가 동시에 한 컴퓨터에서 동작한다. 그러면 전체 메모리 소모량은 이 여러 가상 기계가 쓰는 메모리들 각각의 에너지 소모량을 모두 더해야 한다. 그렇기 때문에 메모리의 에너지 소모를 줄이기 위해서는 그 순간에 같이 동작하는 가상 기계들이 가능하면 같은 메모리 노드를 쓰도록 하는 것이 필요하다. 이 연구에서는 가상 기계의 스케쥴링을 써서 이렇게 같은 메모리 노드를 쓰게 만들어서 에너지 소모를 줄이는 방법을 다룬다. 이 연구는 가장 먼저 기존 가상 기계 관리자에 메모리 에너지 관리에 필요한 기능을 뽑아냈다. 메모리 에너지 관리의 기본은 각 가상 기계가 쓰고 있는 메모리 노드를 알아내고, 그 가상 기계가 스케쥴되어 수행되기 전에 그 가상 기계가 써야 할 메모리 노드를 켜는 것이다. 그리고 이런 기본 바탕 위에 가상 기계 스케쥴링을 해서 메모리 에너지를 줄일 수가 있다. 이런 방식으로 가상 기계를 스케쥴해서 메모리에서 가장 적은 에너지를 쓰게 만드는 문제는 NP-Complete 문제다. 이 연구에서는 여러 다양한 최선의 알고리즘을 만들었다. 이 알고리즘들이 실제 환경에서 얼마나 에너지를 잘 줄일 수 있는지 시뮬레이션 실험을 하였다. 가능한 한 실제 상황에 비슷하게 실험하기 위해서, 많은 시뮬레이션 변수들을 실제 가상화 환경에서 모아서 썼다. 시뮬레이션 실험 결과, - 이 연구에서 제안한 메모리 관리 구조만 쓰고 스케쥴링 알고리즘을 쓰지 않더라도 상당히 많은 에너지 소모를 막을 수 있었다. - 시스템이 커져서 메모리가 클 수록 더 많은 에너지를 줄일 수 있었다. - 가상 기계 하나가 쓰는 메모리 노드가 적을 수록 에너지를 더 많이 줄일 수 있었다. - 컴퓨터 하나에 가상 기계를 더 많이 동작시킬 수록 에너지를 더 많이 줄일 수 있었다. - 개발한 알고리즘 중에서 BCSF 알고리즘이 대부분 상황에서 에너지를 가장 많이 줄였다. 시뮬레이션에서 가장 좋은 성능을 보인 BCSF 알고리즘을 실제 가상 기계 관리자인 Xen에 구현하여서 시뮬레이션과 같은 환경에서 에너지 소모를 재어 보았다. 시뮬레이션 결과와 비슷한 결과를 얻었으며, BCSF 알고리즘을 써서 전체 에너지 소모의 약 47%, 알고리즘을 쓰지 않고 에너지 관리 구조만 쓴 경우에 비해서도 약 12%를 더 줄일 수 있었다. 그리고 BCSF 스케쥴링 알고리즘은 실제 사용하기에도 매우 가벼웠으며, 스케쥴링 공평성도 Xen의 크레디트 스케쥴링 방법과 비교해서 같은 수준을 가지고 있었다. 다만 BCSF 알고리즘을 사용하면 순간적으로 가상 기계 수행 순서가 바뀔 수 있기 때문에 가상 기계의 반응성이 떨어지는 문제가 있기도 하다. 그러나 BCSF 알고리즘을 이용하면 메모리에서 소모되는 에너지를 상당히 줄일 수 있기 때문에, 이러한 단점은 충분히 감출 수 있다. 마지막으로 공유메모리가 메모리 에너지에 어떤 영향을 주는지를 살펴보았다. 이 부분은 시뮬레이션으로 측정할 수 없는 부분이었는데 BCSF 알고리즘을 실제로 구현해서 실험하면서 측정해 보았다. 예상대로 공유메모리 때문에 가상 기계가 쓰는 메모리 노드가 늘어나게 되었고, 메모리가 소모하는 에너지도 약간 늘어나게 되었다. 하지만 메모리 공유 방식을 바꾸면 이렇게 늘어나는 에너지를 매우 많이 줄일 수 있음을 알 수 있었다.

서지기타정보

서지기타정보
청구기호 {DCS 10037
형태사항 viii, 71 p. : 삽도 ; 26 cm
언어 영어
일반주기 저자명의 한글표기 : 장재완
지도교수의 영문표기 : Seung-Ryoul Maeng
지도교수의 한글표기 : 맹승렬
학위논문 학위논문(박사) - 한국과학기술원 : 전산학과,
서지주기 References: p. 67-71
주제 virtualization
scheduling
memory power
가상화
스케줄링
메모리 파워
QR CODE qr code