DOI QR코드

DOI QR Code

Garbage Collection Technique for Non-volatile Memory by Using Tree Data Structure

트리 자료구조를 이용한 비 휘발성 메모리의 가비지 수집 기법

  • 이도근 (한양대학교 컴퓨터소프트웨어학과) ;
  • 원유집 (한양대학교 컴퓨터소프트웨어학과)
  • Received : 2015.07.23
  • Accepted : 2015.10.28
  • Published : 2016.02.15

Abstract

Most traditional garbage collectors commonly use the language level metadata, which is designed for pointer type searching. However, because it is difficult to use this metadata in non-volatile memory allocation platforms, a new garbage collection technique is essential for non-volatile memory utilization. In this paper, we design new metadata for managing information regarding non-volatile memory allocation called "Allocation Tree". This metadata is comprised of tree data structure for fast information lookup and a node that holds an allocation address and an object ID pair in key-value form. The Garbage Collector starts collecting when there are insufficient non-volatile memory spaces, and it compares user data and the allocation tree for garbage detection. We develop this algorithm in a persistent heap based non-volatile memory allocation platform called "HEAPO" for demonstration.

비 휘발성 메모리를 할당받아 사용하기 위해서는 비 휘발성 메모리 전용의 가비지 수집 기법이 필수적이다. 본 논문에서는 이를 위해 비 휘발성 메모리 할당 정보 관리용 메타데이터를 설계하였고 이를 Allocation Tree라고 명명하였다. 이 메타데이터는 검색 속도의 향상을 위해 트리 자료구조를 이용하여 구성되었고, 하나의 노드 안에는 할당 메모리 시작 주소와 저장소 ID 정보가 키-밸류 형태로 저장된다. 비 휘발성 메모리 공간이 부족하여 가용 공간이 70% 이하로 떨어지면 가비지 수집기가 작동되어 가비지 수집을 수행하게 되고 Allocation Tree와 사용자 데이터를 비교하여 가비지를 판정한다. 본 연구에서는 이 알고리즘을 Persistent Heap기반의 메모리 할당 플랫폼인 'HEAPO'에서 구현하여 정상적으로 동작함을 증명하였다.

Keywords

Acknowledgement

Grant : 차세대 메모리 기반의 스마트 디바이스용 임베디드 시스템 소프트웨어

Supported by : 한국산업기술평가관리원

References

  1. Dearle, A., Rosenberg, J., and Henskens, F., "An examination of operating system support for persistent object systems," Proc. of Twenty-fifth Annual Hawaii International Conference on System Sciences, 1992, Hawaii.
  2. T. Hwang, J. Jung, and Y. Won, "HEAPO: Heapbased Persistent Object Store," ACM Transactions on Storage, Vol. 11, Issue 1, Dec. 2014.
  3. B. C. Lee, E. Ipek, O. Mutlu, and D. Burger, "Architecting Phase Change Memory as a Scalable DRAM Alternative," ISCA 09: The 36th International Symposium on Computer Architecture, 2009.
  4. S. S. Eaton, D. B. Butler, M. parris, D. Wilson, and H. Mcneillie, "A ferroelectric nonvolatile memory," IEEE International Solid-State Circuits Conference, 1988.
  5. H. Yiming, "Spin-transfer torque MRAM (STTMRAM): Challenges and prospects," AAPPS Bulletin 18.6 (2008): 33-40.
  6. "The new microcontrollers with on-chip non-volatile memory ReRAM," (Press release). Panasonic. May 15, 2012. Retrieved May 16, 2012.
  7. I. Jantunen, J. Hamalainen, T. Korhonen, H. Kaaja, J. Jantunen, and S. Boldyrev, "System architecture for mobile-phone-readable RF memory tags," Proc. of UBICOMM, 2010.
  8. A. Akel, A. M. Caulfield, T. I. Mollov, R. K. Gupta, and S. Swanson, "Onyx: A prototype phase change memory storage array," Proc. of Workshop on Hot Topics in Storage and File Systems (HotStorage '11), 2011.
  9. Z. Liu, B. Wang, P. Carpenter, D. Li, J. S. Vetter, and W. Yu, "PCM-based durable write cache for fast disk I/O," Proc. of International Symposium on Modeling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS'12), 2012.
  10. M. K. Qureshi, V. Srinivasan, and J. A. Rivers, "Scalable high performance main memory system using phase-change memory technology," ACM SIGARCH Comput. Archit. News, 37, 3 (June 2009). 24-33. https://doi.org/10.1145/1555815.1555760
  11. Y. M. Kang, H. J. Joo, J. H. Park, S. K. Kang, J. H. Kim, S. G. Oh, H. S. Kim, Y. J. Kang, J. Y. Jung, D. Y. Choi, and others, "World smallest 0.34/spl mu/m- COB cell 1T1C 64Mb FRAM with new sensing architecture and highly reliable MOCVD PZT integration technology," Proc. of Symposium on VLSI Technology, 2006.
  12. M. John, "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I," Communication of the ACM 3.4(1960): 184-195, 1960. https://doi.org/10.1145/367177.367199
  13. T. Ugawa, R. E. Jones, and C. G. Ritson, "Reference object processing in on-the-fly garbage collection," Proc. of the 2014 international symposium on Memory management, ACM, 2014.
  14. K, Wolfgang, "Mapping objects to tables," Proc. of European Conference on Pattern Languages of Programming and Computing, Kloster Irsee, Germany, Vol. 206, 1997.
  15. J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson. 2011, "Nv-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories," Proc. of International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'11), 2011.
  16. H. Volos, A. J. Tack, and M. M. Swift. "Mnemosyne: Lightweight persistent memory," Proc. of International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'11), 2011.
  17. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee, "Better I/O through byte-addressable, persistent memory," Proc. of the ACM SIGOPS Symposium on Operating Systems Principles (SOSP'09), 2009.
  18. X. Wu and A. L. N. Reddy, "SCMFS: A file system for storage class memory," Proc. of International Conference for High Performance Computing, Networking, Storage and Analysis (SC'11), 2011.
  19. J. Guerra, L. Marmol, D. Campello, C. Crespo, R. Rangaswami, and J. Wei. 2012, "Software persistent memory," Proc. of USENIX Annual Technical Conference (ATC), 2012.
  20. S. R. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, and J. Jackson, "System software for persistent memory," Proc. of the Ninth European Conference on Computer Systems, ACM, 2014.
  21. F. Chen, M. P. Mesnier, and S. Hahn, "A Protected Block Device for Persistent Memory," Proc. of the 2014 IEEE Symposium on Mass Storage Systems and Technologies (MSST '14), Santa Clara, California, Jun. 2014.
  22. J. Jung, Y. Won, E. Kim, H, Shin, and B. Jeon, "FRASH: Exploiting storage class memory in hybrid file system for hierarchical storage," ACM Transactions on Storage, volume:6, number: 1, pp. 1-25, Mar. 2010.
  23. P. Felber, F. Christof, and R. Torvald, "Dynamic performance tuning of word-based software transactional memory," Proc. of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, ACM, 2008.