RapidIO - RapidIO

RapidIO
Logo RapidIO fair use.jpg
RapidIO - jednotná struktura pro výkonnostní kritické výpočty
Rok vytvoření 2000 ; Před 21 lety  ( 2000 )
Šířka v bitech Šířky portů 1, 2, 4, 8 a 16 jízdních pruhů
Počet zařízení Velikosti 256, 65 536 a 4 294 967 296
Rychlost Na jízdní pruh (každý směr):
Styl Seriál
Rozhraní hotplugging Ano
Externí rozhraní Ano, Chip-Chip, Board-Board (Backplane), Chassis-Chassis
webová stránka www .rapidio .org

Architektura RapidIO je vysoce výkonná technologie propojení paketů . RapidIO podporuje sémantiku zasílání zpráv, čtení / zápis a ukládání do mezipaměti . Tkaniny RapidIO zaručují doručování paketů v pořádku a umožňují hardwarově a oblastně efektivní implementaci protokolu v hardwaru. Na základě standardních elektrických specifikací, jako jsou specifikace pro Ethernet , lze RapidIO použít jako propojení mezi čipy, mezi deskami a mezi šasi. Protokol se prodává jako: RapidIO - jednotná struktura pro výkonnostní kritické výpočty a používá se v mnoha aplikacích, jako jsou datová centra a HPC, komunikační infrastruktura, průmyslová automatizace a armáda a letectví, které jsou omezeny alespoň jednou velikostí, hmotností, a napájení (SWaP).

Dějiny

RapidIO má své kořeny v energeticky účinných a vysoce výkonných počítačích. Protokol byl původně navržen společnostmi Mercury Computer Systems a Motorola ( Freescale ) jako náhrada proprietární sběrnice Mercury RACEway a sběrnice PowerPC společnosti Freescale. Obchodní sdružení RapidIO bylo založeno v únoru 2000 a zahrnovalo výrobce OEM v oblasti telekomunikací a úložišť, jakož i společnosti v oblasti FPGA, procesorů a přepínačů. Protokol byl navržen tak, aby splňoval následující cíle:

  • Nízká latence
  • Zaručené, v pořádku, doručení paketu
  • Podpora sémantiky zpráv a čtení / zápisu
  • Lze použít v systémech vyžadujících odolnost proti chybám / vysokou dostupnost
  • Mechanismy řízení toku pro řízení krátkodobého (méně než 10 mikrosekund), střednědobého (desítky mikrosekund) a dlouhodobého (stovky mikrosekund až milisekund) přetížení
  • Efektivní implementace protokolu v hardwaru
  • Nízký výkon systému
  • Škálování od dvou do tisíců uzlů

Historie verzí

Specifikace RapidIO verze 1.1 ( 3xN Gen1 ), vydaná v březnu 2001, definovala širokou paralelní sběrnici. Tato specifikace nedosáhla rozsáhlého komerčního přijetí.

Specifikace RapidIO 1.2, vydaná v červnu 2002, definovala sériové propojení založené na fyzické vrstvě XAUI. Zařízení založená na této specifikaci dosáhla významného komerčního úspěchu v bezdrátovém základním pásmu, zobrazování a vojenských výpočtech.

Specifikace RapidIO 1.3 byla vydána v červnu 2005.

Specifikace RapidIO 2.0 ( 6xN Gen2 ), vydaná v březnu 2008, přidala další šířky portů (2 ×, 8 × a 16 ×) a zvýšila maximální rychlost jízdního pruhu na 6,25  GBd / 5 Gbit / s. Revize 2.1 zopakovala a rozšířila komerční úspěch specifikace 1.2.

Specifikace RapidIO verze 2.1 byla vydána v září 2009.

Specifikace RapidIO verze 2.2 byla vydána v květnu 2011.

