Exploiting Direct IO in Eliminating the Excessive

Title
Exploiting Direct IO in Eliminating the Excessive
Other Titles
SQLite 상에서 Direct IO를 응용한 파일시스템의 과도한 저널링 제거 방법
Author
이원건
Alternative Author(s)
Won-Gun, Lee
Advisor(s)
원유집
Issue Date
2016-02
Publisher
한양대학교
Degree
Master
Abstract
Android IO stack suffers from excessive IO traffic which is caused by the misaligned interaction between crash recovery mechanisms of the SQLite(rollback journal or WAL) and the EXT4 filesystem(journaling), known as Journaling of Journal anomaly. This work is dedicated to resolve the Journaling Of Journal anomaly in Android IO stack. We develop a new SQLite journal mode, WALDIO. In WALDIO mode, SQLite uses direct IO option in logging the page records to WAL file so that the logging activity of SQLite (WAL mode) does not trigger expensive EXT4 journaling. WALDIO consists of three key ingredients: (i) Incremental Preallocation, (ii) Header Embedding and (iii) Anticipatory Frame Aggregation. Incremental Preallocation enables the SQLite to eliminate the expensive metadata journaling overhead without compromising the filesystem integrity. Through Header Embedding, SQLite efficiently performs Page aligned IO onWAL file without any increase in the total IO volume. Anticipatory Frame Aggregation allows the SQLite to commit multiple logs with a single IO. WALDIO is organized in a way that they complement each other and that we enable WALDIO to work effectively on Android IO stack. WALDIO mode exhibits 510%, 580%, and 630% performance increase in INSERT, UPDATE and DELETE operations, respectively, against WAL mode of SQLite. WALDIO mode reduces the IO volume to 1/7 compared against the IO volume in WAL mode. WALDIO mode exhibits 260%, 240%, and 270% performance improvement in INSERT, UPDATE and DELETE operations, respectively against the LS-MVBT journal modes which is the fastest SQLite journaling scheme known to public.|현재 안드로이드는 세계적으로 가장 많이 사용되는 스마트 디바이스 플랫폼 이다. 이러한 안드로이드 상에서 IO stack layer는 비효율적으로 동작하고 있다. 앞서 Journaling of Journal anomaly 연구에 의해 IO stack layer에서 SQLite 와 EXT4 filesystem 의 crash 복구 메커니즘의 불일치로 인해 발생한 과중한 IO traffic 이 그 주 원인으로 밝혀진바 있다. 본 연구는 안드로이드 IO stack 에서 Journaling of Journal anomaly 를 해결하는 방법에 대한 것이다. 우리는 이를 위해 새로운 SQLite jouirnal mode 인 WALDIO 를 구현하였다. WALDIO 모드에서 SQLite 는 WAL file 에 page record들을 저장하기 위해서 Direct IO option 을 사용한다. WALDIO 는 크게 세가지 주요 solution 을 사용하였다. (i) Incremental Preallocation, (ii)Header Embedding and (iii) Anticipatory Frame Aggregation. Incremental Preallocation 은 DirectIO 와 함께 SQLite 가 filesystem의 integrity를 유지하면서 무거운 journaling overhead 를 감소 할 수 있도록 해 준다. Header Embedding은 IO volume 의 추가를 피하면서 SQLite 가 page aligned IO 를 수행할 수 있도록 해준다. 마지막으로 Anticipatory Frame Aggregation 은 SQLite 가 single IO 로 다수의 log 를 commit 할 수 있도록 해준다. 우리는 각각의 기술을 융합하여 새로운 WALDIO mode 를 디자인 하였고, WALDIO mode 가 기존 Ext4 filesystem 을 사용하는 Android 상에서 효율적으로 동작하도록 하였다. WALDIO mode 는 INSERT, UPDATE, DELETE 에서 기존 SQLite의 WAL mode 대비 각각 510%, 580%, 630% 의 성능향상을 보여주었다. 또한, WAL mode 대비 전체 IO volume 의 크기가 1/7로 줄어들었다. 이 WALDIO mode 는 현재 가장 빠른 것으로 알려진 LS-MVBT journal mode 대비 260%, 240%, 270% 의 성능향상을 보여주고 있다.; Android IO stack suffers from excessive IO traffic which is caused by the misaligned interaction between crash recovery mechanisms of the SQLite(rollback journal or WAL) and the EXT4 filesystem(journaling), known as Journaling of Journal anomaly. This work is dedicated to resolve the Journaling Of Journal anomaly in Android IO stack. We develop a new SQLite journal mode, WALDIO. In WALDIO mode, SQLite uses direct IO option in logging the page records to WAL file so that the logging activity of SQLite (WAL mode) does not trigger expensive EXT4 journaling. WALDIO consists of three key ingredients: (i) Incremental Preallocation, (ii) Header Embedding and (iii) Anticipatory Frame Aggregation. Incremental Preallocation enables the SQLite to eliminate the expensive metadata journaling overhead without compromising the filesystem integrity. Through Header Embedding, SQLite efficiently performs Page aligned IO onWAL file without any increase in the total IO volume. Anticipatory Frame Aggregation allows the SQLite to commit multiple logs with a single IO. WALDIO is organized in a way that they complement each other and that we enable WALDIO to work effectively on Android IO stack. WALDIO mode exhibits 510%, 580%, and 630% performance increase in INSERT, UPDATE and DELETE operations, respectively, against WAL mode of SQLite. WALDIO mode reduces the IO volume to 1/7 compared against the IO volume in WAL mode. WALDIO mode exhibits 260%, 240%, and 270% performance improvement in INSERT, UPDATE and DELETE operations, respectively against the LS-MVBT journal modes which is the fastest SQLite journaling scheme known to public.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/126479http://hanyang.dcollection.net/common/orgView/200000428020
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > COMPUTER SCIENCE(컴퓨터·소프트웨어학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE