• 제목/요약/키워드: multi-queue SSD

검색결과 3건 처리시간 0.014초

멀티큐 SSD를 위해 멀티코어 확장성을 제공하는 공정한 입출력 스케줄링 (Multi-core Scalable Fair I/O Scheduling for Multi-queue SSDs)

  • 조민정;강형석;김강희
    • 정보과학회 논문지
    • /
    • 제44권5호
    • /
    • pp.469-475
    • /
    • 2017
  • 최근에 제안된 NVMe 기반의 멀티큐 SSD는 여러 개의 코어들이 전담 큐들을 통해 병렬적으로 입출력을 수행함으로써 높은 SSD 대역폭을 제공한다. 이러한 멀티큐 SSD에 대해서 입출력 응용마다 대역폭 지분을 제공하기 위해서는 각 코어에게 대역폭 지분을 제공하는 것이 요구되며, 이를 위한 공정지분 스케줄링이 필요하다. 본 논문은 멀티큐 SSD를 위해 멀티코어 확장성을 제공하는 공정 큐잉 알고리즘을 제안한다. 제안하는 알고리즘은 무작위 선택 기법을 이용하여 코어간 동기화 오버헤드를 최소화하고 각 코어가 가중치에 비례하는 대역폭을 수신하도록 한다. 실험 결과, 제안하는 알고리즘은 block-mq를 사용하는 커널에서 정확한 대역폭 분할 효과를 보여주며, 코어 개수에 상관 없이 기존 FlashFQ 스케줄러보다 우수한 성능을 보여준다.

다중 큐 SSD 기반 I/O 가상화 프레임워크의 성능 향상 기법 (Improving Performance of I/O Virtualization Framework based on Multi-queue SSD)

  • 김태용;강동현;엄영익
    • 정보과학회 논문지
    • /
    • 제43권1호
    • /
    • pp.27-33
    • /
    • 2016
  • 오늘날 가상화 기술은 가장 유용하게 사용되는 컴퓨팅 기술 중 하나이며 모든 컴퓨팅 환경에서 널리 활용되고 있다. 그러나 가상화 환경의 I/O 계층들은 호스트 머신의 I/O 동작 방식을 인지하지 못하도록 설계되어 있기 때문에 I/O 확장성 문제는 여전히 해결해야 할 문제로 남아 있다. 특히, 다중 큐 SSD가 보조 기억 장치로 사용될 경우, 증가한 잠금 경쟁과 제한된 I/O 병렬화 문제로 가상 머신은 다중 큐 SSD의 공인된 성능을 활용하지 못하는 문제가 발생한다. 이러한 성능 문제를 해결하기 위해 본 논문에서는 가상 CPU마다 전용 큐와 I/O 스레드를 할당하는 새로운 기법을 제안한다. 제안 기법은 성능 저하의 주요한 원인 중 하나인 잠금 경쟁을 효율적으로 분산시키고 또 다른 원인인 Virtio-blk-data-plane의 병렬화 문제를 해소한다. 제안 기법을 평가한 결과 최신 QEMU 보다 IOPS가 최대 155% 향상되는 것을 확인하였다.

Optimizing Fsync Performance with Dynamic Queue Depth Adaptation

  • Park, Daejun;Kim, Min Ji;Shin, Dongkun
    • JSTS:Journal of Semiconductor Technology and Science
    • /
    • 제15권5호
    • /
    • pp.570-576
    • /
    • 2015
  • Existing flash storage devices such as universal flash storage and solid state disk support command queuing to improve storage I/O bandwidth. Command queuing allows multiple read/write requests to be pending in a device queue. Because multi-channel and multi-way architecture of flash storage devices can handle multiple requests simultaneously, command queuing is an indispensable technique for utilizing parallel architecture. However, command queuing can be harmful to the latency of fsync system call, which is critical to application responsiveness. We propose a dynamic queue depth adaptation technique, which reduces the queue depth if user application is expected to send fsync calls. Experiments show that the proposed technique reduces the fsync latency by 79% on average compared to the original scheme.