장준혁, 국동현, 신진우 (AI대학원 석좌교수), 정명수 (지도교수)
12th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage), 2020, Poster
https://www.usenix.org/conference/hotstorage20/presentation/jang
가비지 컬렉션(GC)은 솔리드 스테이드 드라이브(SSD)의 성능이 저하되는 주 요인 중 하나이다. 따라서 학계 및 산업계에서는 GC로 인한 성능 저하를 줄이기 위해 노력해왔다. 이를 위한 한가지 방식으로, 사용자가 SSD를 사용하지 않는 유휴 시간에 GC를 수행하고자 하는 연구들이 있었다. 백그라운드 GC라 불리는 이 기법은 큰 성능 개선을 얻을 수 있으나, 사용자가 SSD에 요청을 보내는 시점을 예측하기 어렵다는 새로운 문제점이 발생한다.
본 연구진은 심층학습 알고리즘을 사용하여 다음 입출력 요청이 오는 시간을 예측하고, 이를 통해 얻은 정확한 유휴시간을 기반으로 백그라운드 GC를 수행하여 사용자가 GC로 인한 성능 저하를 경험할 수 없도록 하는 새로운 GC 스케줄링 기법을 제안한다. 한편, 기존 DNN알고리즘은 학습하는데 수 십 시간에서 수 일이 걸리기 때문에 가변적인 입출력 요청 도착 시간 패턴의 예측에 적용하기 어렵다. 이를 위해, 본 연구진은 SSD에서 실시간으로 수집된 적은 양의 데이터로 DNN을 학습할 수 있는 가벼운 온라인 학습 알고리즘을 적용하여, 실시간으로 변하는 입출력 패턴을 SSD 내에서 언제나 높은 정확도로 예측할 수 있도록 했다. 제안된 GC스케줄러를 사용했을 때, 기존 알고리즘과 DNN기반 알고리즘에 비해 입출력 요청의 처리지연시간이 각각 82.4%, 67.9% 감소하였으며, 다양한 워크로드에서 DNN기반 알고리즘에 비해 16.9% 높은 예측 정확도를 보였다.
그림1. 시스템 개요
그림2. 고정된 모델과 온라인 학습이 적용된 모델의 예측 정확도 비교