서지주요정보
(An) efficient approach to improve space overhead in modern block-based DFS = 블록 기반 분산 파일 시스템의 효과적인 공간 효율성 향상 기법에 관한 연구
서명 / 저자 (An) efficient approach to improve space overhead in modern block-based DFS = 블록 기반 분산 파일 시스템의 효과적인 공간 효율성 향상 기법에 관한 연구 / Hoo Young Ahn.
발행사항 [대전 : 한국과학기술원, 2016].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8029877

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 16026

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Modern block-oriented distributed storage systems have proliferated in this era of big data and cloud computing. These systems feature block-level data replication in order to guarantee both fault tolerance and data availability. The distributed storage systems typically partition their files into equal-sized blocks and make multiple copies for each block, which are then distributed across machines. However, the data replication strategy severely causes the issue of space overhead as it requires more storage volumes for keeping the copies. Many storage volumes are just wasted only for keeping the block copies of which data may not be accessed in the strategy. We present a novel technique called DynaEC to address the issue in modern block-oriented distribute storage systems. Dynaec substitutes block copies with much fewer parity blocks at runtime by integrating erasure coding techniques into a distributed storage system. In the integration, dynaec provides unique features which have not been well addressed by other studies. First, dynaec provides a unique striping and parity block placement algorithm that encodes data blocks which are randomly distributed across machines to parities and then places the parities to the other machines, guaranteeing data availability for any node failure. Second, parity encoding in dynaec is performed without any change of the original block placement policy in the distributed storage systems. This makes dynaec work seamlessly in the block-oriented distributed storage systems. Third, during the encoding procedure each data node encodes each own data blocks only, not requiring any information about other blocks in other data nodes. As such, the encoding procedure in dynaec can be fully performed in parallel without any synchronization issue. Finally, DynaEC achieves both performance and availability at a similar level to the block-level replication scheme after substitution of replicas with parities. With extensive experiments on our implementation on Hadoop DFS(Distributed File Systems), we show that DynaEC saves storage volumes to the theoretical limit while outperforming the previous approaches in terms of encoding time by orders of magnitude. Solid state drives(SSDs), which have no mechanical moving parts, have received much attention as a new storage media. As SSDs have become more cost effective with the declining price of NAND flash memories, they are widely used from embedded devices to enterprise-level servers. SSDs provide a lot of benefits over HDDs such as low power consumption, shock resilience, light weight, and significantly low random latency. This enables us to reduce the overall operating costs for enterprise data centers although the initial costs of adopting SSDs may still higher than HDDs. However, there remain two serious problems limiting wider deployment of SSDs: limited lifespan and relatively poor random write performance. The main reason of the above problems is the write amplification which is caused by out-of-place update characteristics of NAND flash memories. In parity based DFS, writing a SSD page needs to update not only the data block but also the parity block, both of which are random writes. The more random write operations make more garbage collection triggering, degraded system performance, and shortened SSD lifetime. To solve the parity update issue in SSD-based DFS, we propose a novel technique, called LPUS. LPUS transforms random parity updates to sequential log writes with additional log blocks in the SSD. In contrast to the conventional parity update process, our approach reduces the block fragmentation using sequential parity logs and the number of parity updates by updating parities in a lazy manner. We implement and evaluate the proposed method on SRsim which is an open-source SSD array simulator. The experimental results show that, LPUS reduces write amplification up to 37% and the number of erase operations up to 50% with the reasonable size of log space.

