NVM Streaker: a fast and reconfigurable performance simulator for non-volatile memory-based memory architecture

The high density, low power consumption non-volatile memory (NVM) provides a promising DRAM alternative for the in-memory big-data processing applications, e.g., Spark, It is significant to simulate the behaviors when NVMs are deployed into the area of big-data processing before their widespread use in market. However, existing simulation approaches are not applicable for big-data processing due to two reasons. First, some approaches require complicated hardware and/or OS supports. Second, cycle-level or function-level simulations are too time-consuming to simulate the whole software stack of big-data processing. Therefore, the complexity and expensive time cost in NVM simulation have dramatically dragged down the integrated research of big data with NVM. This paper proposes a fast and reconfigurable simulation method, called NVM Streaker, which does not need complex hardware or OS supports. It simulates NVM access costs using disturbed DRAM accesses and commonly configurable hardware parameters. It is fast since we use DRAM accesses and change its access costs to simulate NVM access costs, thus enabling to simulate the whole software stack to run Spark applications. It is reconfigurable since we enable users to configure the disturbed memory access costs, in order to simulate different NVM access costs. The experimental results show that we can simulate Spark applications with almost negligible cost and high efficiency.

[1]  Matthew Poremba,et al.  NVMain: An Architectural-Level Main Memory Simulator for Emerging Non-volatile Memories , 2012, 2012 IEEE Computer Society Annual Symposium on VLSI.

[2]  Zili Shao,et al.  File system-independent block device support for storage class memory , 2015, 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[3]  Willy Zwaenepoel,et al.  Exploiting NVM in large-scale graph analytics , 2015, INFLOW '15.

[4]  Stephen W. Keckler,et al.  Page Placement Strategies for GPUs within Heterogeneous Memory Systems , 2015, ASPLOS.

[5]  Wei-Che Tseng,et al.  Towards energy efficient hybrid on-chip Scratch Pad Memory with non-volatile memory , 2011, 2011 Design, Automation & Test in Europe.

[6]  Wei-Che Tseng,et al.  Minimizing write activities to non-volatile memory via scheduling and recomputation , 2010, 2010 IEEE 8th Symposium on Application Specific Processors (SASP).

[7]  Edwin Hsing-Mean Sha,et al.  Durable Address Translation in PCM-Based Flash Storage Systems , 2017, IEEE Transactions on Parallel and Distributed Systems.

[8]  Narayanan Vijaykrishnan,et al.  A low-power phase change memory based hybrid cache architecture , 2008, GLSVLSI '08.

[9]  Aamer Jaleel,et al.  DRAMsim: a memory system simulator , 2005, CARN.

[10]  Michael M. Swift,et al.  Mnemosyne: lightweight persistent memory , 2011, ASPLOS XVI.

[11]  Tajana Simunic,et al.  PDRAM: A hybrid PRAM and DRAM main memory system , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[12]  Kevin Skadron,et al.  Bubble-up: Increasing utilization in modern warehouse scale computers via sensible co-locations , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[13]  Evangelos Eleftheriou,et al.  Write amplification analysis in flash-based solid state drives , 2009, SYSTOR '09.

[14]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[15]  Onur Mutlu,et al.  Architecting phase change memory as a scalable dram alternative , 2009, ISCA '09.

[16]  Paolo Faraboschi,et al.  Operating System Support for NVM+DRAM Hybrid Main Memory , 2009, HotOS.

[17]  Norman P. Jouppi,et al.  CACTI: an enhanced cache access and cycle time model , 1996, IEEE J. Solid State Circuits.

[18]  Michael Stonebraker,et al.  A Prolegomenon on OLTP Database Systems for Non-Volatile Memory , 2014, ADMS@VLDB.

[19]  Wei-Che Tseng,et al.  Optimal scheduling to minimize non-volatile memory access time with hardware cache , 2010, 2010 18th IEEE/IFIP International Conference on VLSI and System-on-Chip.

[20]  Sanjay Kumar,et al.  System software for persistent memory , 2014, EuroSys '14.

[21]  Mahesh Balakrishnan,et al.  Extending SSD Lifetimes with Disk-Based Write Caches , 2010, FAST.

[22]  Jin Xiong,et al.  Exploring Opportunities for Non-volatile Memories in Big Data Applications , 2014, BPOE@ASPLOS/VLDB.

[23]  Lingjia Tang,et al.  Bubble-flux: precise online QoS management for increased utilization in warehouse scale computers , 2013, ISCA.

[24]  Moinuddin K. Qureshi,et al.  Improving read performance of Phase Change Memories via Write Cancellation and Write Pausing , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[25]  Minming Li,et al.  Power-Aware Variable Partitioning for DSPs With Hybrid PRAM and DRAM Main Memory , 2011, IEEE Transactions on Signal Processing.

[26]  Jun Yang,et al.  A durable and energy efficient main memory using phase change memory technology , 2009, ISCA '09.

[27]  Tao Zhang,et al.  NVMain 2.0: A User-Friendly Memory Simulator to Model (Non-)Volatile Memory Systems , 2015, IEEE Computer Architecture Letters.

[28]  Zvonimir Bandic,et al.  LightNVM: Lightning Fast Evaluation Platform for Non-Volatile Memories , 2014 .

[29]  Wei-Che Tseng,et al.  Scheduling to Optimize Cache Utilization for Non-Volatile Main Memories , 2014, IEEE Transactions on Computers.

[30]  Vijayalakshmi Srinivasan,et al.  Scalable high performance main memory system using phase-change memory technology , 2009, ISCA '09.

[31]  Youyou Lu,et al.  Extending the lifetime of flash-based storage through reducing write amplification from file systems , 2013, FAST.

[32]  Cong Xu,et al.  NVSim: A Circuit-Level Performance, Energy, and Area Model for Emerging Nonvolatile Memory , 2012, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[33]  Jongmoo Choi,et al.  Caching less for better performance: balancing cache size and update cost of flash memory cache in hybrid storage systems , 2012, FAST.

[34]  Malcolm P. Atkinson,et al.  An orthogonally persistent Java , 1996, SGMD.

[35]  Xiaoxia Wu,et al.  Hybrid cache architecture with disparate memory technologies , 2009, ISCA '09.

[36]  Arun Jagatheesan,et al.  Understanding the Impact of Emerging Non-Volatile Memories on High-Performance, IO-Intensive Computing , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[37]  Yiran Chen,et al.  Emerging non-volatile memories: Opportunities and challenges , 2011, 2011 Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[38]  Jun Li,et al.  A Framework for Emulating Non-Volatile Memory Systemswith Different Performance Characteristics , 2015, ICPE.

[39]  Ting Cao,et al.  Efficient Management for Hybrid Memory in Managed Language Runtime , 2016, NPC.

[40]  Zili Shao,et al.  Fine grained, direct access file system support for storage class memory , 2017, J. Syst. Archit..

[41]  Edwin Hsing-Mean Sha,et al.  MGC: Multiple graph-coloring for non-volatile memory based hybrid Scratchpad Memory , 2012, 2012 16th Workshop on Interaction between Compilers and Computer Architectures (INTERACT).

[42]  Xiaoxia Wu,et al.  Power and performance of read-write aware Hybrid Caches with non-volatile memories , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.