DOI QR코드

DOI QR Code

Persistent Page Table and File System Journaling Scheme for NVM Storage

비휘발성 메모리 저장장치를 위한 영속적 페이지 테이블 및 파일시스템 저널링 기법

  • Ahn, Jae-hyeong (Dept. of Computer Science and Engineering, University of Seoul) ;
  • Hyun, Choul-seung (Dept. of Computer Science and Engineering, University of Seoul) ;
  • Lee, Dong-hee (Dept. of Computer Science and Engineering, University of Seoul)
  • Received : 2019.03.06
  • Accepted : 2019.03.18
  • Published : 2019.03.31

Abstract

Even though Non-Volatile Memory (NVM) is used for data storage, a page table should be built to access data in it. And this observation leads us to the Persistent Page Table (PPT) scheme that keeps the page table in NVM persistently. By the way, processors have different page table structures and really operational page table cannot be built without virtual and physical addresses of NVM. However, those addresses are determined dynamically when NVM storage is attached to the system. Thus, the PPT should have system-independent and also address-independent structure and really working system-dependent page table should be built from the PPT. Moreover, entries of PPT should be updated atomically and, in this paper, we describe the design of PPT that meets those requirements. And we investigate how file systems can decrease the journaling overhead with the swap operation, which is a new operation created by the PPT. We modified the Ext4 file system in Linux and experiments conducted with Filebench workloads show that the swap operation enhances file system performance up to 60%.

최근에 소개된 비휘발성 메모리(Non-Volatile Memory)를 저장장치로 사용하는 경우에도 데이터를 접근하기 위해서는 페이지 테이블이 구축되어야 한다. 이 점에 착안하여 본 논문에서는 페이지 테이블 자체를 비휘발성 메모리에 유지하는 영속적 페이지 테이블 (Persistent Page Table) 기법을 설계한다. 실제 페이지 테이블의 구조는 프로세서마다 다르다. 또한 비휘발성 메모리의 물리주소와 가상주소는 종종 저장장치가 시스템에 연결되기 전까지 알 수 없기 때문에 연결 시점까지는 실제로 동작하는 페이지 테이블을 만들 수 없다. 따라서 영속적 페이지 테이블은 주소와 시스템으로부터 독립적인 구조를 가져야 하며, 저장장치가 동작하는 시점에 영속적 페이지 테이블을 기반으로 시스템 종속적인 페이지 테이블이 생성되어야 한다. 또한 영속적 페이지 테이블 엔트리는 원자적으로 변경되어야 하며, 본 논문에서는 이러한 영속적 페이지 테이블의 설계에 대해 설명한다. 다음으로 파일시스템이 영속적 페이지 테이블이 제공하는 교환 연산을 활용하여 저널링 오버헤드를 감소시킬 수 있음을 보인다. 교환 연산을 활용하도록 Linux Ext4 파일시스템을 변경하였으며, Filebench 워크로드를 이용한 성능 측정 결과를 보면 영속적 페이지 테이블과 교환 연산은 파일시스템의 성능을 최대 60% 향상시킨다.

Keywords

JGGJB@_2019_v23n1_80_f0001.png 이미지

Fig. 1. NVM Layout for Persistent Page Table. 그림 1. 영속적 페이지 테이블을 위한 NVM 레이아웃

JGGJB@_2019_v23n1_80_f0002.png 이미지

Fig. 2. Transaction records in L2P Log. 그림 2. L2P 로그에 기록되는 트랜잭션 항목들

JGGJB@_2019_v23n1_80_f0003.png 이미지

Fig. 3. Filebench performance of Ext4 using ordered mode. 그림 3. Ext4에서 ordered 모드일 때 Filebench 성능

JGGJB@_2019_v23n1_80_f0004.png 이미지

Fig. 4. Filebench performance of Ext4 using journaled mode. 그림 4. Ext4에서 Journaled 모드를 사용할 때 Filebench 성능