Specifikace RapidIO Specification Revision 3.0 ( 10xN Gen3 ), vydaná v říjnu 2013, má oproti specifikacím 2.x následující změny a vylepšení:

  • Založeno na standardních elektrických specifikacích Ethernetu 10GBASE-KR pro aplikace s krátkým (20 cm + konektor) a dlouhým (1 m + 2 konektor) dosahem
  • Přímo využívá tréninkové schéma Ethernet 10GBASE-KR DME pro optimalizaci kvality signálu s dlouhým dosahem
  • Definuje schéma kódování 64b / 67b (podobné standardu Interlaken ) pro podporu jak měděného, tak optického propojení a pro zlepšení účinnosti šířky pásma
  • Dynamické asymetrické odkazy pro úsporu energie (například 4 × v jednom směru, 1 × v druhém)
  • Přidání možnosti časové synchronizace podobné IEEE 1588 , ale její implementace je mnohem levnější
  • Podpora ID 32bitových zařízení, zvýšení maximální velikosti systému a umožnění inovativní podpory virtualizace hardwaru
  • Revidovaný programovací model směrovací tabulky zjednodušuje software pro správu sítě
  • Optimalizace protokolu výměny paketů

Specifikace RapidIO verze 3.1, vydaná v říjnu 2014, byla vyvinuta na základě spolupráce mezi asociací RapidIO Trade Association a NGSIS. Revize 3.1 má ve srovnání se specifikací 3.0 následující vylepšení:

  • Protokol synchronizace času MECS pro menší vestavěné systémy. MECS Time Synchronization podporuje redundantní časové zdroje. Tento protokol je levnější než synchronizační protokol časového razítka uvedený v revizi 3.0
  • PRBS testovací zařízení a standardní registrační rozhraní.
  • Strukturálně asymetrický odkaz behaviorální definice a standardní rozhraní registru. Strukturálně asymetrické odkazy přenášejí mnohem více dat v jednom směru než v druhém, pro aplikace, jako jsou senzory nebo zpracovatelské kanály. Na rozdíl od dynamických asymetrických odkazů umožňují strukturálně asymetrické odkazy implementátorům odstranit pruhy na deskách a v křemíku, což šetří velikost, hmotnost a výkon. Strukturálně asymetrické odkazy také umožňují použití alternativních pruhů v případě selhání hardwaru na víceproudém portu.
  • Rozšířený protokol chyb k zachycení řady chyb pro diagnostické účely
  • Profily vesmírných zařízení pro koncové body a přepínače, které definují, co to znamená být vesmírným zařízením RapidIO.

Specifikace RapidIO verze 3.2 byla vydána v únoru 2016.

Specifikace RapidIO Specification Revision 4.0 ( 25xN Gen4 ) byla vydána v červnu 2016. má oproti specifikacím 3.x následující změny a vylepšení:

  • Podpora rychlosti pruhu 25 Gbaud a specifikace fyzické vrstvy s přidruženými změnami programovacího modelu
  • Povolit použití IDLE3 s jakoukoli třídou přenosové rychlosti se specifikovaným vyjednáváním sekvence IDLE
  • Zvýšena maximální velikost paketu na 284 bajtů v očekávání specifikace Cache Coherency
  • Podpora 16 priorit fyzické vrstvy
  • Podpora „Bezchybného přenosu“ pro vysoce propustný izochronní přenos informací

Specifikace RapidIO verze 4.1 byla vydána v červenci 2017.

RapidIO používané v bezdrátové infrastruktuře

Tkaniny RapidIO se těší dominantnímu tržnímu podílu v globálním nasazování sítí 3G, 4G a LTE celulární infrastruktury s miliony portů RapidIO dodávaných do bezdrátových základnových stanic po celém světě. Tkaniny RapidIO byly původně navrženy tak, aby podporovaly propojení různých typů procesorů od různých výrobců v jednom systému. Tato flexibilita způsobila široké použití RapidIO v zařízeních bezdrátové infrastruktury, kde je potřeba kombinovat heterogenní, DSP, FPGA a komunikační procesory v těsně propojeném systému s nízkou latencí a vysokou spolehlivostí.

RapidIO používané v analýze datových center / HPC

