M-ARC: ARC 기반 고성능 멀티레벨 버퍼캐시 알고리즘
M-ARC : ARC-based High Performance Multi-Level Buffer Cache Algorithm
박세진(포항공과대학교); 박찬익(포항공과대학교)
39권 6호, 387~392쪽
초록
멀티레벨 스토리지 시스템은 클라우드 시스템, 가상화 환경, 네트워크 기반 스토리지 등 많은 컴퓨팅 환경에서 널리 사용되고 있다. 이러한 멀티레벨 스토리지의 접근성능을 향상시키려면, 하위 레벨의 스토리지로 요청을 줄이는 것이 중요하며, 이는 각 레벨의 버퍼캐시 성능이 큰 영향을 미친다. 다양한 버퍼캐시 알고리즘들 중 ARC 알고리즘은 가장 좋은 성능을 보이는 캐시 알고리즘으로 알려져 있다. ARC 알고리즘은 동작의 간결성과 자체의 특성으로 인해, 많은 워크로드에서 좋은 성능을 나타낸다. 그러나, ARC 알고리즘은 멀티 레벨 버퍼캐시에서는 좋은 성능을 보이지 않는데, 이는ARC 알고리즘이 멀티레벨 캐시의 특성을 반영하지 못하고 있기 때문이다. 본 논문에서는 멀티레벨 캐시의 특성과 이를 반영한 M-ARC라는 멀티레벨 버퍼캐시 알고리즘을 제안한다. M-ARC는 ARC 알고리즘에 히스토리 버퍼를 추가하는 형태로 재사용 거리가 긴 멀티레벨 버퍼캐시의 워크로드를 효과적으로 대응하는 구조를 가진다. 제안하는 알고리즘은 기존 ARC에 비해 약 2배 이상 향상된 성능을 보여주고 있다.
Abstract
Multi-level storage system is widely used in network storage, cloud service, virtualization technologies, etc. In order to improve the access performance of these multi-level storage systems, it is important to reduce the request to the lower level storage and this is affected by the performance of buffer cache for each level. The ARC algorithm referred as thebest buffer cache algorithm among various cache algorithms. It shows good performance with various workloads because of its simplicity and own distinct feature. However, the ARC algorithm does not show good performance in multi-level buffer cache. This is because the ARC does not recognize the workload characteristic of multi-level buffer cache. In this paper we propose a multi-level buffer cache algorithm called M-ARC, which supports multi-level cache’s workload characteristic. M-ARC adds history buffer on top of the ARC algorithm. So, it effectively supports multi-level buffer cache’s workload whose reuse distance is long. The performance of proposed algorithm shows two times better than current ARC algorithm.
- 발행기관:
- 한국정보과학회
- 분류:
- 컴퓨터학