• Title/Summary/Keyword: 메모리 I/O

Search Result 242, Processing Time 0.031 seconds

Analyzing the Overhead of the Memory Mapped File I/O for In-Memory File Systems (메모리 파일시스템에서 메모리 매핑을 이용한 파일 입출력의 오버헤드 분석)

  • Choi, Jungsik;Han, Hwansoo
    • KIISE Transactions on Computing Practices
    • /
    • v.22 no.10
    • /
    • pp.497-503
    • /
    • 2016
  • Emerging next-generation storage technologies such as non-volatile memory will help eliminate almost all of the storage latency that has plagued previous storage devices. In conventional storage systems, the latency of slow storage devices dominates access latency; hence, software efficiency is not critical. With low-latency storage, software costs can quickly dominate memory latency. Hence, researchers have proposed the memory mapped file I/O to avoid the software overhead. Mapping a file into the user memory space enables users to access the file directly. Therefore, it is possible to avoid the complicated I/O stack. This minimizes the number of user/kernel mode switchings. In addition, there is no data copy between kernel and user areas. Despite of the benefits in the memory mapped file I/O, its overhead still needs to be addressed, as the existing mechanism for the memory mapped file I/O is designed for slow block devices. In this paper, we identify the overheads of the memory mapped file I/O via experiments.

A Performance Analysis of I/O Scheduler for NAND Flash File System (NAND 플래시 파일시스템의 I/O 스케줄러 성능분석)

  • Lee, Yeongseok;Lee, Changhee;Chung, Kyungho;Kim, Yonghwan;Ahn, Kwangseon
    • Journal of Korea Society of Industrial Information Systems
    • /
    • v.18 no.2
    • /
    • pp.27-34
    • /
    • 2013
  • NAND Flash Memory has been used in several devices by low cost and high capacity, and the demand for mass NAND Flash Memory has increased due to the multimedia extension of mobile devices. The JFFS2, NILFS2, and YAFFS2 file systems are used mainly in NAND Flash Memory. In this paper, the performance of Sequential read/write of the 3 file systems are analyzed for the 4 I/O schedulers : CFQ(Complete Fair Queuing) I/O scheduler, NOOP(No Operation) I/O scheduler, Anticipatory I/O scheduler, and Deadline I/O scheduler. In JFFS2 file system, Anticipatory I/O scheduler has the best performance by 8% decreasing speed in writing time and 1.5% decreasing speed in reading time compared to the other I/O scheduler. In YAFFS2 file system, it results are similar to performance in reading and writing for the 4 I/O schedulers. In NILFS2 file system, NOOP I/O scheduler has 2% faster in writing and Deadline I/O scheduler has 6% faster in reading than other I/O schedulers.

Mapping Cache for High-Performance Memory Mapped File I/O in Memory File Systems (메모리 파일 시스템 기반 고성능 메모리 맵 파일 입출력을 위한 매핑 캐시)

  • Kim, Jiwon;Choi, Jungsik;Han, Hwansoo
    • Journal of KIISE
    • /
    • v.43 no.5
    • /
    • pp.524-530
    • /
    • 2016
  • The desire to access data faster and the growth of next-generation memories such as non-volatile memories, contribute to the development of research on memory file systems. It is recommended that memory mapped file I/O, which has less overhead than read-write I/O, is utilized in a high-performance memory file system. Memory mapped file I/O, however, brings a page table overhead, which becomes one of the big overheads that needs to be resolved in the entire file I/O performance. We find that same overheads occur unnecessarily, because a page table of a file is removed whenever a file is opened after being closed. To remove the duplicated overhead, we propose the mapping cache, a technique that does not delete a page table of a file but saves the page table to be reused when the mapping of the file is released. We demonstrate that mapping cache improves the performance of traditional file I/O by 2.8x and web server performance by 12%.

