[연구] 이상원 교수 연구실 (이보현 석사과정) VLDB 2023 논문 게재 승인
- 소프트웨어융합대학
- 조회수1650
- 2023-04-28
VLDB 연구실 (지도교수: 이상원) 이보현 석사과정, 안미진 박사 (졸업생) “LRU-C: Parallelizing Database I/Os for Flash SSDs” 논문이 49th International Conference on Very Large Data Bases (VLDB)에 게재 승인되었습니다. VLDB는 데이터베이스 분야의 Top-tier 학술대회이며, 캐나다 밴쿠버에서 개최됩니다.
[연구 내용]
기존의 데이터베이스 버퍼 관리자에는 read stall과 mutex 충돌로 인해 I/O 요청이 직렬화됩니다. 직렬화된 I/O는 스토리지와 CPU의 활용률을 낮게 만들어 트랜잭션 처리량과 지연 시간을 제한합니다. 이러한 피해는 비대칭 읽기-쓰기 속도와 풍부한 I/O 병렬성을 갖춘 플래시 SSD에서 두드러집니다.
본 연구에서는 데이터베이스 I/O를 병렬적으로 요청해 플래시 SSD의 병렬화를 활용하기 위해 데이터베이스 버퍼링에 대한 새로운 접근 방식인 LRU-C 방법을 제안합니다. LRU list에서 가장 최근에 사용되지 않는 clean 페이지를 가리키는 LRU-C 포인터를 도입합니다. 페이지 miss 시 LRU-C는 현재 LRU clean 페이지를 victim으로 선택하고 LRU list의 다음 LRU 치료 페이지로 포인터를 조정합니다. 이러한 방식으로 LRU-C는 read stall로 인한 I/O serialization를 방지할 수 있습니다. LRU-C 포인터는 I/O throughput을 향상시키기 위해 dynamic batch write 및 parallel LRU list manipulation이라는 두 가지 최적화 방안을 제안합니다. 전자는 한 번에 더 dirty한 페이지를 flush할 수 있는 반면, 후자는 두 개의 뮤텍스로 인해 발생하는 I/O 직렬화를 완화합니다. 플래시 SSD에서 MySQL 기반 LRU-C 프로토타입을 사용하여 OLTP 워크로드를 실행한 결과, Vanilla MySQL 및 최첨단 WAR 솔루션에 비해 트랜잭션 처리량이 각각 3배 및 1.5배 향상되고 테일 latency도 대폭 감소하는 것을 확인하였습니다. LRU-C는 hit ratio를 약간 떨어뜨리나 I/O 처리량이 증가하기 때문에 hit ratio가 감소되는 것을 훨씬 상쇄합니다.