Zero-Copy는 왜 빠를까? (Kafka)
·
DATA Engineering/Kafka
선요약 Kafka는 일반적인 copy 가 아니라 zero-copy를 사용해서 속도가 빠르다 zero-copy는 데이터를 네트워크로 전송할때 생기는 Kernel-Application단에서 생기는 버퍼과정과 복사본 수를 줄이는 기법을 사용했다 NIC버퍼가 Socket버퍼를 거치지않고, Read버퍼에 DMA(직접메모리접근)엔진으로부터 Read버퍼의 내용을 가지는 Descriptor를 가짐으로써 데이터를 읽게된다 zero-copy 과정에서 생기는 버퍼복사는 단 2회 Read(), Send() 등의 시스템 콜에 의해 바뀌는 context-switching(유저모드,커널모드) 에 대한 오버헤드를 줄이고, DMA엔진의 용량보다 데이터양이 더 클때 생기는 미리읽기 성능저하를 방지할수 있음 (기존 copy, 향상된 co..
jjongguet
'zero-copy' 태그의 글 목록