Memory-mapped I/O Implication of Virtual Machine in Cloud System (클라우드 환경에서 가상 머신의 효율적인 호스트 메모리 사용을 위한 메모리 사상 기법)

  • Song, Nae Young;Choe, Chan-Ho;Eom, Hyeonsang;Yeom, Heon Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.11a
    • /
    • pp.264-267
    • /
    • 2012
  • 늘어가는 자원의 사용과 데이터의 양에 따라 클라우드 시스템의 사용이 대두되고 있는 가운데, 클라우드 환경에서 가상 머신을 효율적으로 사용하는 방법에 대한 많은 기법이 제시되고 있다. 이 중 하나가 호스트 머신 메모리 사용의 오버커밋먼트를 방지하는 것인데 가상 머신들끼리 되도록 같은 파일을 메모리 사상해서 사용하자는 것이다. 이 때 사용한 mmap() 함수는 스토리지 스택을 사용하지 않고 I/O를 할 수 있는 등의 장점을 가지고 있지만 확장성이 떨어진다는 단점이 있다. 본 논문에서는 가상머신들이 mmap()을 사용해서 호스트 메모리를 접근할 때 발생하는 문제점을 짚어보고 이것을 해결할 수 있도록 새로운 mmap() I/O path를 제안한다. 개선된 mmap() I/O path는 수행시간을 40% 가량 향상 시켰다.

Improving the Read Performance of OneNAND Flash Memory using Virtual I/O Segment (가상 I/O 세그먼트를 이용한 OneNAND 플래시 메모리의 읽기 성능 향상 기법)

  • Hyun, Seung-Hwan;Koh, Kern
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.14 no.7
    • /
    • pp.636-645
    • /
    • 2008
  • OneNAND flash is a high-performance hybrid flash memory that combines the advantages of both NAND flash and NOR flash. OneNAND flash has not only all virtues of NAND flash but also greatly enhanced read performance which is considered as a downside of NAND flash. As a result, it is widely used in mobile applications such as mobile phones, digital cameras, PMP, and portable game players. However, most of the general purpose operating systems, such as Linux, can not exploit the read performance of OneNAND flash because of the restrictions imposed by their virtual memory system and block I/O architecture. In order to solve that problem, we suggest a new approach called virtual I/O segment. By using virtual I/O segment, the superior read performance of OneNAND flash can be exploited without modifying the existing block I/O architecture and MTD subsystem. Experiments by implementations show that this approach can reduce read latency of OneNAND flash as much as 54%.

I/O Performance Analysis about Memory Allocation of the UBIFS (UBIFS 메모리 할당에 관한 I/O 성능 분석)

  • Lee, Jaekang;Oh, Sejin;Chung, Kyungho;Yun, Taejin;Ahn, Kwangseon
    • Journal of Korea Society of Industrial Information Systems
    • /
    • v.18 no.4
    • /
    • pp.9-18
    • /
    • 2013
  • Flash memory is mostly used on smart devices and embedded systems because of its nonvolatile memory, low power, quick I/O, resistant shock, and other benefits. Generally the typical file systems base on the NAND flash memory are YAFFS2, JFFS2, UBIFS, and etc. In this paper, we had variously made an experiment regarding I/O performance using our schemes and the UBIFS of the latest Linux Kernel. The proposed I/O performance analyses were classified as a sequential access and a random access. Our experiment consists of 6 cases using kmalloc(), vmalloc(), and kmem_cache(). As a result of our experiment analyses, the sequential reading and the sequential rewriting increased by 12%, 11% when the Case 2 has applied vmalloc() and kmalloc() to the UBI subsystem and the UBIFS. Also, the performance improved more by 7.82%, 6.90% than the Case 1 at the random read and the random write.

