김선두군은 파일 시스템 및 스토리지 분야에서의 최신 연구 동향을 파악하고 Poster와 WiP를 발표하기위해 16th USENIX Conference on File and Storage(FAST’18)에 참석하였습니다.

FAST’18 은 스토리지 및 파일 시스템 분야를 다루는 저명한 국제 학술 대회이다. 매년 개최되어 오면서 스토리지 및 파일 시스템 분야에서 크게 공헌해왔다. 해당 학술대회에는 스토리지 또는 파일 시스템 분야에서 유명한 연구자들, 개발자들 그리고 학자들이 참여하여 새로운 시스템의 동향 및 개발 방법론을 제시한다. FAST’18 에서 제공되는 Section은 크게 tutorial section 과 technical section 2가지로 나뉜다. tutorial section은 새로운 시스템 동향을 이해하기 위해 각종 전문가들이 강의를 해주는 section이다. technical section같은 경우 전 세계 사람들이 제안한 기술 논문 중 체택된 논문들을 발표하는 자리이다. 이번 FAST’18같은 경우 23편의 논문이 발표되었다. 해당 학회에서 개제되는 논문들 뿐만아니라 Poster section 과 WiP section이 추가적으로 진행된다. 추가적으로 제공되는 2가지 section을 통해, 새로운 사람들과 교류할 수 있고 현재 연구중인 idea에 대해 feedback을 받을 수 있게 진행된다.

이번 FAST’18에서는 WiP section 과 poster의 발표자로 참여하게 되었다. 발표자로서 현재 연구중인 “Energy Efficient Mobile DB for Wearable Devices” 에 대해 발표하고 사람들의 feedback을 받을 수 있었다. poster section에서는 현재 연구 중인 주제에 대해 관심을 가지는 분들이 많이 있었다. poster section에서 기억이 남는 질문은 “현재 제안하는 기술에서는 header를 node뒤에 삽입하자는 이야기인데 그렇게되면 공간 낭비가 일어나는 것아닌가?” 라는 질문이다. 공간낭비가 있을 수는 있지만 40byte의 공간을 소요함으로 제거할 수 있는 flush연산과 IO Volume의 이득이 크기 때문에 우리가 선택한 방법이라고 이야기해주었다. 삼성전자에서 우리가 하고 있는 연구에 대해 관심을 가졌으며, 어떻게 동작하는지에 대해 자세히 물어보았다. 또한 WiP section에서는 3분동안 현재 연구 중인 내용을 발표하였다. WiP에서도 마찬가지고 trade off에대해 이야기를 해달라고 하였다. 또한, smart phone과 달리 wearable에서 특별히 IO연산을 많이 소모하는 Application에 대해서도 알려달라고 하였다. trade off는 약간의 공간이 낭비될 수있다. Application에 대해서는 현재 연구중인 분야라 자세히 말을 못해준다고 답변하였다. 이번 FAST’18을 통해 많은 feedback을 받았다. feedback들을 논문에 추가할 예정이다. 또한 FAST’18에서는 다양한 기술논문 들이 제안되었다. 새롭게 제안된 논문들 중에 3가지가 눈에 띄었다.

IMG_0159

 

첫 번째 논문은 서울대학교에서 발표한 논문인 “High-Performance Transaction Processing in Journaling File Systems” [1] 이다. 본 논문에서는 일반적으로 사용하는 Journaling file system에서는 data structure를 공유를 위한 locking 과 single thread를 이용한 I/O operation 동작에서 lock contention 문제와 I/O bandwidth on multi-cores를 충분히 활용하지 못하는 문제가 성능을 향상을 제안한다고 주장한다. 그들은 이 문제를 해결하기 위해 journaling 과 checkpointing 구조를 변경했다.  구체적으로, Ext4 journaling 동작을 수행하는 데몬(jbd2)을 수정 하였다. 그들은 lock contention을 제거하기 위해 lock-free data structure를 제안한다. multiple thread들이 공유 데이터에 접근할 수 있도록 data structure (linked-list)변경하였다.  또한, multiple threads들이 이용할 수 있는 I/O 동작을 제안한다. 본 논문에서는 데이터가 변경될 때, JH를 넣는 과정에서 발생하는 lock 즉, j_list_lock contention에 대해서 lock free data structure를 제안하였다. journaling 동작 수행 중에 걸리는 lock은 j_list_lock 말고도 j_state_lock 과 같은 다른 lock들도 많이 존재한다. 그렇다면 list_lock 말고 다른 lock에서는 contention이 발생하지 않는지가 궁금하였고 또한 data strucutre(list)를 수정한 것과 같이 다른 부분에서 lock을 제거하기 위해 data structure를 변경해야하는지 궁금하였다. 저자에게 질문을 하였을 때, 저자의 답변은 다음과 같았다. lock contention에 관해서는 multi-core를 이용한 lock-contention을 profiling을 진행하였다고한다. 따라서 가장 overhead가 심한 lock부분을 선정하였으며 그 lock이 j_list_lock이라고 하였다. 또한 다른 lock에 대해서는 future work로 바라보고 있으며, 현재 다른 locking에 대해서는 중점을 두지 않았고 하였다.

