Browse

효과적인 RDMA 기반의 분리된 메모리 풀 시스템 구축을 위한 구성 요소에 따른 특성 연구
Characteristics study according to the components for building an effective RDMA-based disaggregated memory pool system

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors
정현태
Advisor
안정호
Issue Date
2022
Publisher
서울대학교 대학원
Keywords
분리된 메모리 풀 시스템Remote Direct Memory Access (RDMA)비휘발성 메모리대용량 데이터Mapping table소프트웨어 솔루션
Description
학위논문(석사) -- 서울대학교대학원 : 융합과학기술대학원 지능정보융합학과, 2022.2. 안정호.
Abstract
The advent of next-generation non-volatile memory (NVM), the development of next-generation interconnection technology, and the activation of high-performance network technologies such as Remote Direct Memory Access (RDMA) allow remote server memory to be accessed with relatively low overhead. Accordingly, it became possible to configure a Disaggregated Memory Pool System in which a large number of servers for computation share a large amount of remote memory located outside a single server.
Most of the separate memory pool systems and related existing studies suggested optimization methods focusing on one specific element among the interconnection technology that connects the computational server and the memory pool, the types of memory devices constituting the memory pool, and A solution to manage the entire system in terms of hardware or software and utilize the system at the same time. Since these factors can all significantly affect the performance and behavior of a system depending on the detailed implementation and combination of these factors, it is essential not only to implement each well but also to select and combine them properly, but standards that are still universally known as appropriate does not exist
In this paper, we investigate the effect of the major components constituting the above-mentioned disaggregated memory pool system on system performance through experiments, and based on this, we propose an effective method of constructing a disaggregated memory pool system. To this end, an RDMA-based testbed system that simulates a disaggregated memory pool system consisting of one server for computation and one server for memory was constructed. In addition, we implemented a software-based solution that manages the system and helps applications utilize the disaggregated memory pool system more effectively. At this time, in the testbed system, the local memory of the server for computation serves as a cache for the server for memory. And the software-based solution utilizes a structure called mapping table so that the application can utilize the disaggregated memory pool system without modifying the code or system. The mapping table has information that maps memory addresses in the server for calculation and the server for memory. And it manages the memory between the two servers according to memory allocation, release, and access from the server for computation to the server for memory. Based on the testbed system and solution constructed in this way, an experiment was performed in which several page access patterns and page replacement algorithms were applied.
As a result, it was confirmed that even if Intel Optane DC Persistent Memory, which is NVM, is used as the memory device constituting the memory pool, the maximum decrease in system performance is about 3.1% compared to the case of using DRAM, which is not large. Through this, it was confirmed that NVM can be utilized to construct a separate memory pool system. As a result of analyzing the performance analysis according to the solution implementation characteristics, it was confirmed that the location of the mapping table did not significantly affect the system performance when the same RDMA operation was used. However, considering the additional overhead that may occur in the synchronization process between mapping tables existing in each server for calculation in the actual system, it is expected that it is better to be located on the server side for memory. And when different RDMA operations are used, the implementation in which the mapping table is managed by the operation server and the appropriate RDMA operation is used showed an average performance improvement of about 27% compared to the implementation in which the memory server manages the mapping table. In addition, when replacing pages from the local memory of the server for computation, when the solution used the LFU-based algorithm as the page replacement algorithm, it showed an average performance improvement of 15% compared to the case where the LRU algorithm was used. Through this, it was confirmed that additional performance improvement is possible when an algorithm suitable for application page access characteristics is used.
차세대 비휘발성 메모리 (Non-Volatile Memory, NVM)의 등장, 차세대 인터커넥션 기술의 개발, 그리고 Remote Direct Memory Access (RDMA)와 같은 고성능 네트워크 기술의 활성화는 원격 서버의 메모리를 상대적으로 적은 오버헤드로 접근할 수 있게 하였다. 이에 따라 단일 서버 외부에 위치한 대용량의 원격 메모리를 다수의 연산용 서버들이 공유하는 분리된 메모리 풀 시스템(Disaggregated Memory Pool System)의 구성이 가능하게 되었다.
대부분의 분리된 메모리 풀 시스템 및 관련 기존 연구들은 시스템을 구성하는 요소들 중에서도, 연산용 서버와 메모리 풀을 연결하는 인터커넥션 기술, 메모리 풀을 구성하는 메모리 디바이스의 종류, 분리된 메모리 풀 시스템 전반을 하드웨어 또는 소프트웨어 측면에서 관리하고 동시에 시스템을 활용하기 위한 솔루션 중 특정 하나의 요소에 중점을 두고 최적화 방안을 제시하였다. 해당 요소들은 세부적인 구현 및 조합에 따라 모두 시스템의 성능 및 동작 방식에 큰 영향을 줄 수 있기 때문에, 각각을 잘 구현하는 것 뿐만 아니라 적절히 선택 및 조합하는 것이 필수적이지만, 아직 보편적으로 적절하다고 알려진 표준은 존재하지 않는다.
본 논문에서는 실험을 통해 앞서 언급한 분리된 메모리 풀 시스템을 구성하는 주요 구성 요소들이 시스템 성능에 미치는 영향을 알아보고, 이를 바탕으로 효과적인 분리된 메모리 풀 시스템 구축 방법을 제안한다. 이를 위해 연산용 서버, 메모리용 서버 각 1대로 이루어진, 분리된 메모리 풀 시스템을 모사한 RDMA 기반의 testbed 시스템을 구축하고, 시스템을 관리하고 application이 분리된 메모리 풀 시스템을 보다 효과적으로 활용할 수 있도록 도와주는 소프트웨어 기반의 솔루션을 구현하였다. 이 때, testbed 시스템은 연산용 서버의 로컬 메모리가 메모리용 서버의 캐시 역할을 수행하며, 소프트웨어 기반의 솔루션은 application이 코드 및 시스템 수정없이 분리된 메모리 풀 시스템을 활용할 수 있도록 mapping table이라는 구조체를 활용한다. Mapping table은 연산용 서버와 메모리용 서버에서의 메모리 주소를 mapping한 정보를 가지고 있으며, 연산용 서버에서 메모리용 서버로의 메모리 할당 및 해제, 그리고 접근에 따른 두 서버 사이의 메모리를 관리한다. 이렇게 구축한 testbed 시스템 및 솔루션을 바탕으로 여러 페이지 접근 패턴 및 페이지 교체 알고리즘을 적용한 실험을 수행하였다.
그 결과, 메모리 풀을 구성하는 메모리 디바이스로 NVM인 Intel Optane DC Persistent Memory를 활용하더라도 DRAM을 활용한 경우 대비 시스템의 성능 최대 하락 폭이 약 3.1%로 그 폭이 크지 않음을 확인하였고, 이를 통해 분리된 메모리 풀 시스템 구축을 위해 NVM 활용이 가능하다는 것을 확인하였다. 솔루션 구현 특성에 따른 성능 분석을 분석 결과, mapping table의 위치와 별개로, 동일한 RDMA 연산을 활용하는 경우에는 mapping table의 위치가 시스템의 성능에 큰 영향을 주지 않으나, 실제 시스템에서 각 연산용 서버에 존재하는 mapping table 사이의 동기화 과정에서 발생할 수 있는 추가적인 오버헤드를 고려하면 메모리용 서버 측에 위치하는 것이 더 좋을 것으로 예상된다. 그리고 서로 다른 RDMA 연산을 사용할 경우, mapping table을 연산용 서버가 관리하며, 이에 맞는 RDMA 연산을 활용한 구현이 메모리용 서버가 mapping table을 관리하도록 한 구현보다 평균 약 27%의 성능 향상을 보였다. 또한, 연산용 서버의 로컬 메모리로부터의 페이지 교체 시, 솔루션이 페이지 교체 알고리즘으로 LFU 기반 알고리즘을 사용하였을 때 LRU 알고리즘을 사용한 경우보다 평균 15%의 성능 향상을 보였으며, application 페이지 접근 특성에 맞는 알고리즘을 사용할 경우 추가적인 성능 향상 또한 가능함을 확인하였다.
Language
kor
URI
https://hdl.handle.net/10371/183678

https://dcollection.snu.ac.kr/common/orgView/000000169157
Files in This Item:
Appears in Collections:
Graduate School of Convergence Science and Technology (융합과학기술대학원)Dept. of Intelligence and Information (지능정보융합학과)Theses (Master's Degree_지능정보융합학과)
  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Browse