WWCLOCK: Page Replacement Algorithm Considering Asymmetric I/O Cost of Flash Memory (WWCLOCK: 플래시 메모리의 비대칭적 입출력 비용을 고려한 페이지 교체 알고리즘)

  • Park, Jun-Seok;Lee, Eun-Ji;Seo, Hyun-Min;Koh, Kern
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.12
    • /
    • pp.913-917
    • /
    • 2009
  • Flash memories have asymmetric I/O costs for read and write in terms of latency and energy consumption. However, the ratio of these costs is dependent on the type of storage. Moreover, it is becoming more common to use two flash memories on a system as an internal memory and an external memory card. For this reason, buffer cache replacement algorithms should consider I/O costs of device as well as possibility of reference. This paper presents WWCLOCK(Write-Weighted CLOCK) algorithm which directly uses I/O costs of devices along with recency and frequency of cache blocks to selecting a victim to evict from the buffer cache. WWCLOCK can be used for wide range of storage devices with different I/O cost and for systems that are using two or more memory devices at the same time. In addition to this, it has low time and space complexity comparable to CLOCK algorithm. Trace-driven simulations show that the proposed algorithm reduces the total I/O time compared with LRU by 36.2% on average.

A Study on Shared Memory Optimization for Multi-Processor System (다중 프로세서 시스템에서의 공유 메모리 최적화 연구)

  • Kim, Jong-Su;Moon, Jong-Wook;Yim, Kang-Bin;Jung, Gi-Hyun;Choi, Kyung-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.10a
    • /
    • pp.685-688
    • /
    • 2001
  • 고속 I/O 를 갖는 Loosely coupled 다중 프로세서 시스템은 데이터의 처리 성능 향상과 I/O 집중화에 따른 병목 현상을 줄여줄 수 있다. 이 때 프로세서간의 데이터 전송에 사용되는 공유메모리는 그 구성과 이용 방법에 따라 시스템의 성능에 많은 영향을 미친다. 본 연구에서는 공유메모리의 사용 방법을 비동기, 메일박스를 통한 인터럽트 전달 인지 방식으로, I/O 사용방법을 고속 이더넷(IEEE 802.3u)으로 한 시스템 모델에서 다중 프로세서 시스템 구성에 필요한 공유메모리의 최적 사용량을 입출력 데이터의 Bandwidth와 Burstness관점에서 실험을 통해 분석하였다.

  • PDF

Priority Connection Scheduling in Web Servers (우선 순위를 갖는 웹서버 컨넥션 스케쥴링)

  • 염미령;노삼혁
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10c
    • /
    • pp.422-424
    • /
    • 2000
  • 웹서버는 disk I/O 오버헤드를 줄이기 위해 웹 문서를 메모리 캐슁한다. 하지만 동시에 들어오는 connection들에 대해 처리 순서는 고려하지 않으므로 같은 문서를 요구하는 request들이 메모리 캐쉬의 working set내에 들어오지 않을 경우 disk I/O를 추가시킬 수 있다. 본 논문에서는 동시에 처리해야 할 같은 작업량을 요구하는 request는 연속적으로 처리함으로써 disk I/O 오버헤드를 줄이는 우선 순위 스케쥴링을 수행함으로써 정적 웹 환경서의 사용자 응답 시간을 줄였다.

  • PDF

Analyzing Virtual Memory Write Characteristics and Designing Page Replacement Algorithms for NAND Flash Memory (NAND 플래시메모리를 위한 가상메모리의 쓰기 참조 분석 및 페이지 교체 알고리즘 설계)

  • Lee, Hye-Jeong;Bahn, Hyo-Kyung
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.36 no.6
    • /
    • pp.543-556
    • /
    • 2009
  • Recently, NAND flash memory is being used as the swap device of virtual memory as well as the file storage of mobile systems. Since temporal locality is dominant in page references of virtual memory, LRU and its approximated CLOCK algorithms are widely used. However, cost of a write operation in flash memory is much larger than that of a read operation, and thus a page replacement algorithm should consider this factor. This paper analyzes virtual memory read/write reference patterns individually, and observes the ranking inversion problem of temporal locality in write references which is not observed in read references. With this observation, we present a new page replacement algorithm considering write frequency as well as temporal locality in estimating write reference behaviors. This new algorithm dynamically allocates memory space to read/write operations based on their reference patterns and I/O costs. Though the algorithm has no external parameter to tune, it supports optimized implementations for virtual memory systems, and also performs 20-66% better than CLOCK, CAR, and CFLRU algorithms.