iWARP
iWARPiWARP는 Internet Protocol 네트워크를 통한 효율적인 데이터 전송을 위해 원격 직접 메모리 액세스(RDMA)를 구현하는 컴퓨터 네트워킹 프로토콜입니다.일부 [1]설명과 달리 iWARP는 [2]약자가 아닙니다.
iWARP는 Transmission Control Protocol(TCP)이나 Stream Control Transmission Protocol(SCTP) 등의 Internet Engineering Task Force(IETF) 표준 congestion 인식 프로토콜에 계층화되어 있기 때문에 네트워크에 대한 요건이 거의 없으며 다양한 환경에서 정상적으로 도입할 수 있습니다.
역사
2007년에 IETF는 iWARP를 정의하는5개의 댓글 요구(RFC)를 발표했습니다.
- RFC 5040 Remote Direct Memory Access Protocol 사양은 Direct Data Placement Protocol(DDP) 위에 계층화되어 있습니다.DDP를 사용하여 RDMA 송신, 읽기 및 쓰기 작업을 네트워크상의 헤더로 인코딩하는 방법을 정의합니다.
- RFC 5041 신뢰성 높은 트랜스포트 상에서의 직접 데이터 배치는 MPA/TCP 또는 SCTP 상에서 계층화되어 있습니다.수신된 데이터를 중간 버퍼 없이 상위 계층 프로토콜의 수신 버퍼에 직접 배치할 수 있는 방법을 정의합니다.
- RFC 5042 DDP(Direct Data Placement Protocol)/RDMAP(Remote Direct Memory Access Protocol) 보안은 iWARP DDP 및 RDMAP 프로토콜 계층과 관련된 보안 문제를 분석합니다.
- RFC 5043 Stream Control Transmission Protocol(SCTP) Direct Data Placement(DDP) Adaptation은 SCTP를 통한 DDP를 활성화하는 적응 계층을 정의합니다.
- RFC 5044 Marker PDU Aligned Framing for TCP Specification은 TCP 신뢰성이 높은 접속 바이트스트림 상에 레이어된 DDP 레벨의 프로토콜 레코드 경계를 보존할 수 있는 적응 레이어를 정의합니다.
이러한 RFC는 RDMA 컨소시엄의 RDMA over TCP 사양에 [3]근거하고 있습니다.RDMA 컨소시엄의 사양은 Virtual Interface Architecture(VIA; 가상 인터페이스 아키텍처) 및 InfiniBand(IB; InfiniBand)를 포함한 이전의 RDMA 표준에 영향을 받습니다.
2007년 이후 IETF는 iWARP를 유지 및 확장하는3개의 RFC를 추가 발행하고 있습니다.
- RFC 6580 Remote Direct Data Placement(RDDP) Protocols for Remote Direct Data Placement(RDDP) Registries 에서는 Remote Direct Data Placement(RDDP) 에러 코드, 조작 코드, 기능 코드의 IANA 레지스트리가 정의되어 있습니다.
- RFC 6581 2011년에 발표된 확장 리모트 다이렉트 메모리 액세스(RDMA) 접속 확립에서는 iWARP 접속 셋업의 단점을 수정하고 있습니다.
- RFC 7306 RDMA(Remote Direct Memory Access) Protocol Extensions는 2014년에 공개되었으며 RFC 5040은 원자적인 조작과 RDMA Write with Immediate Data로 확장되었습니다.
프로토콜
iWARP 프로토콜의 주요 컴포넌트는 Direct Data Placement Protocol(DDP)로, 실제 제로 카피 전송을 가능하게 합니다.DDP 자체는 전송을 수행하지 않습니다. 기본 프로토콜(TCP 또는 SCTP)은 전송을 수행합니다.
단, TCP는 메시지 경계를 따르지 않습니다.프로토콜 데이터 유닛(PDU)에 관계없이 일련의 바이트로 데이터를 전송합니다.이 점에서 DDP 자체는 SCTP에 더 적합할 수 있으며 실제로 IETF는 SCTP를 통한 표준 RDMA를 제안했습니다.DDP over TCP 를 실행하려면 , 메시지의 경계를 보증하기 위해서, Marker PDU Aligned(MPA; 마커 PDU 정렬) 프레이밍이라고 불리는 조정이 필요합니다.
또한 DDP는 직접 액세스할 수 없습니다.대신 별도의 RDMA 프로토콜(RDMAP)이 데이터를 읽고 쓰는 서비스를 제공합니다.따라서 RDMA over TCP 사양 전체가 실제로는 MPA/TCP 또는 SCTP를 통한 RDMAP over DDP입니다.이러한 프로토콜은 모두 하드웨어에서 구현할 수 있습니다.
IB와 달리 iWARP는 TCP와 SCTP가 제공하는 유일한 서비스이기 때문에 신뢰할 수 있는 연결 통신만 제공합니다.iWARP 사양에서는 Send with Immediate Data(즉시 데이터 전송) 작업과 같은 IB의 다른 기능은 제외됩니다.RFC 7306에서는 IETF는 이러한 누락을 줄이기 위해 노력하고 있습니다.
실행
TCP 스택의 커널 구현은 병목 현상으로 간주될 수 있기 때문에 이 프로토콜은 일반적으로 하드웨어 RDMA 네트워크 인터페이스 컨트롤러(rNIC)에서 구현됩니다.밀접하게 결합된 네트워크 환경에서는 단순한 데이터 손실이 드물기 때문에 TCP의 오류 수정 메커니즘은 소프트웨어에 의해 실행되는 반면 더 자주 수행되는 통신은 rNIC에 내장된 논리에 의해 엄격하게 처리됩니다.마찬가지로 대부분의 경우 접속은 전적으로 소프트웨어에 의해 확립되어 하드웨어에 인계됩니다.또한 iWARP 고유의 프로토콜 세부사항 처리는 TCP 구현에서 분리되는 경우가 많기 때문에 rNIC를 RDMA 오프로드 및 TCP 오프로드(기존 소켓 기반 TCP/IP 애플리케이션을 지원)로 사용할 수 있습니다.TCP 프로토콜 구현에 사용되는 하드웨어 구현의 일부를 TCP 오프로드 엔진(TOE)이라고 합니다.
TOE 자체는 수신측에서의 복사를 방해하지 않기 때문에 제로 카피 결과를 얻으려면 RDMA 하드웨어와 조합해야 합니다.RDMA/TCP 사양은 하드웨어에 구현하기 위한 서로 다른 와이어 프로토콜 세트입니다(호환성을 위해 소프트웨어에서 에뮬레이트하는 것은 가능하지만 성능상의 이점은 없습니다).
인터페이스
iWARP는 구현이 아닌 프로토콜이지만 동사로 알려진 프로토콜에 대해 합법적인 작업 측면에서 프로토콜 동작을 정의합니다.따라서 iWARP에는 단일 표준 프로그래밍 인터페이스가 없습니다.그러나 프로그래밍 인터페이스는 동사에 매우 가까운 경향이 있습니다.
OpenFabrics 동사, Network Direct, uDAPL, kDAPL, IT-API, RNICPI 등 몇 가지 프로그래밍 인터페이스가 제안되었습니다.이러한 인터페이스 중 일부는 Windows 및 Linux 등 다양한 플랫폼에서 구현할 수 있습니다.
이용 가능한 서비스
iWARP를 통해 구현되는 네트워킹 서비스에는 OpenFabrics Enterprise Distribution(OFED)에서 제공되는 서비스 및 Microsoft Windows에서 Network Direct를 통해 제공되는 서비스가 포함됩니다.
- NVMe over Fabric(NVMe over Fabric)
- RDMA용 iSCSI 확장(iSER)
- 서버 메시지 블록 다이렉트(SMB 다이렉트)
- 소켓 다이렉트 프로토콜(SDP)
- SCSI RDMA 프로토콜(SRP)
- 네트워크 파일 시스템 over RDMA(NFS over RDMA)
- GPUDirect
벤더
iWarp 대응 기기의 일반적인 벤더는 다음과 같습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "Understanding iWARP: Delivering Low Latency to Ethernet" (PDF). Intel. 2015-11-24. Retrieved 2018-09-07.
- ^ "RDMA Consortium FAQs".
{{cite web}}
: CS1 maint :url-status (링크) - ^ "RDMA Consortium". 2009-12-17. Retrieved 2017-08-23.
외부 링크
- New Hampshire University InterOperability Laboratory OpenFabrics Alliance - iWARP 디바이스 테스트
- 원격 직접 데이터 배치(IETF)
- MPI-SCTP: 메시지 전달 인터페이스를 사용하여 작성된 병렬 프로그램에 스트림 제어 전송 프로토콜 사용(2008-09-01)
- SMB2 RDMA 트랜스포트 프로토콜 (2017-06-01)