디지털 라이브러리[ 검색결과 ]
F2FS 멀티-헤드 로깅을 이용한 효율적인 RocksDB 레벨링 기법
http://doi.org/10.5626/JOK.2022.49.8.655
RocksDB는 대표적인 LSM-tree 기반 키-밸류 스토어로, 고성능 데이터베이스 시스템에서 활발히 활용되고 있다. 그러나 이러한 데이터베이스 시스템들은 장기적으로 실행되고 스토리지에 자주 쓰기를 하는 특성을 가지므로 파일 시스템을 고려한 설계 없이는 파일 시스템 단편화를 야기할 수 있다. 또한, RocksDB에 포함된 성능 향상 기능들은 파일 시스템 단편화를 가속하여 SSD 같은 플래시 메모리 스토리지의 장기적 성능에 악영향을 끼칠 수 있다. 이에 본 논문에서는 F2FS 파일 시스템에서 RocksDB 활용에 의한 파일 단편화 문제에 대해서 분석하고, 이를 해결하기 위한 F2FS 멀티-헤드 로깅을 활용한 새로운 RocksDB 레벨링 기법을 제안한다. SSD를 활용한 실험 결과, 본 논문의 제안 기법으로 기존 F2FS 파일 시스템 대비 7% 처리량 향상 및 18% 꼬리 응답 시간 감소, 그리고 EXT4 파일 시스템 대비 56% 처리량 증가 및 19% 꼬리 응답 시간 감소를 확인하였다.
로그 구조 파일 시스템의 파일 단편화 해소를 위한 클리닝 기법
로그 구조 파일 시스템에서는 쓰기 작업을 처리할 때 새로운 블록들이 순차적으로 할당된다. 그러나, 다수의 프로세스가 번갈아가며 동기적 쓰기 작업을 요청할 경우, 파일 시스템 상에서는 각 프로세스가 생성한 파일이 단편화될 수 있다. 이 파일 단편화는 읽기 요청을 처리할 때 다수의 블록 I/O를 발생시키기 때문에 읽기 성능을 저하시킨다. 게다가, 미리 읽기 기능은 한 번에 요청되는 데이터의 양을 증가시킴으로써 성능 저하를 더욱 심화시킨다. 이에, 본 논문에서는 파일 단편화 문제를 해결하기 위해 로그구조 파일 시스템의 새로운 클리닝 기법을 제안한다. 제안 기법은 로그 구조 파일 시스템의 클리닝 과정 중 유효 데이터 블록을 아이노드 번호 순으로 정렬함으로써 한 파일의 데이터 블록들을 인접하게 재배치한다. 실험 결과, 제안한 클리닝 기법이 클리닝 전에 비해 약 60%의 파일 단편화를 제거하였고, 그 결과로 미리 읽기 기능을 적용했을 때 읽기 성능을 최고 21%까지 향상시키는 것을 확인하였다.