Access the full text.
Sign up today, get DeepDyve free for 14 days.
Hyuck Han, Hyungsoo Jung, Sooyong Kang, H. Yeom (2011)
Performance evaluation of a remote memory system with commodity hardware for large-memory data processingCluster Computing, 14
S. Raoux, G. Burr, M. Breitwisch, C. Rettner, Yi-Chou Chen, R. Shelby, M. Salinga, D. Krebs, Shih-Hung Chen, H. Lung, C. Lam (2008)
Phase-change random access memory: A scalable technologyIBM J. Res. Dev., 52
Benjamin C. Lee, Engin Ipek, Onur Mutlu, Doug Burger (2009)
Architecting phase change memory as a scalable dram alternativeISCA, 37
B. Essen, R. Pearce, S. Ames, M. Gokhale (2012)
On the Role of NVRAM in Data-intensive Architectures: An Evaluation2012 IEEE 26th International Parallel and Distributed Processing Symposium
(2016)
ACM Transactions on Storage
Chao Wang, Sudharshan Vazhkudai, Xiaosong Ma, Fei Meng, Youngjae Kim, C. Engelmann (2012)
NVMalloc: Exposing an Aggregate SSD Store as a Memory Partition in Extreme-Scale Machines2012 IEEE 26th International Parallel and Distributed Processing Symposium
Nadav Amit, Dan Tsafrir, A. Schuster (2014)
VSwapper: a memory swapper for virtualized environmentsProceedings of the 19th international conference on Architectural support for programming languages and operating systems
Seon-Yeong Park, Dawoon Jung, Jeong-Uk Kang, Jinsoo Kim, Joonwon Lee (2006)
CFLRU: a replacement algorithm for flash memory
Brian Cooper, Adam Silberstein, E. Tam, R. Ramakrishnan, R. Sears (2010)
Benchmarking cloud serving systems with YCSB
Dong Li, J. Vetter, G. Marin, Collin McCurdy, Cristian Cira, Zhuo Liu, Weikuan Yu (2012)
Identifying Opportunities for Byte-Addressable Non-Volatile Memory in Extreme-Scale Scientific Applications2012 IEEE 26th International Parallel and Distributed Processing Symposium
XiaoJian Wu, Sheng Qiu, A. Reddy (2011)
SCMFS: A file system for Storage Class Memory2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC)
Jisoo Yang, D. Minturn, F. Hady (2012)
When poll is better than interrupt
Ameen Akel, Adrian Caulfield, Todor Mollov, Rajesh Gupta, S. Swanson (2011)
Onyx: A Prototype Phase Change Memory Storage Array
Yongseok Son, N. Song, Hyuck Han, Hyeonsang Eom, H. Yeom (2015)
Design and evaluation of a user-level file system for fast storage devicesCluster Computing, 18
Jeremy Condit, Edmund Nightingale, Christopher Frost, Engin Ipek, Benjamin Lee, D. Burger, Derrick Coetzee (2009)
Better I/O through byte-addressable, persistent memory
(1994)
Non-volatile magnetic random access memory
B. Essen, Henry Hsieh, S. Ames, M. Gokhale (2012)
DI-MMAP: A High Performance Memory-Map Runtime for Data-Intensive Applications2012 SC Companion: High Performance Computing, Networking Storage and Analysis
Michael Wu, W. Zwaenepoel (1993)
eNVy: a NonVolatile main memory storage systemProceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III
Jae-Woo Choi, Dongin Shin, Youngjin Yu, Hyeonsang Eom, H. Yeom (2014)
Towards High-Performance SAN with Fast Storage DevicesACM Trans. Storage, 10
Adrian Caulfield, Arup De, Joel Coburn, Todor Mollov, Rajesh Gupta, S. Swanson (2010)
Moneta: A High-Performance Storage Array Architecture for Next-Generation, Non-volatile Memories2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture
J. Mogul, Eduardo Argollo, Mehul Shah, P. Faraboschi (2009)
Operating System Support for NVM+DRAM Hybrid Main Memory
Youngjin Yu, Dongin Shin, Woong Shin, N. Song, Hyeonsang Eom, H. Yeom (2012)
Exploiting Peak Device Throughput from Random Access Workload
Anirudh Badam, Vivek Pai (2011)
SSDAlloc: Hybrid SSD/RAM Memory Management Made Easy
Adrian Caulfield, Todor Mollov, Louis Eisner, Arup De, Joel Coburn, S. Swanson (2012)
Providing safe, user space access to fast, solid state disks
NVM express (2012)
Retrieved April 10, 2016 from http://wwwRetrieved April 10, 2016 from http://www.nvmexpress.org.
Michael Wu, Willy Zwaenepoel (1994)
envy: A non-volatile, main memory storage systemACM SigPlan Notices. Vol
Joel Coburn, Adrian Caulfield, Ameen Akel, Laura Grupp, Rajesh Gupta, Ranjit Jhala, S. Swanson (2011)
NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories
Hyojun Kim, S. Seshadri, Clem Dickey, Lawrence Chiu (2014)
Evaluating Phase Change Memory for Enterprise Storage Systems: A Study of Caching and Tiering Approaches
Adrian Caulfield, Joel Coburn, Todor Mollov, Arup De, Ameen Akel, J. He, A. Jagatheesan, Rajesh Gupta, A. Snavely, S. Swanson (2010)
Understanding the Impact of Emerging Non-Volatile Memories on High-Performance, IO-Intensive Computing2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis
Joel Coburn, Adrian M. Caulfield, Laura M. Grupp, Rajesh K. Gupta, Steven Swanson (2011)
NV-Heaps: Making persistent objects fast and safe with next-generation, non-volatile memoriesASPLOS’11
Youngjin Yu, Dongin Shin, Woong Shin, N. Song, Jae-Woo Choi, H. Kim, Hyeonsang Eom, H. Yeom (2014)
Optimizing the Block I/O Subsystem for Fast Storage DevicesACM Transactions on Computer Systems (TOCS), 32
V. Vasudevan, M. Kaminsky, D. Andersen (2012)
Using vector interfaces to deliver millions of IOPS from a networked key-value storage server
N. Song, Youngjin Yu, Woong Shin, Hyeonsang Eom, H. Yeom (2012)
Low-latency Memory-Mapped I/O for Data-Intensive Applications on Fast Storage Devices2012 SC Companion: High Performance Computing, Networking Storage and Analysis
(2011)
Memcached: A distributed memory object caching system
Xiaojian Wu, Sheng Qiu, A. L. Narasimha Reddy (2013)
SCMFS: A file system for storage class memory and its extensionsACM Transations on Storage, 9
Yongseok Son, Hyuck Han, H. Yeom (2015)
Optimizing file systems for fast storage devicesProceedings of the 8th ACM International Systems and Storage Conference
Stan Park, T. Kelly, Kai Shen (2013)
Failure-atomic msync(): a simple and efficient mechanism for preserving the integrity of durable data
Subramanya Dulloor, Sanjay Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, Jeffrey Jackson (2014)
System software for persistent memory
Timothy Armstrong, Vamsi Ponnekanti, Dhruba Borthakur, Mark Callaghan (2013)
LinkBench: a database benchmark based on the Facebook social graph
(2016)
Article 19, Publication date
(2003)
Iozone filesystem benchmark
Benjamin Lee, Engin Ipek, O. Mutlu, D. Burger (2009)
Architecting phase change memory as a scalable dram alternative
Joel Coburn, Trevor Bunker, Meir Schwarz, Rajesh Gupta, S. Swanson (2013)
From ARIES to MARS: transaction support for next-generation, solid-state drivesProceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
U. Vahalia (1995)
UNIX Internals: The New Frontiers
In modern operating systems, memory-mapped I/O (mmio) is an important access method that maps a file or file-like resource to a region of memory. The mapping allows applications to access data from files through memory semantics (i.e., load/store) and it provides ease of programming. The number of applications that use mmio are increasing because memory semantics can provide better performance than file semantics (i.e., read/write). As more data are located in the main memory, the performance of applications can be enhanced owing to the effect of a large cache. When mmio is used, hot data tend to reside in the main memory and cold data are located in storage devices such as HDD and SSD; data placement in the memory hierarchy depends on the virtual memory subsystem of the operating system. Generally, the performance of storage devices has a direct impact on the performance of mmio. It is widely expected that better storage devices will lead to better performance. However, the expectation is limited when fast storage devices are used since the virtual memory subsystem does not reflect the performance feature of those devices. In this article, we examine the Linux virtual memory subsystem and mmio path to determine the influence of fast storage on the existing Linux kernel. Throughout our investigation, we find that the overhead of the Linux virtual memory subsystem, negligible on the HDD, prevents applications from using the full performance of fast storage devices. To reduce the overheads and fully exploit the fast storage devices, we present several optimization techniques. We modify the Linux kernel to implement our optimization techniques and evaluate our prototyped system with low-latency storage devices. Experimental results show that our optimized mmio has up to 7x better performance than the original mmio. We also compare our system to a system that has enough memory to keep all data in the main memory. The system with insufficient memory and our mmio achieves 92 performance of the resource-rich system. This result implies that our virtual memory subsystem for mmap can effectively extend the main memory with fast storage devices.
ACM Transactions on Storage (TOS) – Association for Computing Machinery
Published: May 20, 2016
Keywords: Memory-mapped
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.