현대 컴퓨팅의 효율성을 위한 비효율 - NVMe-oF/TCP

도건우·2025년 7월 3일
0

엣지 컴퓨팅

목록 보기
3/3

서론

최근 부터 과거까지 데이터센터에서는 컴퓨트 자원과 스토리지 자원을 분리하여 관리하는 디스어그리게이션 아키텍처가 대세로 자리잡고 있다.

디스어그리게이션

위 그림은 디스어그리게이션을 설명하는 그림이다. Figure 2(b)를 확인하면 플래시를 분리한 것을 확인할 수 있다. 이 방법을 통해서 CPU, 스토리지 요구량을 각각 충족하도록 확장하는 방법인데,

현대 컴퓨팅에서 실시간으로 생성되는 데이터, 전처리 해야하는 데이터 등등 데이터의 요구량이 엄청나게 커지고 있다.

LLM pre-trained 모델 데이터셋은 일반적으로 다룰 수 없을 정도로 거대하다.

그렇다면 스토리지 요구량이 아주 크다면, 당연하게도 디스어그리게이션 환경을 구축하는 것이 효과적이다. 그렇다면 컴퓨트 노드와 스토리지 노드를 연결하는 환경도 당연하게 요구된다.

컴퓨트 노드와 스토리지를 연결하는 환경은 RDMA, ISCSI, tcp 등등 있지만, 가장 고성능 환경을 제공하는 것은 RDMA이다.
원격 노드의 메모리에 CPU 개입없이 접근하는 기술이다. 극단적인 저지연, 고대역폭의 데이터 이동을 지원하지만, 실제 시스템에 적용할 때, 한계가 명확하다.

우선 고성능 RDMA는 특수한 네트워크 장비가 필요하다. 또한 프로그래밍이 복잡하고, 나의 경험상 아직 인터페이스가 명확하지 않은 것 같다. 로우레벨 수준이라, 진입장벽이 높은 것 같다.
다음 기술로는 iSCSI가 있는데, 오래되고 안정적인 블록 스토리지 기술이다. 이 기술은 IP 네트워크를 통해 SCSI 명령어를 전송하여 원격 스토리지를 로컬 디스크처럼 사용할 수 있게 해주는 블록 수준 스토리지 프로토콜이다.
RDMA와 다르게 TCP/IP 기반 프로토콜이다. 또한 추가적인 단점은 간단한 구조이고 OS에서 기본적으로 지원하지만 커널 경로를 경유하기 때문에 성능의 한계가 있다.

SPDK NVMe-oF/TCP

SPDK 기반 NVMe-oF/TCP는 앞선 RDMA의 단점인 로우레벨 인터페이스와 iSCSI의 단점인 커널 경로를 극복한 프레임워크이다.

위 이미지는 SPDK의 아키텍처인데, 커널 경로를 우회하고 사용자 공간에서 NVMe SSD를 제어한다. 따라서 폴링 구조로 전용 코어를 배정받고, 사용자 공간에 NVMe Driver를 배치한 뒤 직접적으로 데이터를 읽어온다.

그리고 읽어온 데이터를 NVMe-oF/TCP로 활용하여 호스트로 전송해주는 구조이다.

효율성을 위한 비효율성

확장을 위한 효율성을 챙기는 NVMe-oF/TCP는 또 다른 오버헤드를 남긴다.

TCP를 사용하기 때문이다. 네트워크 패킷으로 인해 추가적인 네트워크 트래픽이 소모되며, 이러한 패킷을 처리하는 데, 비용이 또 소모된다.

만약 현대 컴퓨팅과 같은 큰 데이터 규모라면? 이는 무시할 수 없는 오버헤드 및 낭비라고 판단된다.

레퍼런스

[1] EuroSys ’16 April 18–21, 2016, London, United Kingdom, ACM 978-1-4503-4240-7/16/04. . . $15.00 ,DOI: , http://dx.doi.org/10.1145/2901318.2901337

0개의 댓글