NUMA 구조에서 확장성 및 성능향상을 위한 메모리 정책
A Memory policy for improving the scalability and performance in a NUMA-based Linux Servers
- 주제(키워드) 도움말 매니코어 , NUMA구조 , 파일시스템(tmpfs) , 리눅스 , 메모리배치 , 확장성 , 메모리 정책
- 발행기관 서강대학교 일반대학원
- 지도교수 박성용
- 발행년도 2016
- 학위수여년월 2016. 2
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제URI http://www.dcollection.net/handler/sogang/000000058816
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권보호를 받습니다.
초록/요약
프로세서의 코어 수는 점차 증가하는 추세이고, 현재는 4코어, 8코어가 널리 쓰이며, 서버 급에서는 20에서 60코어까지 사용되고 있다. 이와 같은 매니코어 환경은 기존의 SMP 구조가 아닌 각 노드별로 개인 메모리를 갖고 있는 NUMA 구조의 서버를 사용한다. NUMA 구조의 서버는 로컬과 리모트 메모리 액세스가 존재하고, 로컬 액세스에 비해 리모트 액세스가 더 낮은 성능을 보인다. 또한 리모트 메모리 액세스의 경우 접근하는 노드의 위치에 따라 성능의 차이가 발생하기 때문에 리모트 액세스를 할 때 최소의 노드를 거치도록 메모리를 배치해야한다. 본 논문은 파일시스템에서 NUMA 노드의 메모리에 페이지를 할당할 때 가장 높은 성능을 낼 수 있는 최적의 노드에 배치하는 메모리 배치 정책을 제안한다. 제안된 기법은 현재 노드에 메모리 할당이 불가능한 경우 후보 노드의 남은 메모리 공간, 노드까지 걸리는 지연 시간, 노드의 코어 수를 이용하여 메모리가 배치될 가장 적절한 노드의 위치를 찾아준다. 본 논문에서는 Intel 기반의 NUMA 구조의 서버 위에서 노드 간 자원을 고려한 메모리 배치 기법을 리눅스 커널에 구현하였고, 제안된 기법이 확장성, 기본적인 Read와 Write I/O에서 성능이 향상되는 것을 확인하였다.
more초록/요약
The trend in processor development has been towards an ever increasing number of cores. Currently 4 core and 8 core processor are widely used, and 20~60 core processors are used for server computers. This kind of manycore environment uses the sever with NUMA architecture, not with SMP architecture. Under NUMA, each nodes(processors) have its own local memory and can access it faster than non-local memory(remote memory, memory local to another processor or memory shared between processors). Moreover, in case of remote memory access, the performance depends on the location of target node and current state. Therefore, for performance improvement in remote memory access, memory should be deployed to pass through minimum-hop. This paper suggests the memory allocation policy to search the optimum node for highest performance and allocate a page to the node when filesystem allocates the page to local memory of NUMA node. When current node is unable to access its local memory, the proposed policy searches the location of the most appropriate node for page allocation by using the available memory space of the node, the delay time to access the node, and the number of cores of the node. This paper implements the memory policy which considers the resources between the nodes on the Intel NUMA server, and validates the performance improvement in basic Read and Write I/O by using the proposed policy.
more