대규모 데이터를 저장하고 처리 하기 위해 클라우드 컴퓨팅 환경에서 분산 파일 시스템이 활발히 사용되고 있다. 최근 낸드플래시 메모리의 가격이 저렴해짐에 따라 발열과 전력 사용량이 큰 HDD 를 SSD 로 교체하는 일이 활발히 진행되고 있다. 낸드플래시 메모리 집합으로 구성된 SSD 는 HDD 에 비해 빠른 접근 속도, 저전력, 저소음, 경량의 무게 등의 장점을 가지며 데이터 센터에 도입되고 있으며, 분산 파일 시스템의 클러스터 노드들에도 장착되기 시작하였다. 서버 시스템의 주 저장 장치로 SSD를 도입하면 전력비용의 17% 를 절감 할 수 있고, 60%의 입출력 성능을 향상시킬 수 있다. 또한, SSD 는 기계적인 구동부가 없어 충격에 강하고, 빠른 접근 속도 등의 장점을 가진다. 블록 기반 분산 파일 시스템은 파일을 고정 크기의 블록으로 분할하여 각 블록의 복제본을 서로 다른 노드들에 저장하여 데이터의 가용성과 내구성을 보장한다. 그러나, 분산 파일 시스템에서 복제본을 이용하여 데이터 결함에 대한 내구성을 보장하는 경우 일반적으로 3 개의 복제본을 유지하며 원본 데이터 이외의 2 개의 복제본은 공간 오버헤드를 발생시키게 된다. 이러한 공간 오버헤드는 자주 접근 되지 않는 파일의 경우 공간 낭비를 더욱 크게 만드는 문제를 야기한다. 기존의 연구들은 위의 문제를 해결하기 위해 이레이져 코딩 기법을 도입하여 공간 오버헤드를 줄이고자 하였다. 그러나, 이들은 데이터 블록들이 서로 다른 노드들에 임의로 분산되어 저장되어 있는 블록 기반 파일 시스템들에 직접적으로 적용되기 어려운 문제가 있다. 본 논문의 첫번째 부분에서는 블록 기반 분산 파일 시스템에서 이레이져 코딩 기법이 효과적으로 적용될 수 있는 새로운 방법인 DynaEC를 제안하였다. 제안하는 방법은 서로 다른 노드들에 퍼져서 저장되어있는 블록들을 패리티 블록으로 인코딩 할 때, 내결함성을 보장하며 인코딩 될 수 있도록 한다. 특히, 제안하는 방법을 Hadoop 분산 파일 시스템에 적용하여 분산 파일 시스템의 기본 블록 배치 기법을 변경 하지 않고 데이터 블록들을 인코딩 할 수 있게 하였으며, 어떤 종류의 블록 기반 파일 시스템에도 범용적으로 적용 될 수 있도록 하였다. 제안하는 방법은 분산 파일 시스템에서 개별 노드가 각자 자신에게 저장되어있는 블록들을 인코딩 하게 함으로써 패리티 생성 시 발생하는 데이터 블록 전송으로 인한 네트워크 오버헤드를 최소화 하였다. 또한, 이레이져 코딩시 블록 인코딩/디코딩을 위한 입출력 오버헤드를 줄여 기존의 방법들보다 인코딩 성능을 수천 배 향상시키고 디코딩 성능을 수배 향상 시켰으며, 블록 배치 기법을 통하여 인코딩 이후에도 전체 시스템의 신뢰성이 보장됨을 보였다. 본 논문의 두 번째 부분에서는 분산 파일 시스템의 노드들에 SSD를 장착 했을 때, 패리티갱신으로 인해 발생하는 쓰기 증폭을 줄이는 방법을 제안하였다. SSD의 여러 장점들이 있음에도 불구하고, 낸드플래시 메모리는 데이터의 제자리 갱신이 불가능하고, 읽기/쓰기 연산의 단위와 삭제 연산의 수행 단위가 다르며, 일정 횟수 이상의 지우기 연산이 수행된 이후에는 저장된 데이터가 손상될 수 있는 약점을 가진다. 이러한 특성은 SSD가 제자리 갱신을 불가능 하게 만들고 지우기 연산 수행 전에 유효한 페이지들을 다른 블록으로 복사하게 만든다. 이 과정에서 SSD 는 호스트로 부터 입력된 논리적 쓰기 연산 외에 물리적 페이지의 유효 데이터를 타블록으로 복사하는 추가적 쓰기 연산이 발생하게 되고 이를 쓰기 증폭이라 부른다. 쓰기 증폭 문제는 추가적인 쓰기 연산을 처리하고, 삭제 연산을 증가시켜SSD 의 성능과 수명을 저해한다. 패리티 기반의 분산 파일 시스템을 운영하는 경우, 일부 데이터가 갱신되어도 이에 상응하는 패리티가 매번 새로 생성되며 임의 쓰기 연산을 유발하여 SSD 가 장착된 클러스터 노드들의 쓰기 증폭 문제를 더욱 심각하게 만든다. 이 문제를 해결하기 위해 본 논문에서는 DynaEC 가 SSD 가 장착된 클러스터 환경에서도 좋은 성능을 낼 수 있도록하는 방법인 LPUS를 제안하였다. LPUS는 패리티 갱신으로 인한 임의 쓰기를 줄이기 위해, 패리티를 즉각 갱신하지 않고 순차적인 로그 형태로 데이터의 변경 값을 저장한 후, 일정 크기의 로그가 쌓인 후에 패리티를 벌크형태로 갱신하도록 하였다. 로그 영역의 크기는 SSD 의 물리적 블록 크기의 배수가 되게 하여 로그들로 인한 블록의 단편화가 발생하지 않도록 하였다. 실험 결과 제안하는 방법은 분산 파일 시스템의 공간 오버헤드를 기존의 약 1/10 배 인25% 까지 줄였으며, 기존 연구들에 비해 블록들을 인코딩/디코딩 할 때 발생하는 입출력 횟수와 네트워크 비용을 크게 줄여 빠른 성능을 보였다. 또한, 클러스터의 노드들이 HDD에서 SSD 로 저장 장치를 교체하는 경우에도 로그 기반 패리티 갱신 기법을 통해 패리티 갱신으로 인해 심각해 지는 쓰기 증폭 현상을 기존 대비 약 37% 까지 줄였으며, 소거 연산의 횟수도 기존의 방법에 비해 약 50% 까지 줄여 SSD 들의 수명을 향상시켰다. 따라서 제안하는 방법을 사용하면 SSD 기반 클러스터 환경에서 높은 공간 효율성을 유지하며 SSD 들의 성능 향상과 수명을 크게 연장 시키는 것을 보였다.

서지기타정보

서지기타정보
청구기호 {DCS 16026
형태사항 v, 60 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 안후영
지도교수의 영문표기 : YoonJoon Lee
지도교수의 한글표기 : 이윤준
수록잡지명 : "Dynamic erasure coding decision for modern block-oriented distributed storage systems". The Journal of Supercomputing, v. 72, Issue.4, pp. 1312-1341(2016)
수록잡지명 : "SRsim: A Simulator for SSD-Based RAID". Beyond Databases, Architectures and Structures. Advanced Technologies for Data Mining and Knowledge Discovery, v.613, pp. 610-620(2016)
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 51-56
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서