Systémy Data Center a HPC Analytics byly nasazeny pomocí technologie RapidIO 2D Torus Mesh Fabric, která poskytuje vysokorychlostní univerzální rozhraní mezi systémovými kazetami pro aplikace, které těží z vysoké šířky pásma a nízké latence komunikace mezi uzly. Jednotná struktura RapidIO 2D Torus je směrována jako konfigurace torusového prstence, která spojuje až 45 serverových kazet schopných poskytovat připojení 5 Gbs na cestu v každém směru k jeho severním, jižním, východním a západním sousedům. To umožňuje systému vyhovět mnoha jedinečným aplikacím HPC, kde je vyžadován efektivní lokalizovaný provoz.

Pomocí otevřeného modulárního datového centra a výpočetní platformy také heterogenní systém HPC předvedl atribut nízké latence RapidIO, který umožňuje analýzu v reálném čase. V březnu 2015 byl oznámen přepínač typu top-of-rack, který pohání RapidIO do běžných aplikací datových center.

RapidIO v letectví a kosmonautice

Propojení neboli „sběrnice“ je jednou z kritických technologií při navrhování a vývoji avionických systémů kosmických lodí, která určuje její architekturu a úroveň složitosti. Existuje řada stávajících architektur, které se vzhledem k jejich úrovni vyspělosti stále používají. Tyto existující systémy jsou dostatečné pro daný typ architekturní potřeby a požadavku. Bohužel pro mise příští generace je žádoucí schopnější architektura avioniky; což je mnohem nad možnosti, které vyžadují stávající architektury. Životaschopnou možností návrhu a vývoje těchto architektur nové generace je využití stávajících komerčních protokolů schopných pojmout vysokou úroveň přenosu dat.

V roce 2012 si RapidIO vybrala pracovní skupina pro generaci kosmických lodí nové generace (NGSIS), která bude sloužit jako základ pro standardní komunikační propojení pro použití v kosmických lodích. NGSIS je zastřešujícím standardním úsilím, které zahrnuje vývoj RapidIO verze 3.1, a hardwarové standardní standardy na úrovni skříně v rámci VITA 78 nazvané SpaceVPX nebo High ReliabilityVPX. Výbor pro požadavky NGSIS vyvinul rozsáhlá kritéria požadavků se 47 různými prvky pro propojení NGSIS. Výsledky nezávislých obchodních studií členských společností NGSIS prokázaly nadřazenost RapidIO nad ostatními stávajícími komerčními protokoly, jako jsou InfiniBand, Fibre Channel a 10G Ethernet. Ve výsledku se skupina rozhodla, že RapidIO nabízí nejlepší celkové propojení pro potřeby kosmických lodí nové generace.

Plán PHY

Plán RapidIO je v souladu s vývojem Ethernet PHY. Specifikace RapidIO pro odkazy 50 GBd a vyšší jsou předmětem šetření.

Terminologie

Propojit partnera
Jeden konec odkazu RapidIO.
Koncový bod
Zařízení, které může vytvářet a / nebo ukončovat pakety RapidIO.
Prvek zpracování
Zařízení, které má alespoň jeden port RapidIO
Přepínač
Zařízení, které dokáže směrovat pakety RapidIO.

Přehled protokolu

Protokol RapidIO je definován ve třívrstvé specifikaci:

  • Fyzické: Elektrické specifikace, PCS / PMA, protokol na úrovni linky pro spolehlivou výměnu paketů
  • Transport: Směrování, vícesměrové vysílání a programovací model
  • Logické: Logické I / O, zasílání zpráv, globální sdílená paměť ( CC-NUMA ), řízení toku, streamování dat

Specifikace systému zahrnují:

  • Inicializace systému
  • Správa chyb / Hot Swap

Fyzická vrstva

Elektrické specifikace RapidIO jsou založeny na průmyslových standardech Ethernet a Optical Interconnect Forum:

  • XAUI pro rychlosti jízdního pruhu 1,25, 2,5 a 3,125 GBd (1, 2 a 2,5 Gbit / s)
  • OIF CEI 6+ Gbit / s pro rychlosti jízdního pruhu 5,0 a 6,25 GBd (4 a 5 Gbit / s)
  • 10 GBASE-KR 802.3-ap (dlouhý dosah) a 802.3-ba (krátký dosah) pro rychlosti jízdního pruhu 10,3125 GBd (9,85 Gbit / s)

