메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

이현구 (성균관대학교, 성균관대학교 일반대학원)

지도교수
엄영익
발행연도
2015
저작권
성균관대학교 논문은 저작권에 의해 보호받습니다.

이용수2

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (3)

초록· 키워드

오류제보하기
파일 시스템은 데이터 업데이트 도중 시스템 오류가 발생하여도 데이터의 일관성을 보장해야 하므로 각자 고유의 일관성 유지 기법을 사용한다. 저널링과 Shadow Paging은 대표적인 WAL(Write Ahead Logging) 방식의 일관성 유지 기법으로 새로운 데이터를 업데이트 하기 전에 해당 내용을 스토리지의 다른 영역에 먼저 기록한다. 만약 데이터 업데이트 도중 시스템 오류가 발생되면 기록해놓은 데이터를 이용하여 실패한 업데이트를 다시 시도한다. 하지만 스토리지 클래스 메모리(SCM)를 스토리지로 사용하는 환경에서는 로그 데이터가 커질수록 데이터 쓰기량의 증가뿐만 아니라 cache flush 명령의 수행 및 CPU caching 비용 또한 높아지므로 로그 데이터를 최소화하는 것이 더욱 중요하다. 로그 데이터를 최소화 하기 위해 우리는 데이터베이스 관리 시스템에서 많이 사용되는 롤백 방식을 사용하기로 하였다. 롤백 방식은 새로운 데이터가 아닌 변경되는 원본 데이터만 로깅하여 데이터 일관성을 유지하므로 WAL 방식의 일관성 유지 기법에 비해 로그 데이터 사이즈가 현저히 적다. 또한 SCM의 특성을 이용하여 로그 데이터의 사이즈를 더욱 최소화 시켰다. 롤백 방식의 일관성 유지 기법은 파일 시스템의 최소 단위인 블록 단위로 이루어지므로 업데이트 하는 데이터의 블록마다 변경되는 데이터를 따로 저장하게 되는데, 만약 해당 블록에서 변경되는 데이터의 비율이 높을 경우 그 블록 자체를 로그 데이터로 지정하고 새 블록을 할당하여 새로운 데이터를 쓰는 것이 더 효율적일 것이다. 이 경우 물리적으로 새로운 블록이 기존의 데이터보다 먼 영역에 쓰여질 가능성이 높은데, SCM에서는 디스크 기반의 스토리지와 달리 디스크 검색 비용이 없으므로 데이터를 일련적으로 기록하지 않아도 되므로 이러한 특성을 무시하여도 된다. 또 하나 고려할 점은 블록 자체를 로그 데이터로 여길 경우 변경되지 않은 데이터를 새로운 블록에 복사해야 하므로 이러한 부가 비용을 계산하여 블록 자체를 로그 데이터로 여길지, 아니면 변경되는 데이터를 따로 저장할지 결정하여야 한다. 제안하는 일관성 유지 기법에선 변경되는 블록의 데이터 비율이 50% 이상일 때 pointer logging 기법을 통해 해당 블록을 로그 데이터로 지정한다. 만약 변경되는 블록의 데이터 비율이 50% 미만일 경우 data logging 기법을 통해 해당 데이터를 다른 곳에 로깅하여 데이터의 일관성을 보장하였다. 결론적으로 제안하는 일관성 유지 기법을 사용하면 로그 데이터의 쓰기 비용 최소화는 물론 CPU 캐시와 SCM의 일관성 유지를 위한 cache flush 명령의 비용 또한 줄어든다.
제안한 기법의 성능을 평가하기 위해 Intel Core i7 3.4GHz, 8G DRAM의 머신을 사용여 Linux kernel 3.13.0을 기준으로 ramfs를 이용하여 프로토타입을 구현하였다. 아직 대용량의 SCM을 구할 수 없어 성능이 비슷한 DRAM을 SCM으로 간주하여 실험을 하였으며 스토리지의 성능을 평가하기 위해 범용적으로 쓰이는 벤치마크 중 FIO와 IOZone을 사용하였다. 실험 결과 MinL2R은 BPFS 기법보다 286%, Shortcut-JFS 기법보다 291%, Ramdisk에 마운트 한 Ext4(with journal mode) 기법보다 395% 빠른 것을 알 수 있었다. 특히, Ramdisk에 마운트 한 Ext4(with ordered mode) 기법보다 115% 빠른 결과를 보였다. 이는 MinL2R에 Ext4 (with ordered mode) 기법은 보장하지 않는 데이터 일관성을 보장함에도 SCM의 장점을 잘 활용하고 블록 기반 파일시스템인 Ext4의 블록 단위 에뮬레이션 비용 차이 때문인 것으로 볼 수 있다. 또한 데이터 쓰기 요청 시 쓰여지는 레코드 크기가 커질수록 각각의 일관성 유지기법의 성능 차이는 더욱 크게 나타났다. 정확한 분석을 위하여 IOZone 벤치마크를 실행하는 도중 MinL2R과 BPFS가 로깅하는 로그 데이터의 크기를 측정하였다. 그 결과 레코드 크기가 커질수록 MinL2R과 BPFS의 로그데이터 차이가 많이 발생하는 것을 확인 할 수 있었다. 이러한 양상을 보이는 이유는 MinL2R에서는 한번에 쓰여지는 레코드 크기가 클수록 한 블록의 변경되는 비율이 높아지므로 포인트 로깅이 많이 발생해 로그 데이터 크기를 줄어들었으나 BPFS 기법에서는 새로운 데이터 그대로 로그 데이터로 저장해야 하므로 레코드 사이즈가 늘어남에 따라 로그 데이터의 사이즈 또한 늘어나는 것으로 보여진다. 결론적으로 본 기법은 롤백-복구 방식과 각각의 블록이 변경되는 상황에 맞는 로깅 기법 이용 등 두 가지 기법의 도입으로 로그 데이터의 사이즈를 줄여 데이터 쓰기 량 및 SCM과 CPU Cache의 일관성 유지를 위한 동기화 비용을 최소화 시킴으로 데이터 일관성 손실 없이 전반적인 I/O 성능이 향상됨을 볼 수 있었다.

목차

List of Tables ··· i
List of Figures ··· ii
Abstract ··· 1
1. Introduction ··· 3
2. Background and Motivation ··· 6
2.1 Existing Consistency ··· 6
-Control Scheme ···
2.2 SCM-Aware Consistency ··· 7
-Control Scheme ···
2.3 Motivation ··· 8
3. Design of MinL2R ··· 10
3.1 System Overview ··· 10
3.2 Write Operation ··· 12
3.3 Read Operation ··· 14
3.4 Checkpoint Operation ··· 14
3.5 Failure Recovery ··· 15
4. Evaluation ··· 17
4.1 Experimental Setup ··· 17
4.2 Optimal Threshold for ··· 18
MinL2R ···
4.3 Experimental Results ··· 19
5. Related Work ··· 23
6. Conclusion ··· 25
References ··· 26
Korean Abstract ··· 27

최근 본 자료

전체보기

댓글(0)

0