Abstract
The multi-level storage architecture has been widely adopted in servers and data centers. However, while prefetching has been shown as a crucial technique to exploit sequentiality in accesses common for such systems and hide the increasing relative cost of disk I/O, existing multi-level storage studies have focused mostly on cache replacement strategies. In this paper, we show that prefetching algorithms designed for single-level systems may have their limitations magnified when applied to multi-level systems. Overly conservative prefetching will not be able to effectively use the lower-level cache space, while overly aggressive prefetching will be compounded across levels and generate large amounts of wasted prefetch. We design and implement a hierarchy-aware lower-level prefetching strategy called PMS(Prefetching strategy for Multi-level Storage system) that applicable to any upper level prefetching algorithms. PMS does not require any application hints, a priori knowledge from the application or modification to the va interface. Instead, it monitors the upper-level access patterns as well as the lower-level cache status, and dynamically adjusts the aggressiveness of the lower-level prefetching activities. We evaluated the PMS through extensive simulation studies using a verified multi-level storage simulator, an accurate disk simulator, and access traces with different access patterns. Our results indicate that PMS dynamically controls aggressiveness of lower-level prefetching in reaction to multiple system and workload parameters, improving the overall system performance in all 32 test cases. Working with four well-known existing prefetching algorithms adopted in real systems, PMS obtains an improvement of up to 35% for the average request response time, with an average improvement of 16.56% over all cases.
저장장치를 다단계로 구성하여 효율적으로 많은 사용자의 요청을 동시에 처리하는 다단계 저장장치의 활용은 점차 늘어나고 있다. 저장 장치가 다단계로 발전하여, 매우 많은 데이타를 효과적으로 처리할 수 있게 되었으나, 디스크에 접근하기 위한 단계가 늘어남으로써 성능이 저하되는 문제가 발생한다. 현재까지는 메모리와 프로세스에 비해 느린 디스크 접근 속도를 완충하기 위해 선반입 정책이 매우 효과적이었다. 그러나 기존의 선반입 기법은 대부분 다단계로 구성된 저장장치는 고려하지 않기 때문에 다단계 저장장치에서 기존의 선반입 기법을 사용할 경우 큰 성능향상을 기대 할 수 없다. 본 연구에서는 네트워크로 연결된 다단계 저장장치에서 상위 레벨의 선반입 기법에 의존하지 않는, 넓은 용도로 사용할 수 있는, Prefetching Strategy for Multi-level Storage system(PMS)라 칭하는 하위 레벨 선반입 기법을 제안하였다. 이는 시스템의 사용자, 어플리케이션 혹은 상위 시스템과 독립적으로 동작하기 때문에 단지 하위 시스템의 선반입 정책으로 적용함으로써 쉽게 높은 성능을 사용할 수 있다. 또한 PMS 정책의 성능을 측정하기 위해 본 연구에서는 실제 시스템을 정교하게 흉내 내는 시뮬레이터를 개발하여 널리 쓰이는 두가지 트레이스를 이용한 서로 다른 32가지의 실험을 하였고, 기존의 선반입 정책을 하위 레벨에 적용한 시스템에 비해 PMS 정책을 하위 레벨에 적용할 경우, 모든 경우에서 성능향상을 확인 할 수 있었고, 최대 35%, 평균 16.56%의 평균 응답시간이 좋아짐을 보였다.