기타 Lobsters · 1일 전

리눅스 구형 FAT 드라이버, 코드 몇 줄로 속도 7배 이상 떡상함

핵심 요약
  • 리눅스 커널의 구형 FAT 파일 시스템에서 미리읽기(readahead) 처리 방식을 개선하는 패치가 공개되었습니다.
  • USB 외장하드 테스트 결과 전송 시간이 383초에서 51초로 대폭 단축되며 극적인 성능 개선을 보였습니다.
  • 디지털카메라나 EFI 파티션처럼 여전히 구형 FAT 포맷을 써야 하는 환경에서 유용하게 쓰일 전망입니다.
요약 리눅스 커널의 고전 FAT 파일 시스템 드라이버의 전송 속도를 획기적으로 개선하는 패치가 공개되었습니다. 최근 리눅스에 새로운 exFAT 드라이버가 도입되면서 FAT16이나 FAT32 같은 구형 규격을 굳이 사용할 이유는 줄어들었지만, 디지털카메라나 EFI 시스템 파티션 등 여전히 구형 FAT 포맷을 써야만 하는 특수 환경들이 존재합니다. 이번 개선 작업은 이러한 불가피한 사용 환경에 놓인 이들에게 단비 같은 소식이 될 것으로 보입니다. Tux3 파일 시스템 개발로 잘 알려진 오가와 히로후미(OGAWA Hirofumi) 개발자는 리눅스 커널 내 FAT 파일 시스템의 미리읽기(readahead) 처리 방식을 개선하는 패치를 커널 메일링 리스트에 제출했습니다. 이 패치는 단 몇십 줄의 코드 수정만으로 이루어졌으나 성능 향상은 상당합니다. 패치의 핵심은 readahead 크기를 조절할 수 있도록 하고, 자잘한 소규모 I/O 요청을 방지하며, 미리읽기 버퍼 창이 소진되기 전에 갱신하도록 처리 방식을 바꾼 것입니다. 실제 USB 외장 하드 드라이브를 통해 벤치마크 테스트를 진행한 결과, 기존에 383초(약 6분 23초)가 걸리던 파일 전송 작업이 패치 적용 후 단 51초 만에 완료되는 등 무려 7배 이상의 속도 향상을 기록했습니다. 이번 패치는 시점상 리눅스 5.7 커널 머지는 놓쳤으나, 차기 5.8 커널 버전 등에 반영될 것으로 기대를 모으고 있습니다.
Sponsored · 광고