0 Abstract
Flash 기반 SSD는 미래 스토리지 시스템의 핵심 구성 요소가 될 것이다. 정확한 성능 모델은 SSD의 최신 기술을 이해하는 데 도움이 될 뿐만 아니라 이러한 스토리지 시스템의 design space을 탐색하기 위한 연구의 도구로 사용될 수 있다. 수년에 걸쳐 하드 드라이브용으로 많은 성능 모델이 개발되었지만 두 장치 제품군 간의 아키텍처 차이로 인해 이러한 모델이 SSD에 효과적이지 않다. 하드 드라이브 성능 모델은 low latency, slow update, expensive block-level erase와 같은 SSD의 고유한 특성을 설명할 수 없다. 본 논문에서는 저장 장치에 대한 최소한의 apriori information(사전 정보가 필요한) black-box modeling방식을 활용하여 SSD 성능을 latency, bandwidth, throughput 등으로 분석하고 평가한다. 논문에서는 synthetic workload(합성 워크로드)와 real-world trace를 모두 사용하여 3개의 SSD와 SSD RAID에서 block-box model을 만들었다. Black-box 접근 방식은 하드 디스크에 대해서는 성능 예측이 부족할 수 있지만 복합적인 워크로드 특성 세트를 가진 black-box SSD model은 작은 오류로 latency, bandwidth, throughput에 대한 정확한 예측을 생성할 수 있는 것을 확인하였다.
3 BLACK-BOX PERFORMANCE MODELING FOR SSDS
SSD에 대한 성능 모델링의 목표는 워크로드 특성을 통해 주어진 SSD의 성능을 예측하는 데 사용할 수 있는 블랙박스 모델을 구축하는 것이다. 그림 2에 표시된 접근 방식에서 블랙박스 모델은 두 단계로 이루어진다. 1) SSD를 벤치마킹하고 model inputs (workload characteristics) 및 outputs (performance metric)으로 구성된 training data를 수집한다. 2) 통계적 방법을 활용하여 입력과 출력 간의 correlation을 정량화하고 모델을 구성 및 검증한다. 합리적인 것은 성능이 워크로드 특성과 높은 상관 관계를 나타내는 경향이 있다는 것이다. 예를 들어 SSD latency와 throughput은 write request의 비율, random request의 개수, outstanding I/O request가 다를 때 변동(fluctuate)한다.
이 섹션에서는 하드 드라이브에 사용된 기본 블랙박스 모델로 시작하여 SSD 성능에 큰 영향을 미치는 추가 워크로드 특성을 포함하도록 확장 모델을 구축한다. 또한 사전 정의된 시나리오에서 SSD 성능을 예측하는 데 도움이 되는 8가지 워크로드별 모델을 소개한다.
A. Basic Model
일반적인 블랙박스 모델은 워크로드 특성의 함수($F$)로 성능을 예측한다. 이 모델은 워크로드 특성($wc$)을 input parameter로 사용하고 predicted performance metric ($p$)를 결과로 출력한다. eq1. $p = F(wc)$
워크로드는 I/O request의 stream으로 정의된다. 일반적으로 하드 드라이브를 모델링할 때 워크로드 특성은 request에서의 write 비율인 read and write ratio($rw\_ratio$), 송수신되는 바이트 수를 나타내는 request size($req\_size$), 미해결(outstanding) I/O 수를 나타내는 queue depth ($q\_dep$), I/O request stream의 random access 비율로 정의되는 request randomness 로 정의한다. 따라서 단일 워크로드 $wc$는 eq2와 같이 워크로드 특성의 벡터로 나타낼 수 있다. eq2. $wc =<wr\_ratio, q\_dep, req\_size, rand>$
논문에서는 latency($lat$), bandwidth($bw$), IOs per second(iops)의 세 가지 performance metric에 중점을 둔다. 따라서 performance $p$는 eq3에 표시된 세 가지 metric 중 하나로 나타낼 수 있다.
eq3. $p = lat|bw|iops$
eq1의 함수 $F$는 각 metric마다 다르며 SSD마다 다를 것이다. 또한 $F$는 다양한 형태로 표현될 수 있다. 이 논문에서는 곧 소개할 regression tree를 활용한다.
먼저 basic model의 4가지 워크로드 매개변수가 SSD 성능을 예측하는 데 효과적인지 여부를 연구하고자 한다. 이를 위해 이 모델의 효과를 연구하기 위한 여러 실험을 수행하였다(실험 설정은 Section IV에 자세히 설명되어 있음). Write 비율과 queue depth가 SSD의 latency, bandwidth, throughput에 미치는 영향부터 시작한다. Fig 3과 4는 SSD_I, SSD_S 그리고 HDD_S의 세 가지 드라이브에 대한 결과를 보여준다. 매 테스트에서 하나의 매개변수를 변경하고 나머지는 기본값을 사용하였다. 해당 매개변수가 분석 대상이 아닐 때 쓰기 비율, 큐 깊이, 읽기 크기 및 쓰기 크기의 기본값은 각각 읽기의 경우 0%(또는 쓰기의 경우 100%), 1, 256KB 및 256KB입니다. 모든 테스트는 쓰기와 읽기 모두에 대해 100% 임의성을 사용하며, 이는 그림의 대기 시간이 길기 때문입니다.
그림 3에서 볼 수 있듯이, 특히 많은 읽기 요청을 처리할 때 2개의 솔리드 스테이트 드라이브가 하드 드라이브보다 성능이 우수하다는 사실은 놀라운 일이 아닙니다. 예를 들어 요청의 90%가 읽기인 경우 SSD의 지연 시간은 약 2밀리초이고 대역폭은 100~150MB입니다. 이 경우 하드 드라이브의 대기 시간은 5배이고 대역폭은 약 20MB/s입니다. 그림에서 쓰기 비율은 SSD I 및 SSD S의 세 가지 성능 메트릭 모두에 큰 영향을 미친다는 것을 분명히 알 수 있습니다. 워크로드에 쓰기가 많을수록 대기 시간이 증가하고 대역폭과 처리량이 모두 감소합니다. 앞서 언급했듯이 SSD는 읽기와 쓰기, 즉 빠른 읽기와 느린 쓰기에 대해 비대칭적인 성능을 가지고 있습니다. 대조적으로, 하드 드라이브 HDD S는 세 가지 성능 지표에서 작은 변화를 보여줍니다. 세 가지 범주 모두에서 SSD I은 다른 두 장치를 능가합니다. 즉, 대부분의 경우 낮은 대기 시간, 높은 대역폭 및 처리량을 달성합니다. SSD I의 더 높은 성능은 제어 로직의 우수한 설계와 더 큰 내부 버퍼에서 비롯된 것이라고 의심할 수 있습니다. SSD가 반드시 하드 드라이브보다 좋은 것은 아닙니다. 더 많은 쓰기가 있을 때 HDD S는 실제로 SSD S를 능가하여 이 초기 세대 SSD의 열등한 디자인을 나타냅니다. 그림 4에서 대기열 깊이가 세 장치의 대기 시간에 상당한 영향을 미치는 것을 볼 수 있습니다. SSD I이 가장 좋고 SSD S가 가장 나쁩니다. 대역폭과 처리량에 대한 대기열 깊이의 영향은 둘 다 포화 상태에 도달하면 최소화됩니다.