논문/덜 읽은 논문

Priority 1 (관심 논문) CJFS: Concurrent Journaling for Better Scalability

Liam Lim 2023. 3. 21. 15:52
728x90

Joontaek Oh, Seung Won Yoo, and Hojin Nam, KAIST; Changwoo Min, Virginia Tech; Youjip Won, KAIST

February 21–23, 2023 • Santa Clara, CA, USA

USENIX Association

21st USENIX Conference on File and Storage Technologies

 

 

 


Abstract


 

 

 

  본 논문에서는 Concurrent Journaling Filesystem(CJFS)을 제안한다. CJFS는 EXT4를 확장하며, EXT4 journaling design의 근본적인 한계를 해결한다. 이러한 한계가 EXT4의 scalability를 떨어뜨리는 주요 원인이 된다. Heavy-weight EXT4 journal은 두 가지 한계점이 있다.

  1. Journal commit은 strictly serial activity이다.
  2. Journal commit은 original page cache entry를 사용하며, 사본이 사용되지 않으며, 이후 진행 중인 page cache entry에 대한 모든 access가 차단된다.

  이러한 한계를 해결하기 위해, 저자들은 Dual Thread Journaling (이중 thread journaling), Multi-version Shadow Paging, (다중 버전 shadow paging), Opportunistic Coalescing(opportunistic 병합), and Compound Flush (복합 flush)라는 네 가지 기술을 제안한다.

  Dual Thread Journaling으로 CJFS는 이전 journal commit이 끝나기 전에 transaction을 commit할 수 있다.

  Multi-version Shadow Paging으로, CJFS는 여러 commit transaction이 존재해도 transaction conflict없이 작동할 수 있다. 

  Opportunistic Coalescing으로 CJFS는 transaction lock-up overhead를 완화하여 실행 중인 transaction의 system calls의 수를 증가시킬 수 있다.

  Compound Flush로 CJFS는 Flush call의 수를 최소화한다.

  CJFS는 transaction conflict and lock-up overhead를 제거하여 EXT4에 비해 filebench varmail, dbench and MySQL의 OLTP-insert에서 각각 81%, 68% and 125%의 throughput을 향상시킨다.

728x90