두 번째 논문은 UNIST에서 발표한 논문인 “Endurable Transient Inconsistency in Byte-Addressable Persistent B+-Tree”[2] 이다. Persistent Memory (이하 PM)에서는 순서보장과 durability의 보장을 위해서 memory fence operation과 cache flush operation을 많이 사용한다. PM에서의 두 동작은 overhead를 유지한다. 또한, durability를 위한 logging동작은 tree rebalancing의 overhead를 수반한다. 본 논문에서는 이런 문제를 해결 하기 위해 B+tree의 자료구조에 대해 새로운 관점을 제안한다. read transaction을 통해서 불완전하게 작성된 트랜잭션을 탐지하고 탐지된 트랜잭션은 무시해버리는 방법이다. 즉, read transaction으로 logging을 하지말고 탐지하자는 관점이다. 본 논문에서 이런 관점을 이용해서 두 가지 알고리즘 FAST,FAIR 를 제안한다. 만약 many-core라면 많은 thread들이 read transaction에 접근하면 어떻게 할까하는 생각이 들었다. 본 논문에서는 lock free search를 이용해서 many-core환경도 고려해 만들었다고 하였다. poster section에서 저자들에게 lock free search에 대해 다시 한번 설명을 들었다. 단순히 B+tree 만 이해하고 갔는데 새로운 개념들이 제안할 때, 다소 지식이 부족함을 느꼈다. PM부분에 대해 학습이 필요하다는 것을 깨닫게 되었다.

마지막 논문은 충북대학교에서 발표한 논문인 “RFLUSH : Rethink the Flush” [3] 이다. Flush를 요청하는 블록으로 인해서 writeback cache에 쌓여있는 모든 데이터들을 함께 내리는 문제에 대해 해결책을 제안한 논문이다. 본 논문에서는 Flush를 요청하는 블록의 LBA를 함께 보내주어서 writeback cache에 담겨있는 모든 블록을 쓰는 것이 아니라 Flush 요청한 블록에 대해서만 disk surface에 작성하도록 한다. 이때 궁금한 점은 preflush flag를 설정하지 않는 FUA 블록과의 차이점을 잘 알지 못하였다. 저자에게 이 부분에 대해 질문 요청을 하였을 때 저자는 SSD 자체에서 range query를 할 수 있도록 수정 했고 preflush에 할당 되는 이점은 취득하려고 했다고 하였다.

FAST’18은 스토리지 및 파일시스템 분야를 다루는 국제 학술대회 중 하나인 저명한 학회이다. FAST’18에서 세계적으로 유명한 연구자들에게 조언 및 질문을 받았다는게 너무 영광이다. 이번 학회를 통해, 논문의 중요성을 다시한번 상기시키게 되었고 동기 부여도 되었다. 또한 다른 연구자들이 어떻게 연구를 하고 있는지에 대해 알게 되었으며, 앞으로 연구 방향을 어떻게 하면 좋을지에 대해 생각해 볼 수 있는 좋은 기회였다.

 

IMG_0171

 

[1] Yongseok Son, Sunggon Kim, and Heon Young Yeom, Seoul National University; Hyuck Han, Dongduk Women’s University

[2] Deukyeon Hwang and Wook-Hee Kim, UNIST; Youjip Won, Hanyang University; Beomseok Nam, UNIST

[3] Jeseong Yeon and Minseong Jeong, Chungbuk National University; Sungjin Lee, DGIST; Eunji Lee, Chungbuk National University, University of Wisconsin—Madison