Vrstva RapidIO PCS / PMA podporuje dvě formy kódování / rámování:

  • 8b / 10b pro rychlosti jízdního pruhu až 6,25 GBd
  • 64b / 67b, podobný tomu, který používá Interlaken pro rychlosti jízdního pruhu nad 6,25 GBd

Každý prvek zpracování RapidIO vysílá a přijímá tři druhy informací: pakety, řídicí symboly a nečinná sekvence.

Balíčky

Každý paket má dvě hodnoty, které řídí výměnu fyzické vrstvy daného paketu. Prvním z nich je ID potvrzení (ackID), což je specifická, jedinečná, 5-, 6- nebo 12bitová hodnota pro odkaz, která se používá ke sledování paketů vyměňovaných na odkazu. Pakety jsou přenášeny se sériově rostoucími hodnotami ackID. Protože ackID je specifické pro odkaz, není ackID pokryto CRC, ale protokolem. To umožňuje, aby se ackID měnilo s každým odkazem, který předává, zatímco CRC paketu může zůstat konstantní end-to-end kontrolou integrity paketu. Když je paket úspěšně přijat, je potvrzen pomocí ackID paketu. Vysílač musí uchovávat paket, dokud jej partner spojení úspěšně nepotvrdí.

Druhá hodnota je fyzická priorita paketu. Fyzická priorita se skládá z bitů identifikátoru virtuálního kanálu (VC), bitů priority a bitu toku kritických požadavků (CRF). Bit VC určuje, zda bity priority a CRF identifikují virtuální kanál od 1 do 8, nebo jsou použity jako priorita ve virtuálním kanálu 0. Virtuálním kanálům je přiřazena zaručená minimální šířka pásma. V rámci virtuálního kanálu 0 mohou pakety s vyšší prioritou předávat pakety s nižší prioritou. Pakety odpovědí musí mít vyšší fyzickou prioritu než požadavky, aby se zabránilo zablokování.

Příspěvek fyzické vrstvy k paketům RapidIO je 2bajtová hlavička na začátku každého paketu, která zahrnuje ackID a fyzickou prioritu, a konečná 2bajtová hodnota CRC pro kontrolu integrity paketu. Pakety větší než 80 bajtů mají po prvních 80 bajtech také mezilehlé CRC. Až na jednu výjimku fungují hodnoty CRC paketu jako kontrola integrity mezi koncovými body.

Ovládací symboly

Řídicí symboly RapidIO lze zaslat kdykoli, včetně paketu. Díky tomu má RapidIO nejnižší možnou latenci v pásmu řízení, což umožňuje protokolu dosáhnout vysoké propustnosti s menšími vyrovnávacími paměti než jiné protokoly.

Řídicí symboly se používají k ohraničení paketů (Začátek paketu, Konec paketu, Stomp), k potvrzení paketů (Potvrzení paketů, Nepotvrzený paket), Reset (Reset zařízení, Obnovit port) a k distribuci událostí v systému RapidIO (událost Multicast Kontrolní symbol). Kontrolní symboly se také používají pro řízení toku (Opakovat, Stav vyrovnávací paměti, Zpětný tlak virtuální výstupní fronty) a pro zotavení po chybě.

Postup obnovení po chybě je velmi rychlý. Když přijímač zjistí chybu přenosu v přijatém datovém proudu, způsobí, že jeho přidružený vysílač odešle řídicí symbol Packet Not Accepted. Když partner spojení obdrží řídicí symbol Packet Not Accepted, přestane vysílat nové pakety a odešle kontrolní symbol Link Request / Port Status. Kontrolní symbol Link Link Response označuje ackID, které by se mělo použít pro další přenášený paket. Paketový přenos se poté obnoví.

IDLE sekvence

Sekvence IDLE se používá během inicializace spojení pro optimalizaci kvality signálu. Vysílá se také, když odkaz nemá žádné řídicí symboly nebo pakety k odeslání.

Transportní vrstva

