DOI QR코드

DOI QR Code

Multi-core Scalable Real-time Flash Storage Simulation

멀티 코어 확장성을 제공하는 실시간 플래시 저장장치 시뮬레이션

  • 이현규 (서울대학교 컴퓨터공학부) ;
  • 민상렬 (서울대학교 컴퓨터공학부) ;
  • 김강희 (숭실대학교 스마트시스템소프트웨어학과)
  • Received : 2016.12.27
  • Accepted : 2017.02.28
  • Published : 2017.06.15

Abstract

As NAND flash storage is being widely used, its simulation methodologies have been studied in various aspects such as performance, reliability, and endurance. As a result, there have been advances in NAND flash storage simulation for both functional modeling and timing modeling. However, in addition to these advances, there is a need to drastically reduce the long simulation time that is required to evaluate the aging effect on flash storage. This paper proposes a so-called multi-core scalable real-time flash storage simulation method, which can control the simulation speed according to the user's preference. According to this method, it is possible to speed up the simulation in proportion to the number of CPU cores arbitrarily given while guaranteeing the correctness of the simulation result. Using our simulator implemented in the form of the Linux kernel module, we demonstrate the multi-core scalability and correctness of the proposed method.

플래시 저장 장치가 저장 장치로서 널리 사용되면서 성능, 신뢰성, 견고성 등 여러 가지 측면에서 검증이 필요하여 시뮬레이션 방법론이 다양하게 연구되어 왔다. 그 결과 최근까지 플래시 저장장치 시뮬레이터는 기능적 모델링과 시간적 모델링 관점에서 많은 발전이 있었다. 그러나 이러한 발전에도 불구하고 플래시 저장장치의 노화 효과를 평가하기 위해서는 장시간의 테스트 시간을 대폭 단축할 수 있는 방법이 필요하다. 본 논문은 사용자 설정에 따라 시뮬레이션 속도를 자유롭게 조절할 수 있는, 소위 멀티 코어 확장성을 제공하는 실시간 시뮬레이션 방법을 제안한다. 제안하는 방법은 임의의 CPU 코어 개수가 주어져도 그에 맞는 확장 가능한 시뮬레이션 속도를 제공하며, 그 속도에 관계없이 항상 정확한 시뮬레이션 결과를 보장한다. 본 논문은 리눅스 커널 모듈 형태로 구현한 시뮬레이터를 이용하여 멀티코어 확장성과 모델의 정확성을 실험적으로 검증한다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. N. Agrawal, et al., "Design Tradeoffs for SSD Performance," USENIX Annual Technical Conference, pp. 57-70, 2008.
  2. G. Aayush, et al., "DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings," Proc. of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 229-240, 2009.
  3. Y. Kim, et al., "Flashsim: A Simulator for NAND Flash-based Solid-state Drives," Advances in System Simulation, pp. 125-131, 2009.
  4. M. Jung, et al., "NANDFlashSim: High-Fidelity, Microarchitecture-Aware NAND Flash Memory Simulation," ACM Transactions on Storage, Vol. 12, No. 2, Article No. 6, 2016.
  5. E. Nam, et al., "Ozone (O3): An Out-of-order Flash Memory Controller Architecture," IEEE Transactions on Computers, Vol. 60, No. 5, pp. 653-666, 2011. https://doi.org/10.1109/TC.2010.209
  6. J. Shin, et al., "Copycat: A High Precision Real Time NAND Simulator," arXiv preprint arXiv:1612. 04277, 2016.
  7. J. Yoo, et al., "VSSIM: Virtual Machine Based SSD Simulator," Mass Storage Systems and Technologies (MSST), 2013 IEEE 29th Symposium on IEEE, pp. 1-14, 2013.
  8. F. Bellard, (2007), "QEMU Open Source Processor Emulator," Available: http://www.qemu.org (downloaded 2017, Feb. 28).
  9. K. Cho, Effective Performance Evaluation Framework for NAND Flash Memory Based Storage System (M.S. Thesis), Seoul National University, 2016. (in Korean)
  10. N. Binkert, et al., "The Gem5 Simulator," ACM SIGARCH Computer Architecture News, Vol. 39, No. 2, pp. 1-7, 2011.
  11. M. Herlihy and N. Shavit, The Art of Multiprocessor Programming, pp. 223-244, Morgan Kaufmann, Burlington, 2011.