[연구] 컴퓨터시스템 연구실 소프트웨어학과 김종석 학생(박사과정, 지도교수 서의성)의 "Z-Journal: Scalable Per-Core Journaling" 논문 발표
- 소프트웨어융합대학
- 조회수1259
- 2021-05-13
컴퓨터시스템 연구실 소프트웨어학과 김종석 학생(박사과정, 지도교수 서의성)의 "Z-Journal: Scalable Per-Core Journaling" 논문이 USENIX Annual Technical Conference 2021 학술대회(MS Academic 기준 OS 분야 2위)에서 발표될 예정입니다.
본 연구는 SSD의 성능이 계속해서 좋아지고 있지만, 여러 스레드가 동시에 쓰기를 수행하는 경우 파일시스템의 저널 계층에서 쓰기가 일렬로 모아져야 하는 현상으로 인해 실제 쓰기 성능이 개선되지 못하는 문제를 다루었습니다. 제안하는 해결책은 각 코어마다 독립적인 저널을 두고 이들 사이의 일관성을 유지할 수 있는 일관성 유지 모델을 제시하여, 최대 40배 이상의 쓰기 성능 향상을 통해 고성능 SSD 성능을 최대한 활용할 수 있음을 확인하였습니다.
[논문 정보]
Z-Journal: Scalable Per-Core Journaling
Jongseok Kim, Cassiano Campes, Jooyoung Hwang, Jinkyu Jeong, and Euiseong Seo
USENIX Annual Technical Conference, 2021
Abstract:
File system journaling critically limits the scalability of a file system because all simultaneous write operations coming from multiple threads must be serialized to be written to the journal area. Although a few scalable journaling approaches have been proposed, they required the radical redesign of file systems, or tackled only a part of the scalability bottlenecks. Per-core journaling, in which a core has its own journal stack, can clearly provide scalability. However, it requires a journal coherence mechanism because two or more cores can write to a shared file system block, so write order on the shared block must be preserved across multiple journals. In this paper, we propose a novel scalable per-core journal design. The proposed design allows a core to commit independently to other cores. The journal transactions involved in shared blocks are linked together through order-preserving transaction chaining to form a transaction order graph. The ordering constraints later will be imposed during the checkpoint process. Because the proposed design is self-contained in the journal layer and does not rely on the file system, its implementation, Z-journal, can easily replace JBD2, the generic journal layer. Our evaluation with FxMark, Sysbench and Filebench running on the ext4 file system in an 80-core server showed that it outperformed the current JBD2 by up to approx. 4000 %.