XLIO - 가속 IO SW 라이브러리
The NVIDIA® Accelerated IO (XLIO) SW 라이브러리는 높은 대역폭과 낮은 CPU 사용률을 제공하여 TCP/IP 네트워크 애플리케이션의 성능을 향상시킵니다.
XLIO는 표준 POSIX 및 XLIO Ultra 소켓 API를 커널 우회(kernel-bypass) 아키텍처로 노출하는 사용자 공간 소프트웨어 라이브러리로, 애플리케이션 사용자 공간 메모리와 네트워크 인터페이스 간 하드웨어 기반의 직접 복사(direct copy)를 가능하게 합니다.
XLIO에 Crypto Enabled NVIDIA ConnectX, NVIDIA BlueField 데이터 처리 장치(DPU) 가속 기능을 결합하면 Transport Layer Security (TLS) 암호화 및 복호화에서 획기적인 성능을 제공합니다.
XLIO는 애플리케이션 코드 변경 없이 POSIX 소켓과 XLIO Ultra API 모두에 대해 TCP 성능을 높이는 LRO/TSO 및 Striding-RQ와 같은 HW 기능을 활용할 수 있습니다.
자세한 내용은 documentation website를 방문해 주십시오.
<hr>
<hr>
Getting Started
XLIO 설치(Installing XLIO)
XLIO는 DOCA Software Stack의 일부로 제공됩니다.
자세한 내용은 DOCA website를 방문해 주십시오.
XLIO 빌드(Building XLIO)
전제 조건(Prerequisits)
DOCA 소프트웨어 스택(DOCA Software stack)
XLIO를 사용하려면 시스템에 NVIDIA DOCA-Host 소프트웨어 스택 또는 NVIDIA Bluefiled 번들을 설치해야 합니다.
자세한 내용은 DOCA website를 방문해 주십시오.
DPCP
DPCP (Direct Packet Control Plane)는 XLIO 실행에 필수적입니다.
Repository: libdpcp
$ ./autogen.sh
$ ./configure --prefix=/where/to/install
$ make -j
...
Autoconf, Automake, libtool, unzip, patch, libnl-devel (netlink 3)
XLIO 컴파일하기
트리 최상위 디렉토리에서 다음 명령을 실행하세요:
$ ./autogen.sh
$ ./configure --prefix=/where/to/install --with-dpcp=/where/dpcp/installed --enable-utls
$ make -j
...
--enable-utls : 지원되는 NVIDIA HW의 uTLS 하드웨어 오프로드를 활성화합니다.
사전 설치된 dpcp를 사용하여 XLIO 컴파일하기
$ ./autogen.sh
$ ./configure --prefix=/where/to/install --with-dpcp --enable-utls
$ make -j
...
더 많은 옵션을 참조하세요.
사용 예시
Sockperf
LD_PRELOAD=libxlio.so sockperf <매개변수>
저장소(Repository): Sockperf
nginx
LD_PRELOAD=libxlio.so XLIO_NGINX_WORKERS_NUM=<N> nginx <nginx_매개변수>
N - Nginx 워커 수.
아키텍처 (Architecture)
지원되는 전송 계층 (Supported Transports)
지원되는 CPU 아키텍처 (Supported CPU Architectures)
지원되는 하드웨어 (Supported HW)
라이선스 (Licenses)
LICENSE 파일을 참조하세요.
XLIO 기능 및 매개변수는 README 파일을 참조하세요.
기여 (Contribution)
본 프로젝트의 Contribution 가이드를 따르세요.