Browse

키-밸류 스토어 구현 시 선택적 캐시 활용에 관한 연구
A Study in Selective Caching of a Key-Value Store Implementation

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors
최재윤
Advisor
안정호
Major
융합과학기술대학원 융합과학부
Issue Date
2015-08
Publisher
서울대학교 융합과학기술대학원
Keywords
키-밸류 스토어선택적 캐시캐시 오염메모리 접근 정책언캐시어블
Description
학위논문 (석사)-- 서울대학교 융합과학기술대학원 : 융합과학기술대학원 융합과학부(지능형융합시스템전공), 2015. 8. 안정호.
Abstract
최근 SNS의 등장과 스마트폰의 보급화로 인해 데이터베이스의 사용량이 급격하게 증가하고 있다. 또한 SNS의 특성상 데이터를 지연시간 없이 빠르게 제공하는 것이 서비스의 품질을 좌우하고 있다. 하지만 기존의 데이터베이스는 하드디스크 기반으로 동작하기 때문에 긴 접근시간을 가지고 있다. 이를 극복하기 위해 상대적으로 접근시간이 짧은 메인 메모리를 데이터 저장용도로 사용하기 위한 노력들이 있으며, Memcached와 같이 데이터들을 메모리에 저장하는 인메모리 키-밸류 스토어 시스템이 많이 사용되고 있다. 이러한 인메모리 데이터베이스의 성능향상을 위한 연구가 활발하게 진행되고 있다.
현대의 프로세서에는 메모리의 느린 접근속도를 보완하기 위해 캐시메모리를 사용한다. 캐시메모리는 DRAM보다 빠르고 비싼 SRAM으로 구성되어 있으며, 일반적인 프로그램의 메모리 접근특성인 템퍼럴 로컬리티와 스페셜 로컬리티를 활용해서 데이터에 좀더 빠르게 접근할 수 있도록 하는 장치이다. 캐시를 잘 사용하면 데이터의 접근속도를 크게 개선할 수 있지만 로컬리티가 전혀 없는 데이터에 접근 할 경우 캐시 오염과 캐시 미스 페널티로 인해 캐시를 거치지 않고 접근하는 방식보다 더 느리게 동작할 수 있다. 일반적으로 SNS 사용자들이 요청하는 데이터들은 굉장히 다양하며 자주 접근되는 데이터와 자주 접근되지 않는 데이터가 있다. 이러한 워크로드 특성을 반영하는 키-밸류 스토어 시스템이 필요하다.
본 논문에서는 선택적 캐시 활용을 사용해서 인메모리 키-밸류 스토어 시스템의 성능을 개선하는 방법을 제시한다. 가장 성능이 좋은 인메모리 키-밸류 스토어 시스템인 카네기 멜론 대학에서 제시한 MICA의 동작 특성을 분석했고, 선택적 캐시를 구현하기 위해서 인텔의 SSE4 명령어에서 제공하는 stream load/store 명령어를 통해 캐시를 거치지 않고 메모리에 바로 접근하는 기능을 추가했다. 또한 선택적 캐시 기법을 활용한 tiered log 구조를 제안하여 MICA의 성능을 향상시켰으며, 선택적 캐시 기법을 통한 캐시의 효율적인 활용방법에 대한 가능성을 보였다.
Recently, the usage of databases has increased rapidly due to smartphones and SNS. The quality of service of SNS is determined by the delay time providing data to the user. However, existing databases have long access time because the operations are based on hard disk. To overcome this, there are efforts to use the main memory which has short access time for data storage. The in-memory KVS systems such as Redis and Memcached for storing data in memory are widely used. Due to the structural change of the database, the research of in-memory database has been actively conducted.
Modern processors have a built-in cache memory to make up for the slow access speed of the memory. The cache memory is a component that provides faster data access by utilizing memory access characteristics such as temporal locality and spatial locality of common programs, and consists of SRAM which is faster but more expensive than DRAM. If the cache is fully utilized, the data access time can be reduced significantly. However, when accessing to data which has poor locality, the access time can be much longer than that of a system without cache due to cache pollution and cache miss penalty. In general, the data requests of SNS users are very diverge, and can be categorized as frequently used data and unfrequently used data. Systems that reflect the characteristics of these workloads are required.
In this paper, we propose a method improving the performance of in-memory KVS system using selective cache utilization. We analyze the operating characteristics of Memcached and MICA proposed by Carnegie Mellon University. To implement the selective cache method which enables access to memory directly, we used the stream load/store instructions provided by Intels SSE4 instruction set. Moreover, we suggest a tiered log structure to improve MICAs performance, and show the possibility of effient cache utilization using selective cache method.
Language
Korean
URI
http://hdl.handle.net/10371/133186
Files in This Item:
Appears in Collections:
Graduate School of Convergence Science and Technology (융합과학기술대학원)Dept. of Transdisciplinary Studies(융합과학부)Theses (Master's Degree_융합과학부)
  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Browse