DOI QR코드

DOI QR Code

Garbage Collection Synchronization Technique for Improving Tail Latency of Cloud Databases

클라우드 데이터베이스에서의 꼬리응답시간 감소를 위한 가비지 컬렉션 동기화 기법

  • 한승욱 (서울대학교 컴퓨터공학부) ;
  • 한상욱 (서울대학교 컴퓨터공학부) ;
  • 김지홍 (서울대학교 컴퓨터공학부)
  • Received : 2017.02.20
  • Accepted : 2017.04.17
  • Published : 2017.08.15

Abstract

In a distributed system environment, such as a cloud database, the tail latency needs to be kept short to ensure uniform quality of service. In this paper, through experiments on a Cassandra database, we show that long tail latency is caused by a lack of memory space because the database cannot receive any request until free space is reclaimed by writing the buffered data to the storage device. We observed that, since the performance of the storage device determines the amount of time required for writing the buffered data, the performance degradation of Solid State Drive (SSD) due to garbage collection results in a longer tail latency. We propose a garbage collection synchronization technique, called SyncGC, that simultaneously performs garbage collection in the java virtual machine and in the garbage collection in SSD concurrently, thus hiding garbage collection overheads in the SSD. Our evaluations on real SSDs show that SyncGC reduces the tail latency of $99.9^{th}$ and, $99.9^{th}-percentile$ by 31% and 36%, respectively.

클라우드 데이터베이스와 같은 분산 시스템 환경에서는 균일한 서비스 품질을 보장하기 위해 꼬리 응답시간을 짧게 유지하는 것이 중요하다. 본 논문에서는 카산드라 데이터베이스를 대상으로, 긴 꼬리 응답시간에 해당하는 지연이 메모리 공간 부족으로 인해 발생한다는 것을 보이며, 이러한 지연이 메모리 공간 확보를 위해 버퍼에 저장된 데이터를 저장장치에 완전히 내려쓸 때까지 카산드라가 사용자의 요청을 받지 않기 때문임을 밝힌다. 버퍼에 저장된 데이터를 내려쓰는데 걸리는 시간은 저장장치 성능에 따라 결정되므로 SSD의 가바지 컬렉션으로 인한 성능 저하가 꼬리 응답시간을 더 길게 만들고 있음을 관찰하였다. 우리는 자바가상기계에서의 가비지 컬렉션과 SSD에서의 가비지 컬렉션을 함께 수행하여 SSD의 가비지 컬렉션 비용을 숨기는, SyncGC 기법을 제안한다. 실험 결과, SyncGC 기법을 통해 꼬리 응답시간인 $99.9^{th}$$99.9^{th}-percentile$을 각각 31%, 36% 줄일 수 있었다.

Keywords

Acknowledgement

Supported by : 서울대학교, 한국연구재단

References

  1. A. Lakshman and P. Malik, "Cassandra: A Decentralized Structured Storage System," ACM SIGOPS Operating Systems Review, Vol. 44, issue 2, pp. 35-40, 2010. https://doi.org/10.1145/1773912.1773922
  2. Y. Xu, Z. Musgrave, B. Noble, and M. Bailey, "Bobtail: Avoiding Long Tails in the Cloud," Proc. of the Networked Systems Design and Implementation, pp. 329-341, 2013.
  3. L. Suresh, M. Canini, S. Schmid, and A. Feldmann, "C3: Cutting Tail Latency in Cloud Data Stores via Adaptive Replica Selection," Proc. of the Networked Systems Design and Implementation, pp. 512-527, 2015.
  4. A. Vulimiri, P. B. Godfrey, R. Mittal, J. Sherry, S. Ratnasamy, and S. Shenker, "Low Latency via Redundancy," Proc. of the ACM Conference on Emerging Networking Experiments and Technologies, pp. 283-294, 2013.
  5. J. Dean and L. A. Barroso, "The Tail at Scale," ACM Communications, Vol. 56, No. 2, pp. 74-80, 2013.
  6. L. Fang, K. Nguyen, G. Xu, B. Demsky, and S. Lu, "Interruptible Tasks: Treating Memory Pressure As Interrupts for Highly Scalable Data-Parallel Programs," Proc. of the Symposium on Operating Systems Principles, pp. 394-409, 2015.
  7. F. Ober and Q. Zhu. Intel: Next Generation SSDs & ForestDB Next Generation Storage Engine (CouchbaseConnect15). [Online]. Available: http://connect15.couchbase.com/agenda/intel-next-generation-ssds-forestdb-next-generation-storage-engine
  8. SAMSUNG. Data Center Series. [Online]. Available: http://memorysolution.de/mso_upload/out/all/SM843T_Specification_v1.0.pdf
  9. B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears, "Benchmarking Cloud Serving Systems with YCSB," Proc. of the ACM Symposium on Cloud Computing, pp. 143-154, 2010.