서지주요정보
CPU efficient networking stack using NIC memory = NIC 메모리를 활용한 네트워킹 스택의 효과적인 CPU 자원 관리
서명 / 저자 CPU efficient networking stack using NIC memory = NIC 메모리를 활용한 네트워킹 스택의 효과적인 CPU 자원 관리 / Byeongkeon Lee.
발행사항 [대전 : 한국과학기술원, 2023].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8040821

소장위치/청구기호

학술문화관(도서관)2층 학위논문

MCS 23006

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

CPU speed has stalled while network speed has been growing exponentially. This imbalance of speed improvements makes the host CPU the bottleneck. To alleviate it, many studies in the network field have been conducted to reduce the CPU burden. We cluster the previous works into the following three main categories based on the approaches: (1) to reduce CPU usage by implementing a networking stack on NIC, (2) to eliminate payload copy, and (3) to optimize the networking stack. Each method, however, has its own drawbacks. (1) The hardware-implemented networking stacks leave little room for modification. (2) Many zero-copy methods require application modification. Further, the application must ensure that the application buffer is not modified for a long time. (3) Copy operation still remains regardless of networking stack optimizations. In this work, we redesign the networking stack to keep the socket buffer in the NIC memory while keeping the socket APIs intact to overcome the mentioned limitations. (1) This work performs the network protocol processing based on the CPU to maintain development flexibility. (2) The application quickly reuses its own buffer, since the socket buffer exists in the NIC memory, unlike the existing zero-copy methods. Further, our work does not require application modification since we keep the socket APIs intact. (3) The NIC DMA module transfers the application buffer to NIC memory without using the host CPU, eliminating CPU-based copy. Our I/O method reduces CPU usage by up to 70.2% compared to the CPU-based memory copy I/O scheme. The TCP stack implemented on top of our work reduces the application buffer holding time by 1.7x $\sim$ 4.9x depending on the buffer size compared to the user buffer direct I/O scheme.

CPU의 성능은 제자리에 머물러 있지만 네트워크의 성능은 꾸준히 지수적으로 증가하고 있다. 이는 개선되지 않는 CPU 성능으로 앞으로의 고성능 네트워크를 감당해야 함을 의미한다. 네트워크 분야에서는 이를 완화하기 위해 CPU의 부담을 줄이는 연구가 많이 이루어지고 있다. 그 연구를 다음과 같이 크게 세 가지로 분류할 수 있다: (1) 네트워킹 스택을 NIC에 구현하여 CPU 사용량을 줄이는 방법, (2) 사용자 데이터를 별도의 버퍼 공간에 복사하는 과정을 필요없도록 하여 복사에 사용되는 CPU 사용량을 줄이는 방법, (3) 네트워킹 스택을 최적화 하는 방법. 하지만 각 방법은 단점이 존재한다. (1) 하드웨어에 구현된 네트워킹 스택은 개발의 유연성이 감소하는 단점, (2) 복사 제거 기법을 활용하기 위해 응용프로그램을 수정하거나 긴 시간동안 응용 계층의 버퍼를 재사용 할 수 없다는 단점, (3) 네트워킹 스택 최적화 연구라도 많은 경우는 버퍼 복사를 여전히 수행하고 있다는 단점이 있다. 본 연구는 소켓 API를 유지함과 동시에 NIC의 메모리를 소켓 버퍼로서 활용하도록 네트워킹 스택을 재구성 함으로써 앞서 언급한 단점들을 극복하고자 한다. (1) 본 연구는 각종 네트워크 프로토콜 처리를 CPU 기반으로 수행하여 개발의 유연성을 유지하였다. (2) NIC 메모리에 소켓 버퍼가 존재하므로 기존의 무복사 기법과는 다르게 응용프로그램은 자신의 버퍼를 빠르게 재사용 할 수 있다. 또한, 소켓 API를 그대로 유지하기 때문에 응용프로그램 코드의 수정을 필요로 하지 않는다. (3) CPU를 사용하는 것이 아니라 NIC의 DMA 모듈을 사용하여 응용 프로그램의 데이터를 NIC 메모리에 옮김으로써 CPU 기반의 복사를 제거하였다. 본 연구에서 제안하는 I/O 기법은 CPU 기반의 복사 I/O 기법에 비해 CPU 사용량을 최대 70.2% 절감하였다. 본 연구의 I/O 기법 위에서 구현된 TCP 스택은 사용자 공간을 직접 I/O 하는 기법에 비해 응용 버퍼 재사용 대기 시간을 버퍼 사이즈에 따라 1.7배에서 최대 4.9배까지 감소시켰다.

서지기타정보

서지기타정보
청구기호 {MCS 23006
형태사항 iv, 33 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 이병건
지도교수의 영문표기 : Sue Moon
지도교수의 한글표기 : 문수복
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 28-31
주제 CPU
DMA
NIC
protocol processing flexibility
no CPU-based copy
buffer holding time
no application modification
CPU
DMA
네트워크 인터페이스 카드
프로토콜 유연성
CPU기반의 복사 제거
버퍼 유지 시간
응용 코드 유지
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서