Clear Linux와 Mellanox

1.
Chelsio와 Solarflare와 비교할 때 Mellanox가 TCP Offload를 구현하는 방식은 다릅니다. RDMA방식의 TCP Bypass인 Mellanox VMA 설치와 설정에서 소개한 바와 같이 RDMA입니다. Chelsio은 커널모듈을 이용하여 TOE를 구현하지만 리눅스커널에 기본으로 들어가는 모듈이 아닙니다. 비표준적이라는 의미입니다. Solarflare의 소스코드를 세밀히 살피지 않았지만 Solarflare도 역시 OpenOnload를 이용하지만 비표준적인 방식입니다. 직접 시험을 해보지 않았지만 Chelsio와 비슷할 듯 합니다.

Support for SolarFlare Network Interface Cards이 소개한 결과를 보면 예상대로입니다.

여기서 중요한 차이가 발생합니다. Melaanox가 구현한 RDMA는 표준으로 OFED (Open Fabric Enterprise Distirbution)가 커널모듈입니다. OFED in Linux는 다음과 같이 소개합니다.

OFED™, (OpenFabrics Enterprise Distribution) is open-source software for RDMA and kernel bypass applications. OFED can be used in business, research and scientific environments that require highly efficient networks, storage connectivity and parallel computing. It is an OpenFabrics distribution of the RDMA/Advanced Networks code base. The majority of the code is pulled from https://github.com/linux-rdma and https://git.kernel.org. That code is then sometimes enhanced with new modifications being tested by vendors, and/or back ported patches.

2.
이상과 같이 판단에 따라 Mellanox 카드를 설치하기 위해 사용한 Clear Linux는 최신버전입니다. 별도의 작업이 필요없을 것이라 판단하였습니다. Clear Linux를 설치한 후 아래와 같은 명령어를 실행하였습니다.

smallake@as11~ $ lspci

01:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
01:00.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
02:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
02:00.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]

어떤 드라이버가 설치되었는지를 확인하였습니다. mlx5_core가 Infiniband와 Ethernet를 지원하기 위한 드라이버입니다. 별도의 설치작업없이 OS설치만으로 동작합니다.

smallake@as11~ $ lsmod | grep mlx
mlx5_ib 360448 0
ib_uverbs 151552 2 rdma_ucm,mlx5_ib
ib_core 368640 10 rdma_cm,ib_ipoib,rpcrdma,iw_cm,ib_iser,ib_umad,rdma_ucm,ib_uverbs,mlx5_ib,ib_cm
mlx5_core 1482752 1 mlx5_ib
mlxfw 32768 1 mlx5_core
psample 20480 1 mlx5_core
tls 106496 1 mlx5_core
pci_hyperv_intf 16384 1 mlx5_core

이제 가속기능입니다. Chelsio는 T4_TOM이 가속기능을 담당하고 Solarflare는 OpenOnload입니다. Mellanos는 VMA입니다. 설치과정은 무척이나 단순합니다. 설치가이드에 나온 내용대로 합니다.

####Build binary/shared-object####

./autogen.sh
./configure –with-ofed=/usr –prefix=/usr –libdir=/usr/lib64 –includedir=/usr/include –docdir=/usr/share/doc/libvma –sysconfdir=/etc
make
sudo make install

설치를 한 후 시험을 하기 위하여 sockperf를 설치한 후 아래와 같이 명령어를 실행한 결과입니다.

무언가 심각해 보입니다만 Warning을 자세히 보면 해결책을 안내해줍니다.

ulimit -l unlimited

위 명령을 실행한 후 결과입니다.

이제 남은 일은 시험입니다. Intel CPU에 최적화한 OS 환경에서 Solarflare와 Chelsio에 비해 어떤 성능을 보일지를 확인하기 위함입니다.

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.