Affiliation:
1. Seoul National University, Seoul, Republic of Korea
2. Dongduk Women's University, Seoul, Republic of Korea
Abstract
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.
Funder
ICT & Future Planning
Ministry of Science
Basic Science Research Program
Korean government
Ministry of Education
Next-Generation Information Computing Development Program
National Research Foundation of Korea
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture
Cited by
24 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献