R&D/Hypervisor 65

aio vs. io_uring 성능 비교

개념 차이AIO (Linux Native AIO)Linux의 전통적인 비동기 I/O 인터페이스 (libaio)커널에 I/O 요청을 제출하고 완료를 polling 또는 event 방식으로 수신구조적으로는 비동기지만 실제 내부는 제한적 비동기👉 핵심 특징syscall 기반 (io_submit, io_getevents)제한적인 operation 지원 (주로 direct I/O)completion polling 비용 존재io_uringLinux 5.1+에서 도입된 차세대 I/O 인터페이스Submission Queue (SQ) / Completion Queue (CQ) 기반 공유 메모리 구조syscall을 최소화하고 zero-copy + batch 처리 최적화👉 핵심 특징ring buffer 기반 (user ..

R&D/Hypervisor 2026.04.10

대규모 VM을 위한 스토리지 확장 전략: IOThread와 Virtqueue 매핑 최적화

최근 클라우드 네이티브 워크로드나 AI 추론용 가상 머신(VM)들은 수십 개의 vCPU를 사용하는 대형 인스턴스로 구성됩니다. 하지만 CPU가 많아진다고 해서 디스크 I/O 성능이 비례해서 늘어날까요?오늘은 레드햇의 최신 가이드를 바탕으로, virtio-blk 성능 확장의 핵심인 IOThread와 Virtqueue 매핑 전략을 살펴보겠습니다.1. 왜 대형 VM에서 I/O 병목이 발생하는가?전통적인 가상화 방식에서는 모든 I/O 처리가 단일 IOThread에서 이루어집니다. 아무리 vCPU가 많아도 I/O를 처리하는 입구(Thread)가 하나라면, 여기서 병목이 발생하여 고성능 NVMe 스토리지의 성능을 100% 활용할 수 없게 됩니다.2. 해결의 열쇠: IOThread와 Virtqueue이 병목을 해결하..

R&D/Hypervisor 2026.03.12

[USB] Types of data transfers

OUT : Host computer --> USB deviceIN : USB device --> Host computer USB endpoint 의 종류 CONTROL : (Asynchronous) control endpoint 는 USB device에 access하기 위해서 사용됨 예를 들어 configure device, retrieving information from device, sending command to the device, retrieving status reports about the device 모든 USB device 는 CONTROL에 해당하는 "endpoint 0"를 가짐 USB device가 insert 될 때 사용됨 guaranteed by the USB protocol ..

R&D/Hypervisor 2014.11.20
728x90
반응형