Efficient Management for Hybrid Memory in Managed Language Runtime

Hybrid memory, which leverages the benefits of traditional DRAM and emerging memory technologies, is a promising alternative for future main memory design. However popular management policies through memory-access recording and page migration may invoke non-trivial overhead in execution time and hardware space. Nowadays, managed language applications are increasingly dominant in every kind of platform. Managed runtimes provide services for automatic memory management. So it is important to adapt them for the underlying hybrid memory.

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

[2]  Tao Li,et al.  Exploring Phase Change Memory and 3D Die-Stacking for Power/Thermal Friendly, Fast and Durable Memory Architectures , 2009, 2009 18th International Conference on Parallel Architectures and Compilation Techniques.

[3]  Rami G. Melhem,et al.  Concurrent page migration for mobile systems with OS-managed hybrid memory , 2014, Conf. Computing Frontiers.

[4]  Jin Sun,et al.  Managing Hybrid Main Memories with a Page-Utility Driven Performance Model , 2015, ArXiv.

[5]  Ting Cao,et al.  The Yin and Yang of power and performance for asymmetric hardware and managed software , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

[6]  Rachata Ausavarungnirun,et al.  Row buffer locality aware caching policies for hybrid memories , 2012, 2012 IEEE 30th International Conference on Computer Design (ICCD).

[7]  Karsten Schwan,et al.  Data tiering in heterogeneous memory systems , 2016, EuroSys.

[8]  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.

[9]  Lei Liu,et al.  Rethinking Memory Management in Modern Operating System: Horizontal, Vertical or Random? , 2016, IEEE Transactions on Computers.

[10]  Yuan Xie,et al.  Modeling, Architecture, and Applications for Emerging Memory Technologies , 2011, IEEE Design & Test of Computers.

[11]  Kathryn S. McKinley,et al.  Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance , 2008, PLDI '08.

[12]  Dong Li,et al.  Identifying Opportunities for Byte-Addressable Non-Volatile Memory in Extreme-Scale Scientific Applications , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[13]  Dimitrios S. Nikolopoulos,et al.  Software-managed energy-efficient hybrid DRAM/NVM main memory , 2015, Conf. Computing Frontiers.

[14]  Dimitrios S. Nikolopoulos,et al.  Energy-Efficient Hybrid DRAM/NVM Main Memory , 2015, 2015 International Conference on Parallel Architecture and Compilation (PACT).

[15]  Toshio Nakatani,et al.  Identifying the sources of cache misses in Java programs without relying on hardware counters , 2012, ISMM '12.

[16]  Amer Diwan,et al.  The DaCapo benchmarks: java benchmarking development and analysis , 2006, OOPSLA '06.

[17]  Jin Xiong,et al.  Exploiting Program Semantics to Place Data in Hybrid Memory , 2015, 2015 International Conference on Parallel Architecture and Compilation (PACT).

[18]  Thomas R. Gross,et al.  Online optimizations driven by hardware performance monitoring , 2007, PLDI '07.

[19]  Yuan Xie,et al.  Simple but Effective Heterogeneous Main Memory with On-Chip Memory Controller Support , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[20]  Shuichi Oikawa,et al.  Language runtime support for NVM/DRAM hybrid main memory , 2014, 2014 IEEE COOL Chips XVII.

[21]  Emery D. Berger,et al.  Garbage collection without paging , 2005, PLDI '05.

[22]  Babak Falsafi,et al.  Clearing the clouds: a study of emerging scale-out workloads on modern hardware , 2012, ASPLOS XVII.

[23]  Zhen Fang,et al.  Leveraging Heterogeneity in DRAM Main Memories to Accelerate Critical Word Access , 2012, 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.

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

[25]  Shuichi Oikawa,et al.  NVM/DRAM hybrid memory management with language runtime support via MRW queue , 2015, 2015 IEEE/ACIS 16th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD).

[26]  Shuichi Oikawa,et al.  Preliminary Analysis of a Write Reduction Method for Non-volatile Main Memory on Jikes RVM , 2013, 2013 First International Symposium on Computing and Networking.

[27]  Emery D. Berger,et al.  Automatic heap sizing: taking real memory into account , 2004, ISMM '04.

[28]  Ricardo Bianchini,et al.  Page placement in hybrid memory systems , 2011, ICS '11.

[29]  Shuichi Oikawa,et al.  An Analysis of the Relationship between a Write Access Reduction Method for NVM/DRAM Hybrid Memory with Programming Language Runtime Support and Execution Policies of Garbage Collection , 2014, 2014 IIAI 3rd International Conference on Advanced Applied Informatics.

[30]  Shuichi Oikawa,et al.  Multi-level queue NVM/DRAM hybrid memory management with language runtime support , 2015, RACS.

[31]  S. Phadke,et al.  MLP aware heterogeneous memory system , 2011, 2011 Design, Automation & Test in Europe.

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

[33]  Emery D. Berger,et al.  CRAMM: virtual memory support for garbage-collected applications , 2006, OSDI '06.