서지주요정보
NUMA-aware inter-VM communication mechanism in high performance computing = NUMA 특성을 고려한 고성능 컴퓨팅 환경에서의 가상 머신 간의 효율적인 통신 메카니즘에 관한 연구
서명 / 저자 NUMA-aware inter-VM communication mechanism in high performance computing = NUMA 특성을 고려한 고성능 컴퓨팅 환경에서의 가상 머신 간의 효율적인 통신 메카니즘에 관한 연구 / Min-Kyu Maeng.
저자명 Maeng, Min-Kyu ; 맹민규
발행사항 [대전 : 한국과학기술원, 2014].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8026446

소장위치/청구기호

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

MEE 14038

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

Virtualization is technique that virtualizes physical resources existing in a single physical machine and allocate resource to virtual machine. Virtualization is widely adopted in high performance computing environment such as clouding computer center because it has several advantages such as better resource utilization, flexible resource management, fault isolation and supporting for heterogeneous guest OS. MN-MATE is platform for efficient resource management in a system consists of manycore and non-volatile memory using virtualization technique. The target application of MN-MATE is scientific computation workload and simulation which are highly communication-intensive. Therefore, it is very important to improve inter-VM communication performance because inefficient communication performance can be bottleneck in MN-MATE platform. However, inefficient inter-VM communication performance can be bottleneck in high performance computing environment because of complex communication path and unnecessary packaging stack. To overcome such limitation, several researches have been proposed based on the fact that virtual machines share same physical hardware. Previous works mainly focus on eliminating complex path between two virtual machines during communication and replace it with direct memory copy using shared buffer between two VMs. These approaches are effective when system has limited number of resource, however scalability problem can occurs if number of resources increase. Recent HPC architecture such as Intel Nehalem adopt NUMA(Non-Uniform Memory Access) architecture to solve scalability problem when CPU accesses the memory. Instead of sharing a memory controller in whole physical machine, each node has its own local memory and memory controller to solve scalability problem. However, in NUMA architecture, communication performance can be changed by different shared memory position and memory contention overhead. If CPU and memory are placed in different node, there is additional memory access overhead compared to same node, and there is contention of memory controller and cache if there is high memory access in a node. To solve this problem, we suggest NUMA-aware buffer selection mechanism to adaptively select shared buffer position during communication to offer best performance. For that purpose, we use hardware profiling technique to measure each node`s memory controller usage to expect communication throughput for each buffer node placement. Secondly, we apply buffer pipelining technique to communication for efficient buffer usage. Thus, we have increased communication performance by 22.44\%. Moreover, in matrix multiplication benchmark in MN-MATE platform, we could acheive 11.74\% improvement in total application performance by improving inter-VM communication performance.

가상화(Virtualization)는 물리적으로 존재하는 컴퓨터 리소스를 여러 개의 가상화된 리소스로 분리해 제공하는 기술을 의미한다. 가상화는 리소스의 효율적인 활용, 유연한 자원 관리(Flexible resource management), 결함 분리(Fault isolation), 이종 OS의 지원 등 여러 이점을 제공해 클라우드 컴퓨팅 센터와 같은 실제 산업 현장에서 널리 사용되고 있는 추세이다. 2010년에 제안된 MN-MATE는 매니코어와 비휘발성 메모리로 구성된 고성능 컴퓨팅 환경에서 가상화 기술을 통해 자원을 효율적으로 관리하는 것을 목표로 하는 플랫폼이다. MN-MATE 플랫폼은 행력 곱셈과 같은 과학적인 workload를 대표적인 타겟으로 하여 이러한 workload의 동작 속도를 향상시키는 것을 목적으로 한다. 이러한 과학적인 workload의 경우 데이터의 양이 많아 통신의 성능이 전체 성능에서 큰 비중을 차지하게 된다. 그러나 가상화 환경에서의 복잡한 통신 경로로 인한 가상 머신간의 통신 속도 저하 문제로 인해 고성능 컴퓨팅에서의 활용이 제한되는 문제가 존재한다. 이러한 한계를 극복하기 위해 두 가상머신이 실제 같은 하드웨어를 공유한다는 특성을 이용한 연구가 진행되어왔다. 기존의 연구는 주로 두 가상 머신이 실제 물리적 메모리를 공유하여 이 메모리를 통해 데이터를 주고받는 방식을 채택하여 통신 속도를 향상시키는 방법을 제시하였다. 이 방식은 시스템이 제한된 숫자의 자원을 가질 경우에는 효과적이지만, CPU Core 수와 같은 자원의 숫자가 늘어날 경우 확장성에 문제를 가진다는 단점을 가지고 있다. Intel Nehalem과 같은 최신 HPC 구조에서는 CPU가 메모리에 접근할 때에 발생하는 확장성 문제를 해결하기위해 NUMA(Non-Uniform Memory Access)구조를 채택하였다. 이 방식은 메모리가 하나의 컨트롤러를 공유하는 대신, 각각의 노드가 자신의 메모리와 컨트롤러를 가짐으로써 확장성을 보장할 수 있다는 장점을 가진다. 그러나 위와 같은 NUMA 구조에서는 통신 버퍼로 사용되는 공유 메모리의 위치나 메모리 사용량에 따라 통신의 성능이 달라진다는 문제를 가지게 된다. CPU와 메모리가 다른 노드에 존재할 경우 CPU와 메모리가 같은 노드에 존재할 때보다 성능 저하가 발생하게 되며, 메모리 사용량이 많은 노드의 경우 메모리 컨트롤러와 캐시의 경합(Contention) 문제로 인해 성능 저하가 발생하게 된다. 이러한 문제점을 해결하기 위하여 본 논문에서는 첫째로, 현재 프로세스가 동작하고 있는 CPU에서 각 NUMA 노드 메모리에 접근하는 시간을 고려하여 통신 버퍼의 위치를 결정할 수 있게 하였다. 이를 위해 하드웨어 프로파일링 기술을 이용하여 각 노드별 메모리 사용량을 측정하여, 이를 통해 각 노드별 통신 시간을 예측할 수 있도록 하였다. 둘째로 통신 버퍼를 송신 프로세스와 수신 프로세스가 번갈아가며 사용하게 하는 대신, 파이프라인 기술을 이용해 효율적으로 데이터를 주고받을 수 있도록 하였다. 이 결과 기존 연구 대비 평균 22.44\%의 통신 속도 향상을 얻을 수 있었다. 또한 MN-MATE환경에서 matrix multiplication benchmark를 통한 성능 분석에서 평균 11.74\%의 성능 향상을 얻을 수 있었다.

서지기타정보

서지기타정보
청구기호 {MEE 14038
형태사항 vii, 55 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 맹민규
지도교수의 영문표기 : Kyu-Ho Park
지도교수의 한글표기 : 박규호
학위논문 학위논문(석사) - 한국과학기술원 : 전기및전자공학과,
서지주기 References : p. 49-50
주제 NUMA
inter-VM communication
shared memory
xen
virtual machine
불균일 기억 장치 접근
가상 머신 간의 통신
공유 메모리

가상 머신
QR CODE qr code