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

추천
검색

논문 기본 정보

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

노성현 (서강대학교, 서강대학교 대학원)

지도교수
김영재
발행연도
2020
저작권
서강대학교 논문은 저작권에 의해 보호받습니다.

이용수3

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

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

초록· 키워드

오류제보하기
매니 코어 환경은 병렬처리를 통해 작업량을 높일 수 있기 때문에 고성능 시스템에서 널리 사용되고 있다. 특히 I/O 연산이 많은 데이터베이스 어플리케이션에서는 매니 코어 환경을 이용한 성능 증가를 기대할 수 있다. 이러한 매니 코어 환경에서는 빠른 I/O 수행을 위해 저장장치로 고성능의 SSD를 사용한다. SSD는 내부 병렬성을 활용하는 고성능의 저장장치로 HDD에 비해 빠른 I/O 성능을 기대할 수 있다. 그리고 이에 최적화된 파일시스템인 F2FS를 활용하여 I/O의 병렬 수행을 기대할 수 있다. 그러나 매니 코어 환경에서 단일 파일 I/O를 수행하는 경우 F2FS는 성능이 확장하지 않는다. 본 논문에서는 이러한 문제점의 원인으로 세가지를 밝혔다. 첫째, F2FS 파일 시스템에서 사용하는 파일 단위의 Inode Mutex Lock이 모든 I/O를 Serialize 한다. 따라서 각 쓰레드가 다른 데이터 블록에 대해 I/O를 수행하는 경우에도 I/O는 병렬적으로 수행하지 못한다. 둘째, 첫째에서 언급한 I/O Serialization 문제를 해결 하기 위해 도입한 Interval Tree 기반의 Range Lock에서 Lock Contention이 발생한다. 특히 Interval Tree에서 노드 삽입/삭제시 트리 단위로 사용하는 Mutex Lock이 F2FS의 I/O 성능 확장성을 크게 감소시킨다. 셋째, 여러 쓰레드가 단일 파일에 대해 I/O를 수행하는 경우 커널 쓰레드가 Page Cache에 있는 F2FS의 인덱스 자료구조에 접근하는데 이 때 인덱스 자료구조에서 Lock Contention이 발생한다. 본 논문은 이에 대한 해결책으로 다음과 같은 설계를 제안한다. 첫째, 단일 파일 I/O를 병렬화 하기 위해 F2FS의 Inode Mutex Lock을 Range Lock으로 대체한다. Range Lock은 파일 전체가 아닌 접근하고자 하는 일부분 만을 Lock함으로써 단일 파일 I/O를 병렬화 할 수 있다. 둘째, Interval Tree 기반의 Range Lock에서 발생하는 Lock Contention을 최소화하기 위해 Lightweight한 Atomic 연산 기반 Range Lock을 적용하였다. 셋째, Page Cache에서 발생하는 Lock Contention을 해결하기 위해 F2FS의 인덱스 자료구조를 캐싱하는 Node Cache를 제안한다. 제안한 기법을 적용한 F2FS를 120개 코어의 IBM 서버에서 FxMark 벤치마크를 사용하여 확장성을 실험하였다. 실험 결과 수정한 F2FS는 기존 F2FS에 비해 단일 파일 쓰기 연산에서 최대 24.6배, 단일 파일 읽기 워크로드에서 최대 8.1배의 성능 증가를 보였다.

목차

등록된 정보가 없습니다.

최근 본 자료

전체보기

댓글(0)

0