Zoned Namespace SSD에서 LSM-tree 기반 키-값 저장소의 Compaction을 인지한 데이터의 Zone 배치 기법 연구
Compaction-Aware Zone Allocation for LSM-tree based Key-Value Store on Zoned Namespace SSD
- 주제어 (키워드) Zoned Namespace Solid State Drive , Log-structured Merge-tree based Key-Value Store
- 발행기관 서강대학교 일반대학원
- 지도교수 김영재
- 발행년도 2022
- 학위수여년월 2022. 2
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제 URI http://www.dcollection.net/handler/sogang/000000066651
- UCI I804:11029-000000066651
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권 보호를 받습니다.
초록 (요약문)
Zoned Namespace SSD gives applications control over the device by exposing its ZNS interface to the host. Therefore, the applications using ZNS SSD must be designed to perform data placement and free space reclamation - Zone Allocation and Zone Cleaning. Log-structured Merge-tree based persistent key-value store (LSM-KV Store) has been widely adopted as a storage engine for various NoSQL databases. Recently, ZenFS has been devised to optimize the LSM-KV Store for the ZNS SSD by adopting its own zone allocation and cleaning scheme. However, ZenFS fails to estimate the invalidation time of data from LSM-KV Store accurately so that it cannot effectively allocate to zones. We find out that zone allocation based on imprecise estimation of invalidation time leads to high Space Amplification and Write Amplification when combined with several zone cleaning schemes. This paper proposes Compaction-Aware Zone Allocation(CAZA), which precisely predicts the invalidation time of LSM-KV Store data and effectively allocates to zones. We note that data selected for the same Compaction job are deleted and thus invalidated in the device simultaneously. Our extensive evaluations show that CAZA shows lower Space Amplification and Write Amplification than ZenFS Allocation for each Zone Cleaning Scheme.
more초록 (요약문)
Zoned Namespace Solid State Drive(ZNS SSD)는 overwrite를 허용하지 않는 대신 순차쓰기만을 허용하는 zone 개념을 도입함으로써 기존 SSD의 FTL에서 수행하던 Garbage Collection(GC)을 별도로 수행하지 않는다. 대신 ZNS SSD를 이용하는 응용은 여유 공간 확보를 위해 어떤 zone을 지울지에 대한 Zone Cleaning을 직접 수행할 수 있다. 뿐만 아니라 응용은 Zone Cleaning시 수반되는 유효 데이터의 복사로 인한 Write Amplification을 줄이기 위해 자신이 생성한 데이터의 무효화 시점을 파악하여 동일한 무효화 시점을 가진 데이터를 같은 zone에 배치할 수 있다. 이처럼 ZNS SSD는 응용이 직접 데이터의 배치(Zone Allocation) 및 여유공간 확보(Zone Cleaning)를 직접 수행하게 함으로써 블록 인터페이스 기반의 SSD 사용에 따른 GC 오버헤드를 최소화 할 수 있게 되었다. 오늘날 다양한 NoSQL 데이터베이스의 스토리지 엔진으로 널리 사용되는 Log-structured Merge-tree 기반의 키-값 저장소(LSM-KV Store)는 순차 쓰기와 Compaction이라는 자체적인 Garbage Collection 기능을 갖추어 ZNS SSD를 사용하기에 적합한 응용으로 주목받고있다. 최신 연구인 ZenFS는 ZNS SSD에 LSM-KV Store 수행시 Zone Cleaning에 따른 Write Amplification을 최소화 위해 LSM-KV Store데이터의 LifeTime에 기반한 Zone Allocation 방식을 제안했다. 그러나 ZenFS의 LifeTime은 LSM-KV Store 데이터의 무효화 시점을 정확하게 반영하지 못하는 문제점을 가지고 있다. 본 연구는 ZenFS의 엄밀하지 못한 LSM-KV Store 데이터의 무효화 시점 예측에 따른 Zone Allocation이 이후 여유공간 확보를 위해 수행되는 여러 Zone Cleaning 기법에서 높은 Space Amplification과 Write Amplification을 수반한다는 것을 확인하였다. 이러한 오버헤드를 줄이기 위해 본 논문은 LSM-KV Store 데이터들이 함께 ZNS SSD에서 무효화되는 시점을 정확하게 예측하는 CAZA(Compaction-Aware Zone Allocation)를 제안한다. 우리는 LSM-KV Store에서 동일한 Compaction 작업의 대상으로 선택된 LSM-KV Store의 데이터들이 같은 시점에 삭제된다는 점에 주목하였다. 이에 CAZA는 데이터 생성 시점에 같은 Compaction의 대상이 될 데이터들이 쓰여진 zone에 해당 데이터를 배치함으로써 동일 zone에 쓰여진 데이터가 같은 시점에 무효화 되도록한다. 우리의 다양한 실험을 통해 CAZA가 기존 ZenFS의 Zone Allocation 기법에 비해 Greedy Zone Cleaning에서는 최대 7.4%더 낮은 Write Amplification을 수반하며, Extremely Lazy Zone Cleaning에서는 평균 15%더 낮은 Space Amplification을 보인다는 것을 확인하였다.
more

