Abstract
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 %.
Original language | English |
---|---|
Title of host publication | 2021 USENIX Annual Technical Conference |
Publisher | USENIX Association |
Pages | 893-906 |
Number of pages | 14 |
ISBN (Electronic) | 9781939133236 |
Publication status | Published - 2021 |
Event | 2021 USENIX Annual Technical Conference, ATC 2021 - Virtual, Online Duration: 2021 Jul 14 → 2021 Jul 16 |
Publication series
Name | 2021 USENIX Annual Technical Conference |
---|
Conference
Conference | 2021 USENIX Annual Technical Conference, ATC 2021 |
---|---|
City | Virtual, Online |
Period | 21/7/14 → 21/7/16 |
Bibliographical note
Publisher Copyright:© 2021 USENIX Annual Technical Conference. All rights reserved.
All Science Journal Classification (ASJC) codes
- General Computer Science