Windows ReFS 개선에 따라 Linux에서 F2FS, Btrfs, EXT4 성능 향상
![Windows ReFS 개선에 따라 Linux에서 F2FS, Btrfs, EXT4 성능 향상](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/04/1635169717_windows_11_vs_linux_story-640x375.webp)
Microsoft는 최근 Windows 11 Insider 빌드에서 ReFS(Resilient File System)에 대한 지원을 점진적으로 확장해 왔습니다. 1월에 처음 발견된 Dev 빌드 25281 내부의 숨겨진 기능을 통해 사용자는 ReFS 볼륨에 Windows 11을 설치할 수 있습니다 . 이후 회사는 “Dev Drive”VHD 볼륨 과 같은 ReFS 기반 기능을 추가했습니다 . Microsoft는 또한 최근 Canary 채널 빌드 중 하나에서 기본 ReFS 버전을 3.10으로 업데이트했습니다.
Windows에서 ReFS의 사용이 증가하는 동안 Linux는 일부 파일 시스템에서도 꾸준히 발전하고 있습니다. 최신 Linux 커널 패치 중 일부에서 가장 인기 있는 Linux 파일 시스템인 F2FS(Flash-Friendly File System), B-Tree 파일 시스템(Btrfs) 및 4차 확장 파일 시스템(EXT4)의 성능이 크게 향상되었습니다. .
예를 들어 Btrfs는 SATA SSD에서 약 10%의 성능 향상을 얻고 있습니다. 아마도 NVMe 드라이브의 개선은 더 높을 수 있습니다.
항상 64KiB 블록 크기로 읽기 읽기의 실제 블록 크기는 64KiB에서 시작하여 512K에서 끝납니다. 이는 최악의 경우에도 이미 더 나은 성능을 제공합니다.
- 패치 세트 포함: 404.81MiB/s
- 패치 세트 제외: 369.30MiB/s
SATA SSD에서 약 10%의 성능 향상.
EXT4로 이동하면 여러 가지 최적화가 이루어집니다.
이번 주기에 ext4에는 여러 가지 주요 정리 작업이 있습니다.
- data=journal 쓰기 경로가 상당히 정리되고 단순화되었으며 Jan Kara가 작성한 많은 data=journal 특수 사례가 줄었습니다.
- Ojaswin Muhoo는 다중 블록 할당자에서 inode 사전 할당에 사용된 범위를 추적하는 데 사용되는 연결 목록을 red-black 트리로 대체했습니다. 이렇게 하면 많은 수의 임의 할당 쓰기를 수행하는 워크로드의 성능이 향상됩니다.
- 다중 블록 할당자의 많은 정리 및 버그 수정에 대해 Kemeng Shi에게 감사드립니다.
- Matthew wilcox는 ext4 페이지를 읽고 쓰기 위한 코드 경로를 Folio를 사용하도록 변환했습니다. * Jason Yan은 ext4_fill_super()를 계속해서 유지 관리 및 이해의 용이성을 개선하기 위해 더 작은 함수로 분해했습니다.
- Josh Triplett는 ext4 사용자 공간 API용 uapi 헤더를 만들었습니다.
마지막으로 F2FS의 개선 사항은 다음과 같습니다.
상승:
- 존 장치에 대해 2의 거듭제곱이 아닌 존 크기 지원
- 익스텐트 캐시에서 rb_entry 구조 공유 제거
- f2fs_gc를 리팩터링하여 긴급 상황에서 체크포인트를 호출 – iiopoll 지원
전반적으로 Linux 커널 버전 6.4는 성능 면에서 꽤 괜찮을 것 같습니다.
출처: Phoronix를 통한 LKML (1) , (2) , (3)
답글 남기기