DOI QR코드

DOI QR Code

Co-Writing Multiple Files Based on Directory Locality for High Performance of Small File Writes

디렉토리 지역성을 활용한 작은 파일들의 모아 쓰기 기법

  • 이경재 (광운대학교 대학원 컴퓨터과학과) ;
  • 안우현 (광운대학교 컴퓨터 소프트웨어학과) ;
  • 오재원 (가톨릭대학교 컴퓨터정보공학부)
  • Published : 2008.10.31

Abstract

Fast File System(FFS) utilizes large disk bandwidth to improve the write performance of large files. One way to improve the performance is to write multiple blocks of a large file at a single disk I/O through the disk bandwidth. However, rather than disk bandwidth, the performance of small file writes is limited by disk access times significantly impacted by disk movements such as disk seek and rotation because FFS writes each of small files at a single disk write. We propose CW-FFS (Co-Writing Fast File System) to improve the write performance of small files by minimizing the disk movements that are needed to write small files to disks. Its key technique called co-writing scheme is to dynamically collect multiple small files named by a given directory and then write them at a single disk I/O to contiguous disk locations. Co-writing several small files at a single disk I/O reduces multiple disk movements that are needed for small file writes to one single disk movement, thus increasing the overall write performance of write-intensive applications. Furthermore, a file allocation scheme is introduced to prevent co-writing scheme from having a negative impact on disk spatial locality of small files named by a given directory. The measurement of our technique implemented in the OpenBSD 4.0 shows that CW-FFS increases the performance of small file writes over FFS in the range from 5 to 35% in the Postmark benchmark.

Fast File System(FFS)은 디스크의 고성능 대역폭을 활용하여 대용량 파일의 여러 블록들을 한 번에 저장함으로써 파일 쓰기 성능을 향상시키고 있다. 하지만, FFS는 파일 단위로 데이터를 저장하기 때문에 작은 파일 쓰기 성능은 디스크 대역폭보다 디스크 회전 및 탐색 시간에 크게 영향을 받는다. 본 논문은 FFS에서 작은 파일 쓰기의 성능 향상을 위해 여러 개의 작은 파일들을 한꺼번에 모아서 저장하는 모아 쓰기(Co-Writing) 기법을 제안하며, 이 기법을 FFS에 적용한 CW-FFS를 구현하였다. CW-FFS의 모아 쓰기 기법은 대역폭을 활용하여 디렉토리 지역성을 가지는 작은 파일들을 모아서 연속적인 디스크 위치에 한 번의 디스크 쓰기로 저장한다. 모아 쓰기 기법은 각 파일 단위로 발생하는 디스크 회전 및 탐색 동작들을 한 번으로 감소시키기 때문에 파일 쓰기가 많은 응용 프로그램에서 작은 파일 쓰기 성능을 개선시킨다. 또한 모아 쓰기 기법이 동일 디렉토리에 포함되는 파일들 간의 디스크 공간 지역성의 저하를 야기하지 않도록 효율적인 파일 할당 방식도 함께 제안한다. CW-FFS는 성능 검증을 위해 OpenBSD 운영체제 커널에서 구현되었으며, postmark 벤치마크를 통한 성능 측정 결과는 기존 FFS 파일 시스템보다 작은 파일 쓰기 성능이 속도 측면에서 $5{\sim}35%$까지 개선되었음을 보여준다.

Keywords

References

  1. A. S. Tanenbaum, J. N. Herder and H. Bos, “File Size Distribution on UNIX Systems-Then and Now,” ACM SIGOPS Operating Systems Review, Vol.40, No.1, pp.100-104, 2005 https://doi.org/10.1145/1113361.1113364
  2. M. McKusick, W. Joy, S. Leffler and R. Fabry, “A Fast File System for UNIX,” ACM Transactions on Computer Systems, Vol.2, No.3, pp.181-197, 1984 https://doi.org/10.1145/989.990
  3. H. Huang, W. Hung and K. G. Shin, “FS2: Dynamic Data Replication in Free Disk Space for Improving Disk Performance and Energy Consumption,” Proceedings of the 20th ACM Symposium on Operating System Principles, pp.263-276, 2005 https://doi.org/10.1145/1095809.1095836
  4. M. Seltzer, K. A. Smith and H. Balakrishnan, “File System Logging versus Clustering: A Performance Comparison,” Proceedings of the USENIX Annual Technical Conference, pp.249-264, 1995
  5. M. McKusick and G. Ganger, “Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem,” Proceedings of the USENIX Annual Technical Conference, pp.1-17, 1999
  6. M. Seltzer, G. Ganger, M. McKusick and K. A. Smith, “Journaling versus Soft Updates: Asynchronous Meta-data Protection in File Systems,” Proceedings of the USENIX Annual Technical Conference, pp.71-84, 2000
  7. M. Rosenblum and J. Ousterhout, “The Design and Implementation of a Log-structured File System,” Proceedings of the 13th ACM symposium on Operating Systems Principles, pp.1-15, 1992
  8. J. M. Neefe, “Improving File System Performance with Adaptive Methods,” Ph.D. Dissertation, University of California at Berkeley, 1999
  9. K. A. Smith and M. Seltzer, “A Comparison of FFS Disk Allocation Policies,” Proceedings of the USENIX Annual Technical Conference, pp.15-26, 1996
  10. D. Roselli, J. R. Lorch and T. E. Anderson, “A Comparison of File System Workloads,” Proceedings of the USENIX Annual Technical Conference, pp.41-54, 2000
  11. S. Kleiman, “Vnodes: An Architecture for Multiple File System Types in Sun UNIX,” Proceedings of the USENIX Annual Technical Conference, pp.260-269, 1986
  12. K. A. Smith and M. Seltzer, “File System Aging-Increasing the Relevance of File System Bench marks,” Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), pp.203-213, 1997 https://doi.org/10.1145/258623.258689
  13. N. Agrawal, W. Bolosky, J. Douceur and J. Loarch, “A Five-Year Study of File-System Metadata,” Proceedings of the 5th USENIX Conference on File and Storage Technologies, pp.31-45, 2007
  14. J. Katcher, “PostMark: A New Filesystem Benchmark,” Network Appliance, Technical Report TR-30-22, 1997
  15. A. Joukov, A. Traeger, C. P. Wright and E. Zadok, “Benchmarking File System Benchmarks,” Stony Brook University, Technical Report FSL-05-04, 2005

Cited by

  1. Design and Implementation of Autonomic De-fragmentation for File System Aging vol.16A, pp.2, 2009, https://doi.org/10.3745/KIPSTA.2009.16-A.2.101