SCSI RDMA-protokoll

Vid beräkning är SCSI RDMA Protocol ( SRP ) ett protokoll som tillåter en dator att komma åt SCSI- enheter anslutna till en annan dator via fjärrstyrd direktminnesåtkomst (RDMA). SRP-protokollet är också känt som SCSI Remote Protocol. Användningen av RDMA möjliggör högre genomströmning och lägre latens än vad som är allmänt tillgängligt genom t.ex. TCP/IP-kommunikationsprotokollet.

Även om SRP-protokollet har utformats för att använda RDMA-nätverk effektivt, är det också möjligt att implementera SRP-protokollet över nätverk som inte stöder RDMA.

Historia

SRP publicerades som en ANSI-standard (ANSI INCITS 365-2002) 2002 och förnyades 2007 och 2019.

Relaterade protokoll

Som med kommunikationsprotokollet ISCSI Extensions for RDMA (iSER), finns det idén om ett mål (ett system som lagrar data) och en initiator (en klient som kommer åt målet) med målet som initierar dataöverföringar. Med andra ord, när en initiator skriver data till ett mål, exekverar målet en RDMA-läsning för att hämta data från initiatorn och när en användare utfärdar ett SCSI-läskommando, skickar målet en RDMA-skrivning till initiatorn.

Även om SRP-protokollet är lättare att implementera än iSER-protokollet, erbjuder iSER fler hanteringsfunktioner, t.ex. målupptäcktsinfrastrukturen som aktiveras av iSCSI-protokollet.

Prestanda

Bandbredd och latens för lagringsmål som stöder SRP eller iSER-protokollet bör vara liknande. På Linux finns det två SRP- och två iSER-lagringsmål-implementationer tillgängliga som körs inuti kärnan ( SCST och LIO ) och en iSER-lagringsmål-implementering som körs i användarutrymme (STGT). Mätningar har visat att SCST SRP-målet har en lägre latens och en högre bandbredd än STGT iSER-målet. Detta beror förmodligen på att RDMA-kommunikationsoverheaden är lägre för en komponent implementerad i Linux-kärnan än för en Linux-process för användarutrymme, och inte på grund av protokollskillnader.

Genomföranden

För att kunna använda SRP-protokollet behövs en SRP-initiatorimplementering, en SRP-målimplementering och nätverkshårdvara som stöds av initiatorn och målet. Följande SRP-initiatorimplementationer för programvara finns:

  • Linux SRP-initiator, tillgänglig sedan november 2005 (kärnversion 2.6.15).
  • Windows SRP-initiator, tillgänglig via winOFED InfiniBand-stacken.
  • VMWare SRP-initiator, tillgänglig sedan januari 2008 genom Mellanox OFED-drivrutiner för VMware Infrastructure 3 och vSphere 4.
  • Solaris 10 SRP-initiator, tillgänglig via Suns nedladdningssida.
  • Solaris 11 och OpenSolaris SRP-initiator, integrerad som en komponent i projektet COMSTAR.
  • IBM POWER virtuella SCSI-klientdrivrutin för Linux (ibmvscsi), tillgänglig sedan januari 2008 (kärnversion 2.6.24). Virtual SCSI tillåter logiska klientpartitioner att komma åt I/O-enheter (disk, CD och band) som ägs av en annan logisk partition.

Följande SRP-målimplementeringar finns:

  • SCST SRP - målimplementeringen. Detta är en mogen SRP-målimplementering tillgänglig sedan 2008 via både SCST och OFED.
  • Linux LIO SRP-mål, tillgängligt sedan januari 2012 (kärnversion 3.3), baserat på SCST SRP-målet.
  • IBM POWER virtuella SCSI-måldrivrutin (ibmvstgt), tillgänglig sedan januari 2008 (kärnversion 2.6.24).
  • DataDirect Networks (DDN) diskundersystem som S2A9900 och SFA10000, som använder SRP-målimplementeringen i diskundersystemets styrenheter för att presentera LUN:er för servrar (servrarna fungerar som SRP-initiatorer).
  • IBMs FlashSystem.
  • Solaris COMSTAR-målet , tillgängligt sedan början av 2009 i OpenSolaris och Solaris 11.

Se även

  • iSCSI-tillägg för RDMA (iSER)
  • "SRP-uppdatering och vägbeskrivningar" . openfabrics.org. 27 mars 2012.