References

  1. S. Raoux, G. W. Burr, M. J. Breitwisch, C. T. Rettner, Y.-C. Chen, R. M. Shelby, M. Salinga, D. Krebs, S.-H. Chen, H.-L. Lung, and C. H. Lan, "Phase-change random access memory: A scalable technology," Journal of Vacuum Science & Technology B, vol. 28, no. 2, pp. 223-262, 2010. DOI: 10.1147/rd.524.0465
  2. S. Gao, J. Xu, B. He, B. Choi, and H. Hu, "PCMLogging: Reducing Transaction Logging Overhead with PCM," In Proc. of the 20th ACM International Conference on Information and Knowledge Management (CIKM 11), pp. 2401-2404, 2011. DOI: 10.1145/2063576.2063977
  3. T. Kawahara, "Scalable Spin-Transfer Torque RAM Technology for Normally-Off Computing," IEEE Design & Test of Computers, vol. 28, no. 1, pp. 52-63, 2011. DOI: 10.1109/MDT.2010.97
  4. L. Chua, "Resistance switching memories are memristors," Appied Physics A vol. 102, issue 4, pp. 765-783, 2011. DOI: 10.1007/s00339-011-6264-9
  5. P. Chi, S. Li, Z. Qi, P. Gu, C. Xu, T. Zhang, J. Zhao, Y. Liu, Y. Wang, and Y. Xie, "PRIME: A Novel Processing-In-Memory Architecture for Neural Network Computation in ReRAM-based Main Memory," in Proc. of ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA 16), 2016. DOI: 10.1109/ISCA.2016.13
  6. Intel. "3D XPoint Unveiled-The Next Breakthrough in Memory Technology," http://www.intel.com/con-tent/www/us/en/architecture-andtechnology/3d-xpoint-unveiled-video.html.
  7. V. Prabhakaran, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, "Analysis and Evolution of Journaling File Systems," in Proc. of USENIX Annual Technical Conference (ATC 05), pp. 106-120, 2005.
  8. S. Kannan, A. Gavrilovska, and K. Schwan, "pVM: Persistent Virtual Memory for Efficient Capacity Scaling and Object Storage," In Proc. of the European Conference on Computer Systems (EuroSys 16), pp. 13:1-13:16, 2016. DOI: 10.1145/2901318.2901325
  9. J.-Y. Jung and S. Cho, "Memorage: Emerging Persistent RAM based Malleable Main Memory and Storage Architecture," In Proc. of the ACM International Conference on Supercomputing (ICS 13), 2013. DOI: 10.1145/2464996.2465005
  10. J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson, "NV-Heaps: Making Persistent Objects Fast and Safe with Next-generation, Non-Volatile Memories," In Proc. of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 11), pp. 105-118, 2011. DOI: 10.1145/1950365.1950380
  11. H. Volos, A. J. Tack, and M. M. Swift, "Mnemosyne: Lightweight Persistent Memory," Proc. of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 11), pp. 91-104, 2011. DOI: 10.1145/1950365.1950380
  12. R.-S. Liu, D.-Y. Shen, C.-L. Yang, S.-C. Yu, C.-Y. M. Wang, "NVM duet: Unified Working Memory and Persistent Store Architecture," Proc. of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 14), pp. 455-470, 2014. DOI: 10.1145/2541940.2541957
  13. S. R. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, and J. Jackson, "System Software for Persistent Memory," In Proc. of the 9th European Conference on Computer Systems (EuroSys 14), pp. 15:1-15:15, 2014. DOI: 10.1145/2592798.2592814
  14. J. Xu and S. Swanson, "NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories," In Proc. of the 14th USENIX Conference on File and Storage Technologies (FAST 16), pp. 323-338, 2016.
  15. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee, "Better I/O Through Byte-Addressable, Persistent Memory," In Proc. of the Symposium on Operating Systems Principles (SOSP 09), pp. 133-146, 2009. DOI: 10.1145/1629575.1629589
  16. J. Ou, J. Shu, and Y. Lu, "A High Performance File System for Non-Volatile Main Memory," In Proc. of the 11th European Conference on Computer Systems (EuroSys 16), pp. 12:1-12:16, 2016. DOI: 10.1145/2901318.2901324
  17. S. Zheng, L. Huang, H. Liu, L. Wu, and J. Zha, "HMVFS: A Hybrid Memory Versioning File System," In Proc. of the 32nd Symposium on Mass Storage Systems and Technologies (MSST 16), 2016. DOI: 10.1109/MSST.2016.7897079
  18. H. Wan, Y. Lu, Y. Xu, and J. Shu, "Empirical Study of Redo and Undo Logging in Persistent Memory," In Proc. of the 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA 16), pp. 1-6, 2016. DOI: 10.1109/NVMSA.2016.7547178
  19. M. Liu, M. Zhang, K. Chen, X. Qian, Y. Wu, and J. Ren, "DudeTM: Building Durable Transactions with Decoupling for Persistent memory," In Proc. of the 22nd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 17), pp. 329-343, 2017. DOI: 10.1145/3037697.3037714
  20. A. Memaripour, A. Badam, A. Phanishayee, Y. Zhou, R. Alagappan, K. Strauss, and S. Swanson, "Atomic In-place Updates for Non-Volatile Main Memories with Kamino-Tx" In Proc. of the 12th European Conference on Computer Systems (EuroSys 17), pp. 499-512, 2017. DOI: 10.1145/3064176.3064215
  21. Y. Zhang, J. Yang, A. Memaripour, and S. Swanson, "Mojim: A Reliable and Highly-Available Non-Volatile Memory System," In Proc. of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 15), pp. 3-18, 2015. DOI: 10.1145/2694344.2694370
  22. W.-H. Kim, J. Kim, W. Baek, B. Nam, and Y. Won, "NVWAL: Exploiting NVRAM in Write-Ahead Logging," In Proc. of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 16), pp. 385-398, 2016. DOI: 10.1145/2872362.2872392
  23. C. Chen, J. Yang, Q. Wei, C. Wang, and M. Xue., "Optimizing File Systems with Fine-grained Metadata Journaling on Byte-addressable NVM," ACM Transactions on Storage, vol. 13, Issue 2, pp. 13:1-13:25, 2017. DOI: 10.1145/3060147
  24. J. Choi, J. Kim, and H. Han, "Efficient Memory Mapped File I/O for In-Memory File Systems," in Proc. of the 9'th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 17), 2017.
  25. V. Tarasov, E. Zadok, and S. Shepler, "Filebench: A Flexible Framework for File System Benchmarking," ;login: USENIX Magazine, vol. 41, no. 1, 2016.