디지털 라이브러리[ 검색결과 ]
응용프로그램의 기동시간 단축을 위한 파일 시스템 수준의 SSD 캐싱 기법
응용프로그램의 기동 시간은 기기에 대한 사용자 체험에 영향을 주는 중요한 지표로 보조 기억 장치의 성능에 의해 큰 영향을 받는다. 하드디스크 대신 SSD를 사용하게 되면 기동 시간을 크게 낮출 수 있지만 비용 대비 성능을 고려하면 작은 용량의 SSD를 하드디스크의 캐시로 쓰는 것이 현실적인 대안이 될 수 있다. 본 논문에서는 파일시스템 수준에서 하드디스크 상의 블록을 SSD로 이주시키는 기법을 제안한다. 제안한 기법은 기존의 SSD 캐싱 기법들에서 요구되던 캐시 데이터의 사상에 필요한 주 메모리, CPU, 그리고 사상 정보의 유지를 위한 SSD 공간 사용의 부가적인 오버헤드가 없다. 8개의 응용프로그램을 이용한 실험에서 메타데이터와 데이터 블록을 모두 SSD에 캐싱한 경우에 기동시간이 평균 56% 단축됨을 확인하였다.
브레이크포인트를 이용한 범용 워크로드 프리페칭 프레임워크
프로그램의 로딩 속도는 프로그램이 요청하는 디스크 블록을 미리 읽어 들임으로써(프리페칭) 향상시킬 수 있다. 그러나 기존의 프리페칭 관련 기법들은 특정 프로그램에 최적화된 경우를 제외하면 상당한 오버헤드를 보여주었다. 특히 요청블록을 정확히 추적하는데 어려움이 있었다. 어떤 블록들은 여러 시퀀스(단위시간 내에 추적된 블록들)에 나타날 수 있고 두 접근 시퀀스가 동일 하더라도 버퍼 캐시에 의해서 접근 시간과 수집되는 블록 정보가 다를 수 있기 때문에 분석이 까다롭다. 본 논문에서는 소프트웨어적 접근 방법으로 새로운 범용 워크로드 프리페칭 기법을 제안한다. 제안하는 프리페칭 기법은 브레이크 포인트를 프로그램의 적재 적소에 배치함으로써 요청 블록의 상관관계 정보를 수집하고, 이를 바탕으로 프리페칭을 수행한다. 상용 하드디스크를 이용한 실험 결과, 불필요한 오버헤드가 감소되었으며 기동 시간은 평균 30%, 로딩은 평균 15% 단축되었음을 확인하였다.