Abstract
Log-Structured File System(LFS) is a disk based file system that is optimized for improving the write performance. LFS gathers dirty data in memory as long as possible, and flushes all dirty data sequentially at once. In a real system, however, maintaining dirty data in memory should be flushed into a disk to meet file system consistency issues even if more memory is still available. This synchronizations increase the cleaner overhead of LFS and make LFS to write down more metadata into a disk. In this paper, by adapting Non-volatile RAM(NV-RAM) we modifies LFS and virtual memory subsystem to guarantee that LFS could gather enough dirty data in the memory and reduce small disk writes. By doing so, we improves the performance of LFS by around 2.5 times than the original LFS.
로그 구조 파일 시스템(Log-Structured File System, LFS)은 변경된 데이타를 메모리에 충분히 모아서 한번에 순차 쓰기로 디스크에 기록함으로써 높은 쓰기 성능을 실현한 파일 시스템이다. 그러나 실제 시스템에서는 여전히 디스크와 메모리 상의 일관성을 위해서 동기화가 발생하며 변경된 데이타를 충분히 메모리에 모으지 못한 채 디스크로 쓰기가 발생하는 모습을 보인다. 자주 발생되는 쓰기는 클리너의 오버헤드를 증가시키고, 더 많은 메타데이타를 기록하게 한다. 본 연구에서는 비휘발성 메모리를 이용해서 동기화를 없애고, 작은 단위의 쓰기를 효과적으로 활용하도록 LFS와 운영체제의 관련된 서브 시스템들을 변경하였다. 이를 통하여 DRAM만 있는 LFS에 비해서 256M의 NVRAM을 가진 시스템에서 약 2.5배의 성능 향상을 보였다.