Každý koncový bod RapidIO je jednoznačně identifikován identifikátorem zařízení (ID zařízení). Každý paket RapidIO obsahuje dvě ID zařízení. První je ID cíle (destID), které označuje, kam má být paket směrován. Druhým je ID zdroje (srcID), které označuje, odkud paket pochází. Když koncový bod přijme paket požadavku RapidIO, který vyžaduje odpověď, paket odpovědí se skládá ze záměny srcID a destID požadavku.

Přepínače RapidIO používají destID přijatých paketů k určení výstupního portu nebo portů, které by pakety měly předávat. DestID se obvykle používá k indexování do pole řídících hodnot. Operace indexování je rychlá a její implementace je nízká. Přepínače RapidIO podporují standardní programovací model směrovací tabulky, což zjednodušuje ovládání systému.

Transportní vrstva RapidIO podporuje jakoukoli topologii sítě, od jednoduchých stromů a sítí až po n-dimenzionální hyperkrychle , vícerozměrné toroidy a další esoterické architektury, jako jsou zapletené sítě.

Transportní vrstva RapidIO umožňuje virtualizaci hardwaru (například koncový bod RapidIO může podporovat více ID zařízení). Části ID cíle každého paketu lze použít k identifikaci konkrétních částí virtuálního hardwaru v koncovém bodě.

Logická vrstva

Logická vrstva RapidIO se skládá z několika specifikací, z nichž každá poskytuje formáty paketů a protokoly pro různé sémantiky transakcí.

Logické I / O

Logická I / O vrstva definuje formáty paketů pro čtení, zápis, zápis s odpovědí a různé atomové transakce. Příklady atomických transakcí jsou set, clear, increment, decrement, swap, test-and-swap a compare-and-swap.

Zprávy

Specifikace zpráv definuje zvonky a zprávy. Domovní zvonky komunikují 16bitový kód události. Zprávy přenášejí až 4KiB dat, rozdělené do až 16 paketů, každý s maximálním užitečným zatížením 256 bajtů. Pakety odpovědí musí být odeslány pro každý požadavek na zvonek a zprávu. Hodnota stavu paketu odezvy označuje hotovo, chybu nebo opakovat. Stav opakování požaduje, aby původce požadavku znovu odeslal paket. Reakce na opakování logické úrovně umožňuje více odesílatelům přístup k malému počtu sdílených zdrojů příjmu, což vede k vysoké propustnosti a nízké spotřebě.

Řízení toku

Specifikace řízení toku definuje formáty paketů a protokoly pro jednoduché operace řízení toku XON / XOFF. Pakety řízení toku mohou být vytvořeny přepínači a koncovými body. Příjem paketu řízení toku XOFF zastaví přenos toku nebo toků, dokud není přijat paket řízení toku XON nebo dojde k vypršení časového limitu. Pakety řízení toku lze také použít jako obecný mechanismus pro správu systémových prostředků.

CC-NUMA

Specifikace Globally Shared Memory definuje formáty paketů a protokoly pro provoz systému sdílené paměti koherentní sdílené paměti přes síť RapidIO.

Streamování dat

Specifikace datového proudu podporuje zasílání zpráv s různými formáty paketů a sémantikou než specifikace zasílání zpráv. Formáty paketů datových proudů podporují přenos až 64 kB dat, segmentovaných do více paketů. Každý přenos je spojen s třídou služby a identifikátorem proudu, což umožňuje tisíce jedinečných toků mezi koncovými body.

Specifikace datového toku dat také definuje formáty a sémantiku paketů řízení toku Extended Header pro správu výkonu v systému klient-server. Každý klient používá rozšířené pakety řízení toku záhlaví k informování serveru o množství práce, kterou lze na server odeslat. Server reaguje pomocí rozšířených paketů řízení toku záhlaví, které používají protokoly založené na XON / XOFF, rychlosti nebo kreditu k řízení toho, jak rychle a kolik práce klient odešle na server.

Inicializace systému

Systémy se známou topologií lze inicializovat způsobem specifickým pro systém, aniž by to ovlivnilo interoperabilitu. Specifikace inicializace systému RapidIO podporuje inicializaci systému, pokud je topologie systému neznámá nebo dynamická. Algoritmy inicializace systému podporují přítomnost redundantních hostitelů, takže inicializace systému nemusí mít jediný bod selhání.

