Towards Scalable and Persistent R-Tree for Non-Volatile Memory-based Manycore Machines
비휘발성 메모리 기반 매니코어 머신을 위한 확장성있는 영속 R-Tree 연구
- 주제어 (키워드) Computer Science , Index data strucutre , Persistent Memory , Manycore Machines
- 발행기관 서강대학교 일반대학원
- 지도교수 김영재
- 발행년도 2022
- 학위수여년월 2022. 8
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제 URI http://www.dcollection.net/handler/sogang/000000066977
- UCI I804:11029-000000066977
- 본문언어 영어
- 저작권 서강대학교 논문은 저작권 보호를 받습니다.
초록
The emergence of manycore machines With hundreds of CPU cores spread over numerous CPU sockets, with Intel DC Persistent Memory (DCPM) promise to deliver excellent performance and scalability with persistence guarantees. DCPM offers byte-addressability, high density, persistency, and close to DRAM performance. Applications that run extensively on manycore machines include databases and file-system that manage user-generated data and rely heavily on indexes data structures for high performance. Over the last decade, multi-dimensional data structures, such as R-Trees, have gained special attention from academia and industry. FBR-Tree is a state-of-the-art DCPM-based multi-dimensional index data structure that extends R-tree's properties with failure atomicity and persistency. However, FBR-Trees' adoption on DCPM-based manycore machines suffers from scalability limitations due to lengthy, lock-based synchronization, including structural modification operations. In this work, I investigated that with the increase in CPU resources, i.e., when multiple threads are performing insert operation, trying to access the FBR-Tree, the lock contention among threads increases due to its lock-based design. To solve the abovementioned problem, I propose MPR-Tree, a manycore-aware persistent R-tree. MPR-Tree relies on Thread Local Future Object (TLFO) and R-Tree. First, MPR-Tree employs a fine-grained synchronization mechanism to cut off the critical section of FBR-Tree, I call this FBR-Tree-FG. For further optimization, I adopted a scalable friendly Future Object (FO), which guarantees high parallelism on the MPR-Tree in a delegation manner. Read and delete query performance reduces due to the additional layer of TLFOs. I adopted an in-memory hash table to diminish the performance constraints of such operations. I implemented the proposed ideas atop FBR-Tree and performed experiments on Linux (kernel v5.4.0) using synthetic workloads. I evaluated MPR-Tree with FBR-Tree and the results show that MPR-Tree outperforms FBR-Tree on average by 2x on the log10 scale with an increasing number of resources on the DCPM-based manycore machine.
more