—ฅ/ᐠ. ̫ .ᐟ\ฅ —

My Laboratory

[MQSim] 변수 변경에 따른 성능을 평가해보자

WIFI-Aircat 2025. 1. 23. 15:57
🌟 Memory Computing and Computer Architecture Lab
MQSim Weekly Seminar

 

 

[MQSim] Intro

🌟 Memory Computing and Computer Architecture LabMQSim : Multi-Queue SSD와 conventional SATA-based SSD의 동작을 평가할 수 있는 시뮬레이터 MQSim 깃허브 - https://github.com/CMU-SAFARI/MQSim GitHub - CMU-SAFARI/MQSim: MQSim is a fast

wifiaircat.tistory.com


먼저, MQSim의 기본 작용을 이해하고 변수를 탐구하기 위한 세 가지 실험을 진행하였다.

 

 

실험1. Page Read Latency 변화에 따른 성능 확인
실험2. PCIe_Lane_Bandwidth 변화에 따른 성능 확인
실험3. Flash Chip과 Flash Channel 개수 변화에 따른 성능 확인
  • 성능 평가 요소 : Bandwidth, Device Response Time, End-to-End Request Delay 
  • Bandwidth : 일정 시간 내 연결을 통과할 수 있는 데이터 양
  • Device Response Time : Host가 SSD에 요청을 보낸 순간부터 SSD가 요청을 처리해 응답하기까지 시간
  • End-to-End Request Delay(E2E Delay) : 요청이 Host에서 생성되어 최종 처리된 결과를 받기까지 시간

 

실험1. Page Read Latency 변화에 따른 성능 확인

  • Page_Read_Latency : SSD 내부에 있는 Flash Memory가 데이터를 읽고 쓸 수 있는 속도
  • SSD가 물리적으로 전달 가능한 스택이 증가하면 Bandwidth는 증가할 것이다

 

 

실험2. PCIe_Lane_Bandwidth 변화에 따른 성능 확인

  • PCIe_Lane_Bandwidth : Flash Memory에 관계없이 SSD가 자체적으로 외부에 전달할 수 있는 속도
  • Host와 SSD 사이의 PCIe Bus 통로를 늘리면 어떻게 되는지에 대한 실험이다
  • SSD가 물리적으로 전달 가능한 스택이 증가하면 Bandwidth는 증가할 것으로 보인다.

 

 

실험3. Flash Chip과 Flash Channel 개수 변화에 따른 성능 확인

  • Flash Channel ✕ Flash Chip : 동작 가능한 unit 개수
  • 각 플래시 칩은 내부에서 독립적으로 읽고 쓸 수 있기 때문에 Flash Channel 수와 Chip 수가 늘어나면 병렬성이 증가한다.


추가)

실험 결과에서 Response Time과 E2E Delay가 같은 값으로 나온다.

E2E Delay는 Response Time을 포함한 값이기 때문에 같은 값이면 안 될 것 같다.

E2E Delay 시간은 SSD 내부에서 처리할 때 발생하는 시간뿐만 아니라

Host Queue 처리 시간, NVMe/PCIe 대기 시간까지 포함한다고 한다.

 

 

생각할 수 있는 이유

 

  1. 호스트 대기 시간이 거의 없는 상태
    - 요청이 Host Queue에서 지연 없이 바로 SSD로 전달되고 처리된 응답이 즉시 반환된다
    - Host Queue가 비어 있어 요청이 지연없이 바로 SSD로 전달된다
    - NVMe/PCIe 대역폭이 충분해서 데이터 전송 과정에서 병목 현상이 없다

  2. I/O race conditon과 대역폭 병목 현상이 없는 상태
    - PCIe 대역폭이 충분히 크고 요청이 전송지연 없이 처리된다
    - SSD 내부에서도 요청이 효율적으로 병렬 처리되고 있다

  3. 저부하(underutilized) 상태
    - 실험환경 워크로드가 너무 적다
    - Queue크기나 I/O 요청 생성 속도가 낮다

 

Host 대기 지연이 없고 SSD 자체 처리 시간이 전체 요청 지연을 지배한다 (시스템 병목이 없는 이상적인 상태)

워크로드를 늘리거나 Host Queue 크기, Bandwidth 제한을 걸어서 실험할 수 있다.

반응형