DRAFT : Towards O ( 1 ) Memory

Since the dawn of computing, memory capacity has been a primary limitation in system design. Forthcoming memory technology such as Intel and Micron’s 3D XPoint memory and other technologies may provide far larger memory capacity than ever before. Furthermore, these new memory technologies are inherently persistent and save data across system crashes or power failures. We conjecture that current operating systems are illequipped for an environment where there is ample memory. For example, operating systems do substantial work for every page allocated, which adds unnecessary overhead when dealing with terabytes of memory. We suggest that now is the time for a complete rethinking of memory management for both operating systems and language runtimes considering excess memory capacity. We propose a new guiding principle: Order(1) operation, so that memory operations have low constant time independent of size. We describe a concrete proposal of this principle with the idea of file-only memory, in which most dynamic memory allocation is managed with file-system mechanisms rather than common virtual memory mechanisms.

[1]  Jinpeng Wei,et al.  Software Persistent Memory , 2012, USENIX Annual Technical Conference.

[2]  J. Thomas Pawlowski Memory as we approach a new horizon , 2016, 2016 IEEE Hot Chips 28 Symposium (HCS).

[3]  Gil Neiger,et al.  Intel ® Virtualization Technology for Directed I/O , 2006 .

[4]  Jeff Bonwick,et al.  The Slab Allocator: An Object-Caching Kernel Memory Allocator , 1994, USENIX Summer.

[5]  Richard J. Lipton,et al.  A Massive Memory Machine , 1984, IEEE Transactions on Computers.

[6]  DruschelPeter,et al.  Practical, transparent operating system support for superpages , 2002 .

[7]  Dejan S. Milojicic,et al.  Beyond Processor-centric Operating Systems , 2015, HotOS.

[8]  Juan E. Navarro,et al.  Practical, transparent operating system support for superpages , 2002, OSDI '02.

[9]  Shih-Hung Chen,et al.  Overview of 3D NAND Flash and progress of vertical gate (VG) architecture , 2012, 2012 IEEE 11th International Conference on Solid-State and Integrated Circuit Technology.

[10]  Karsten Schwan,et al.  Unified address translation for memory-mapped SSDs with FlashMap , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

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

[12]  Stephen M. Rumble,et al.  Log-structured memory for DRAM-based storage , 2014, FAST.

[13]  Ada Gavrilovska,et al.  pVM: persistent virtual memory for efficient capacity scaling and object storage , 2016, EuroSys.

[14]  Joonyoung Kim,et al.  HBM: Memory solution for bandwidth-hungry processors , 2014, 2014 IEEE Hot Chips 26 Symposium (HCS).

[15]  Jacob R. Lorch,et al.  A five-year study of file-system metadata , 2007, TOS.

[16]  Osman S. Unsal,et al.  Range Translations for Fast Virtual Memory , 2016, IEEE Micro.

[17]  Luis Ceze,et al.  Operating System Implications of Fast, Cheap, Non-Volatile Memory , 2011, HotOS.

[18]  Youngjin Kwon,et al.  Coordinated and Efficient Huge Page Management with Ingens , 2016, OSDI.

[19]  Jun Yang,et al.  Phase-Change Technology and the Future of Main Memory , 2010, IEEE Micro.

[20]  Chris Mason,et al.  Transcendent Memory and Linux , 2006 .