File system journaling critically limits the scalability of a file system because all simultaneous write operations coming from multiple cores 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 %.
|Title of host publication||2021 USENIX Annual Technical Conference|
|Number of pages||14|
|Publication status||Published - 2021|
|Event||2021 USENIX Annual Technical Conference, ATC 2021 - Virtual, Online|
Duration: 2021 Jul 14 → 2021 Jul 16
|Name||2021 USENIX Annual Technical Conference|
|Conference||2021 USENIX Annual Technical Conference, ATC 2021|
|Period||21/7/14 → 21/7/16|
Bibliographical noteFunding Information:
This research was supported by Samsung Electronics, and by the Institute of Information and Communications Technology Planning and Evaluation funded by the Ministry of Science and ICT (MSIT), Korean Government, (Research on High Performance and Scalable Manycore Operating System) under Grant 2014-3-00035.
© 2021 USENIX Annual Technical Conference. All rights reserved.
All Science Journal Classification (ASJC) codes
- Computer Science(all)