검색 : [ keyword: 단편화 ] (3)

Scudo 메모리 할당자의 메모리 사용 효율성 분석

이경석, 이태형, 엄영익

http://doi.org/10.5626/JOK.2023.50.2.103

모바일 시스템에서는 다양한 어플리케이션이 제한된 메모리 용량을 공유하기 때문에 메모리 사용량을 최적화하는 것이 중요하다. 안드로이드의 기본 메모리 할당자인 Scudo는 힙-메모리 관련 취약점 완화와 메모리 할당 성능 최적화를 고려하려 설계되었지만, 메모리 사용량 측면의 비효율성이 존재한다. 본 논문에서는 Scudo의 구조와 동작 방식을 기반으로 두 가지 문제에 대해 분석한다. 첫 번째로 고정 개수의 로컬캐시의 할당으로 인한 문제를 분석하며, 이후 두 번째로는 비효율적인 프리 청크 관리 정책으로 인해 발생하는 페이지 내부 단편화 문제에 대해 분석한다. 분석 결과, 안드로이드의 고정 개수의 로컬캐시로 인해 어플리케이션의 특징에 따라 성능 측면의 오버헤드 및 메모리 낭비가 발생함을 확인하였으며, 지속적인 메모리 할당 및 해제가 반복되는 경우 사이즈 클래스에 따라 메모리의 90% 이상이 해제된 경우에도 페이지의 내부 단편화 문제로 인해 페이지 회수가 진행되지 않는 문제를 확인하였다.

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% 꼬리 응답 시간 감소를 확인하였다.

로그 구조 파일 시스템의 파일 단편화 해소를 위한 클리닝 기법

박종규, 강동현, 서의성, 엄영익

http://doi.org/

로그 구조 파일 시스템에서는 쓰기 작업을 처리할 때 새로운 블록들이 순차적으로 할당된다. 그러나, 다수의 프로세스가 번갈아가며 동기적 쓰기 작업을 요청할 경우, 파일 시스템 상에서는 각 프로세스가 생성한 파일이 단편화될 수 있다. 이 파일 단편화는 읽기 요청을 처리할 때 다수의 블록 I/O를 발생시키기 때문에 읽기 성능을 저하시킨다. 게다가, 미리 읽기 기능은 한 번에 요청되는 데이터의 양을 증가시킴으로써 성능 저하를 더욱 심화시킨다. 이에, 본 논문에서는 파일 단편화 문제를 해결하기 위해 로그구조 파일 시스템의 새로운 클리닝 기법을 제안한다. 제안 기법은 로그 구조 파일 시스템의 클리닝 과정 중 유효 데이터 블록을 아이노드 번호 순으로 정렬함으로써 한 파일의 데이터 블록들을 인접하게 재배치한다. 실험 결과, 제안한 클리닝 기법이 클리닝 전에 비해 약 60%의 파일 단편화를 제거하였고, 그 결과로 미리 읽기 기능을 적용했을 때 읽기 성능을 최고 21%까지 향상시키는 것을 확인하였다.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

사무국

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr