Browse

카산드라 응용에서 쓰기 요청에 대한 꼬리응답시간 감소 기법 : SyncGC: A Synchronized Garbage Collection Technique for Reducing Tail Latency in Cassandra

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

한승욱

Advisor
김지홍
Major
공과대학 컴퓨터공학부
Issue Date
2018-02
Publisher
서울대학교 대학원
Keywords
꼬리응답시간분산 데이터베이스 시스템카산드라가비지 컬렉션자바가상기계플래시 메모리 기반 저장장치
Description
학위논문 (석사)-- 서울대학교 대학원 : 공과대학 컴퓨터공학부, 2018. 2. 김지홍.
Abstract
분산 시스템 환경에서는 사용자에게 균일한 서비스 품질을 보장하기 위해서 사용자 요청에 대한 응답시간을 일정하게 유지하는 것이 중요하다. 분산 데이터베이스 시스템은 여러 노드에 데이터의 복사본을 저장하는 방식으로 동작하기 때문에 사용자 요청에 대한 응답시간은 네트워크 수준에서의 노드 선택과 단일 노드에서의 처리 시간에 영향을 받는다. 응답시간이 지연되는 문제를 해결하기 위해 네트워크 수준에서의 노드 선택을 효과적으로 하는 연구가 진행되어 왔으나 노드 선택 과정에서 단일 노드의 변칙적인 성능 변화를 모두 고려할 수 없다는 한계가 있다. 따라서 단일 노드 수준에서의 꼬리응답시간을 줄이기 위한 노력이 필요하다.
본 논문에서는 카산드라 분산 데이터베이스 시스템을 대상으로 단일 노드 환경에서 쓰기 요청에 대한 꼬리응답시간을 줄이는 연구를 수행한다. 연구를 통해 긴 꼬리응답시간에 해당하는 지연이 메모리 공간 부족으로 인해 발생한다는 것을 보이며, 이러한 지연이 메모리 공간 확보를 위해 버퍼에 저장된 데이터를 저장장치에 완전히 내려 쓸 때까지 카산드라가 사용자의 요청을 받지 않기 때문임을 밝힌다. 버퍼에 저장된 데이터를 내려쓰는데 걸리는 시간은 저장장치 성능에 따라 결정되므로 SSD의 가비지 컬렉션으로 인한 성능 저하가 꼬리응답시간을 더 길게 만들고 있음을 관찰하였다.
꼬리응답시간을 줄이기 위해 자바가상기계에서의 가비지 컬렉션과 SSD에서의 가비지 컬렉션을 동시에 수행하여 SSD의 가비지 컬렉션 비용을 숨기는, 가비지 컬렉션 동기화 기법을 개발하였다. 또한 가비지 컬렉션을 항상 함께 수행하는 기존 기법이 SSD에서 과도한 블록 삭제 문제를 일으켜 블록 당 삭제 수가 정해져 있는 SSD의 수명에 악영향을 주는 것을 확인하였다. 때문에 카산드라의 버퍼 정보를 활용하여 앞으로 발생할 쓰기에 필요한 만큼만 SSD의 가비지 컬렉션을 수행하는, 메모리 테이블을 고려한 가비지 컬렉션 동기화 기법을 개발하였다. 가비지 컬렉션 동기화 기법을 통해 카산드라에서 쓰기 요청에 대한 꼬리응답시간에 해당하는 99.99-percentile과 최대 응답시간을 각각 35% 그리고 37% 줄일 수 있었다. 또한 메모리 테이블을 고려한 가비지 컬렉션 동기화 기법이 기존 동기화 기법의 과도한 블록 삭제 문제를 해결할 수 있음을 확인하였다. 나아가 여러 종류의 자바 가비지 컬렉션에서 동기화 기법의 효과를 평가하였다.
Language
Korean
URI
https://hdl.handle.net/10371/141578
Files in This Item:
Appears in Collections:
College of Engineering/Engineering Practice School (공과대학/대학원)Dept. of Computer Science and Engineering (컴퓨터공학부)Theses (Master's Degree_컴퓨터공학부)
  • mendeley

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

Browse