Každý hostitel systému rekurzivně vyjmenuje strukturu RapidIO, zabrání vlastnictví zařízení, přidělí ID zařízení koncovým bodům a aktualizuje tabulky směrování přepínačů. Dojde-li ke konfliktu vlastnictví, vyhraje hostitel systému s větším ID zařízení. „Ztracený“ hostitel uvolňuje vlastnictví svých zařízení a ustupuje a čeká na „vítězného“ hostitele. Vítězný hostitel dokončí výčet, včetně převzetí vlastnictví ztraceného hostitele. Jakmile je výčet dokončen, vítězný hostitel uvolní vlastnictví prohrávajícího hostitele. Ztráta hostitele poté zjistí systém přečtením směrovacích tabulek přepínačů a registrů v každém koncovém bodě, aby se naučila konfiguraci systému. Pokud vítězný hostitel nedokončí výčet ve známém časovém období, prohrávající hostitel určí, že vítězný hostitel selhal, a dokončí výčet.

Výčet systému je v systému Linux podporován subsystémem RapidIO.

Správa chyb

RapidIO podporuje vysokou dostupnost a odolnost systému proti chybám, včetně hot swapu. Jsou definovány chybové podmínky, které vyžadují detekci, a standardní registry pro komunikaci informací o stavu a chybách. Konfigurovatelný izolační mechanismus je také definován tak, že když není možné vyměňovat pakety na odkazu, pakety mohou být vyřazeny, aby se zabránilo zahlcení a umožnily činnosti diagnostiky a obnovy. Jsou definovány mechanismy upozornění v pásmu (port-write) a mimo pásmo (přerušení).

Tvarové faktory

Specifikace RapidIO se nezabývá tématy tvarových faktorů a konektorů a ponechává to na konkrétní komunity zaměřené na aplikace. RapidIO je podporováno následujícími formovými faktory:

Software

V jádře systému Linux se nachází podpora procesoru agnostické RapidIO.

Aplikace

Propojení RapidIO se hojně používá v následujících aplikacích:

  • Bezdrátové základnové stanice
  • Jednodeskové počítače pro letectví a kosmonautiku , stejně jako radarové, akustické a obrazové systémy
  • Video
  • Úložný prostor
  • Superpočítač
  • Lékařské zobrazování
  • Průmyslové řídicí a datové cesty

RapidIO expanduje do superpočítačových, serverových a úložných aplikací.

Konkurenční protokoly

PCI Express je zaměřen na hostitelský periferní trh, na rozdíl od vestavěných systémů. Na rozdíl od RapidIO není PCIe optimalizováno pro víceprocesorové sítě peer-to-peer. PCIe je ideální pro komunikaci mezi hostitelem a periferními zařízeními. Ve velkých multiprocesorových systémech typu peer-to-peer se měřítko PCIe příliš neomezuje, protože základní předpoklad „kořenového komplexu“ PCIe vytváří problémy s odolností proti chybám a se správou systému.

Další alternativní technologií propojení je Ethernet . Ethernet je robustní přístup k propojení počítačů přes velké geografické oblasti, kde se může neočekávaně změnit topologie sítě, používané protokoly jsou v pohybu a latence spojení jsou velké. Abychom těmto výzvám mohli čelit, vyžadují systémy založené na Ethernetu značné množství výpočetního výkonu, softwaru a paměti v celé síti k implementaci protokolů pro řízení toku, přenos dat a směrování paketů. RapidIO je optimalizován pro energeticky efektivní komunikaci s nízkou latencí mezi procesory ve vestavěných systémech odolných proti chybám, které pokrývají geografické oblasti menší než jeden kilometr.

SpaceFibre je konkurenční technologie pro vesmírné aplikace.

Time-Triggered Ethernet je konkurenční technologie pro složitější backplane (VPX) a páteřní aplikace pro vesmír (odpalovací zařízení a integrovaná avionika hodnocená člověkem).

Viz také

Reference

externí odkazy