검색 상세

RAMFS+: 리눅스 메모리 Zone 분할을 통한 RAMFS 성능향상

RAMFS+: Improving RAMFS Performance by Partitioning Linux Memory Zone

초록/요약

메모리 반도체 기술의 발전으로 메모리의 용량이 증가하고 CPU에 직접 메모리 버스로 연결되는 비휘발성 메모리의 가용 용량도 점차 증가하고 있다. 이에 메모리를 직접 파일의 저장 장치로 사용하는 메모리 기반의 파일시스템에 대한 연구가 활발히 진행되고 있다. 기존 리눅스의 메모리 기반 파일시스템인 ramfs와 tmpfs는 파일을 저장할 때 남은 용량의 확인을 아예 하지 않거나 확인을 하더라도 큰 오버헤드가 따르는 등의 문제가 있다. 또한 리눅스 커널의 페이지 할당 과정을 그대로 따르기 때문에 여러 불필요한 오버헤드가 존재한다. 따라서 이를 해결하기 위한 방법이 필요하다. 본 논문은 리눅스의 메모리 Zone을 새롭게 분할하여 기존 ramfs의 문제점을 해결하여 성능을 향상하는 기법인 ramfs+를 제안한다. 제안된 기법은 현재 리눅스의 메모리 Zone인 DMA, Normal, HighMem Zone에 더해 새로운 Storage Zone을 추가하여 파일 저장 시 자동적으로 남은 용량확인이 가능하다. 또한 기존 ramfs와 tmpfs의 읽기, 쓰기 과정에서의 불필요한 오버헤드를 줄여서 성능을 높인다. 본 논문에서는 Intel 기반의 8core 서버 위에서 리눅스 메모리 Zone 분할을 통한 ramfs 성능향상 기법을 리눅스 커널 4.7.4 버전에 구현하였고 기본적인 Read, Write 실험을 통해 성능이 향상되는 것을 확인하였다.

more

초록/요약

As the memory semiconductor technology advances, the capacity of the memory and the usable capacity of the nonvolatile memory are gradually increasing. Therefore, researches on a memory based file system using memory directly as a file storage device are being actively carried out. Existing Linux memory-based file systems, ramfs and tmpfs, have problems such as not checking the remaining capacity when saving a file, or having a large overhead when checking. There is also a lot of unnecessary overhead because it follows the page allocation process of the Linux kernel. Therefore, a method for solving this problem is needed. This paper proposes ramfs+, a technique to improve performance by solving the problems of existing ramfs by newly partitioning the memory area of ​​Linux. The proposed scheme can add the new storage zone in addition to the current memory areas of DMA, Normal, and HighMem Zone. It also improves performance by reducing the unnecessary overhead of reading and writing existing ramfs and tmpfs. In this paper, I implement ramfs+ on Intel based 8core servers in Linux kernel version 4.7.4, and confirmed the performance improvement through basic read and write experiments. As the memory semiconductor technology advances, the capacity of the memory and the usable capacity of the nonvolatile memory are gradually increasing. Therefore, researches on a memory based file system using memory directly as a file storage device are being actively carried out. Existing Linux memory-based file systems, ramfs and tmpfs, have problems such as not checking the remaining capacity when saving a file, or having a large overhead when checking. There is also a lot of unnecessary overhead because it follows the page allocation process of the Linux kernel. Therefore, a method for solving this problem is needed. This paper proposes ramfs+, a technique to improve performance by solving the problems of existing ramfs by newly partitioning the memory area of ​​Linux. The proposed scheme can add the new storage zone in addition to the current memory areas of DMA, Normal, and HighMem Zone. It also improves performance by reducing the unnecessary overhead of reading and writing existing ramfs and tmpfs. In this paper, I implement ramfs+ on Intel based 8core servers in Linux kernel version 4.7.4, and confirmed the performance improvement through basic read and write experiments.

more