PMS : 다단계 저장장치를 고려한 효율적인 선반입 정책

PMS : Prefetching Strategy for Multi-level Storage System

  • 이규형 (홍익대학교 컴퓨터공학과) ;
  • 이효정 (홍익대학교 컴퓨터공학과) ;
  • 노삼혁 (홍익대학교 컴퓨터공학과)
  • 발행 : 2009.02.15

초록

저장장치를 다단계로 구성하여 효율적으로 많은 사용자의 요청을 동시에 처리하는 다단계 저장장치의 활용은 점차 늘어나고 있다. 저장 장치가 다단계로 발전하여, 매우 많은 데이타를 효과적으로 처리할 수 있게 되었으나, 디스크에 접근하기 위한 단계가 늘어남으로써 성능이 저하되는 문제가 발생한다. 현재까지는 메모리와 프로세스에 비해 느린 디스크 접근 속도를 완충하기 위해 선반입 정책이 매우 효과적이었다. 그러나 기존의 선반입 기법은 대부분 다단계로 구성된 저장장치는 고려하지 않기 때문에 다단계 저장장치에서 기존의 선반입 기법을 사용할 경우 큰 성능향상을 기대 할 수 없다. 본 연구에서는 네트워크로 연결된 다단계 저장장치에서 상위 레벨의 선반입 기법에 의존하지 않는, 넓은 용도로 사용할 수 있는, Prefetching Strategy for Multi-level Storage system(PMS)라 칭하는 하위 레벨 선반입 기법을 제안하였다. 이는 시스템의 사용자, 어플리케이션 혹은 상위 시스템과 독립적으로 동작하기 때문에 단지 하위 시스템의 선반입 정책으로 적용함으로써 쉽게 높은 성능을 사용할 수 있다. 또한 PMS 정책의 성능을 측정하기 위해 본 연구에서는 실제 시스템을 정교하게 흉내 내는 시뮬레이터를 개발하여 널리 쓰이는 두가지 트레이스를 이용한 서로 다른 32가지의 실험을 하였고, 기존의 선반입 정책을 하위 레벨에 적용한 시스템에 비해 PMS 정책을 하위 레벨에 적용할 경우, 모든 경우에서 성능향상을 확인 할 수 있었고, 최대 35%, 평균 16.56%의 평균 응답시간이 좋아짐을 보였다.

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.

키워드

참고문헌

  1. Zhifeng Chen, yuanyuan Zhou, and Kai Li. Eviction-based cache placement for storage caches. In Proceedings of the 2003 USENIX Annual Technical Conference, 2003.
  2. Song Jiang and Xiaodong Zhang. ULC: a file block placement and replacement protocol to effectively exploit hierarchical locality in multilevel buffer caches. In Proceedings of the 24th International Conference on Distributed Computing Systems(ICDCS), 2004.
  3. Theodore M. Wong and John Wikes. My cache or yours? making storage more exclusive. In Proceedings of the General Track: 2002 USENIX Annual Technical Conference, 2002.
  4. B. Gill and L. Bathen. AMP: Adaptive multistream prefetching in a sharde cache. In Proceedigns of the 5th USENIX Annual Technical Conference, pp. 293-308, 2005.
  5. B. Gill and D. Modha. SARC: Sequential prefetching in adaptive replacement cache. In Proceedings of the 2005 USENIX Annual Technical Conference, pp. 293-308, 2005.
  6. A. Smith. Cache memories. In ACM Computing Surveys(CSUR), Vol. 14, pp. 473-530, ACM Press, 1982. https://doi.org/10.1145/356887.356892
  7. David Culler, Richard Karp, David Patterson, Abhigit Sahay, Klaus Erik Schauser, Eunice Sants, Ramesh Subramonian, and Thorsten von Eicken. Logp: towards a realistic model of parallel computation. In Proceedings of the fourth ACM-SIGPLAN symposium on Principles and practive of parallel programming(PPOPP), 1993.
  8. G. Ganger, B. Worthington, and Y. Patt. The disksim simulation environment version 2.0, Dec. 1998.
  9. Zhenmin Li, Zhifeng Chen, Sudarshan M. Srinivasan, and Yuanyuan Zhou. C-Miner: Mining block corrdlations in storage systems. In Proceedings of the 3rd USENIX Comference ofn File and Storage Technologies(FAST), 2004.
  10. Qingbo Zhu, Zhifeng Chen, Lin Tan, yuanyuan Zhou, Kimberly Keeton, and John Wilkes. Hibernator: helping disk arrays sleep through the winter. In Proceedings of the twentieth ACM symposium on Operating systems principles (SOSP), 2005.
  11. Ali R. Butt, Chris Gniady, and Y. Charlie Hu. The performance impact of kernel prefetching on buffer cache replacement algorithms. In Proceedings of the International Conference of Measurements and Modiling of Computer Systems (SIG-METRICS), 2005.