Кіріспе

Жоғары жылдамдықты өзара байланыс технологиясы

RapidIO архитектурасы – жоғары өнімділікке ие, пакеттік коммутацияға негіделген электрлік байланыс технологиясы. Ол хабар алмасуды, оқу/жазу және кэш-сәйкестік протоколдарын қолдайды. Ethernet сияқты салалық стандартты электрлік талаптарға сүйенген RapidIO, чиптен чипке, тақтадан тақтаға және шассиден шассиге өзара байланыс ретінде қолданылуы мүмкін.

Тарих

RapidIO протоколы бастапқыда Mercury Computer Systems және Motorola (Freescale) компаниялары Mercury-дің RACEway жабық автобусын және Freescale-дің PowerPC автобусын алмастыру мақсатында жасалған. RapidIO сауда қауымдастығы 2000 жылдың ақпанында құрылды, және оған телекоммуникация және сақтау құрылғыларын өндірушілер (OEM), сондай-ақ FPGA, процессор және коммутатор компаниялары кірді.

Сымсыз инфрақұрылым

RapidIO маталары 3G, 4G және LTE желілерінде қолданылады, бүкіл әлемдегі сымсыз базалық станцияларға миллиондаған RapidIO порттары жеткізілді. RapidIO маталары бастапқыда әртүрлі өндірушілерден алынған әртүрлі процессорларды бір жүйеге қосуды қолдау үшін әзірленген. Осы икемділік RapidIO-ны сымсыз инфрақұрылым жабдықтарында кеңінен пайдалануға ықпал етті, онда гетерогенді, DSP, FPGA және коммуникациялық процессорларды төмен кешігу және жоғары сенімділікпен тығыз байланысты жүйеде біріктіру қажеттігі туындайды.

Деректер орталықтары

Деректер орталығы мен ЖЖС талдау жүйелері RapidIO 2D Torus Mesh Fabric қолданысын пайдаланып құрылды, ол жүйелік модульдер арасында жоғары жылдамдықты, көп мақсатты интерфейсті қамтамасыз етеді. Бұл жоғары өткізгіштік пен төмен жауап уақытын қажет ететін қосымшаларға түйіннен түйінге байланыс арқылы тиімді жұмыс істеуге мүмкіндік береді. RapidIO 2D Torus біріктірілген желісі 45 серверлік модульді қосатын тор тәрізді сақина конфигурациясы бойынша маршрутталған. Осы арқылы, солтүстік, оңтүстік, шығыс және батыс көрші модульдерімен әр бағытта 5 Гбит/с желілік қосылымдарды қамтамасыз ете алады. Бұл жүйеге тиімді локальды трафик қажет болатын көптеген ЖЖС қосымшаларының қажеттіліктерін қанағаттандыруға мүмкіндік береді. Ашық модульдік деректер орталығы мен есептеу платформасын қолдана отырып, гетерогенді ЖЖС жүйесі RapidIO-ның төмен жауап уақытын нақты уақыт режимінде талдау жүргізуге қабілетті екенін көрсетті. 2015 жылдың наурыз айында RapidIO-ны деректер орталығының кең таралған қосымшаларына енгізу үшін жаңа ең үздік коммутатор жарияланды.

Әуе кеңістігі

Байланыс немесе "шина" – ғарыш кемелерінің авиациялық жүйелерін жобалау және дамытудағы маңызды технологиялардың бірі болып табылады, ол жүйенің архитектурасын және күрделілік деңгейін анықтайды. Қазіргі кезде олардың жетілгендік деңгейіне байланысты қолданылып келе жатқан көптеген архитектуралар бар. Бұл жүйелер белгілі бір архитектуралық қажеттіліктер мен талаптарды қанағаттандыруға жеткілікті. Алайда, келесі буын миссиялары үшін жоғары мүмкіндіктерге ие авиациялық архитектура қажет, бұл қолданыстағы архитектуралардың қабілеттерінен әлдеқайда асып түседі. Осындай жаңа буын архитектураларын жобалау және дамыту үшін тиімді әдіс – жоғары деңгейде деректерді беруге қабілетті қолданыстағы коммерциялық протоколдарды пайдалану болып табылады. 2012 жылы RapidIO, Келесі Буын Ғарыш Кемелерінің Өзара Байланыс Стандарты (NGSIS) жұмыс тобы тарапынан ғарыш кемелерінде қолданылатын стандартты коммуникациялық байланыстардың негізі ретінде таңдалды. NGSIS – RapidIO 3.1 нұсқасын әзірлеуді және VITA 78 стандартына сәйкес SpaceVPX немесе High ReliabilityVPX деп аталатын аппараттық стандарттарды қамтитын шаңрақтық стандарттар жиынтығы. NGSIS талаптар комитеті NGSIS өзара байланысы үшін 47 түрлі элементтен тұратын кең ауқымды талаптарды әзірледі. NGSIS мүше компаниялары жүргізген тәуелсіз зерттеулер RapidIO-ның InfiniBand, Fibre Channel және 10G Ethernet сияқты басқа коммерциялық протоколдардан басым екенін көрсетті. Осының нәтижесінде, топ RapidIO келесі буын ғарыш кемелерінің қажеттіліктеріне ең жақсы жалпы өзара байланыс шешімін ұсынады деп шешті.

ЖҚЖЖ жол картасы

RapidIO жол картасы Ethernet PHY дамуымен үйлеседі. 50 Гбит/с және одан жоғары жылдамдықтағы RapidIO сипаттамаларын зерттеу жүріп жатыр.

Пакеттер

Әрбір пакеттің екі мәні бар, олар осы пакеттің физикалық қабаттағы алмасуын басқарады. Біріншісі – растау ID (ackID), ол сілтемеге тән, бірегей 5, 6 немесе 12 биттік мән, және сілтемеде алмасылған пакеттерді қадағалау үшін қолданылады. Пакеттер өсу ретімен ackID мәндерімен жіберіледі. AckID сілтемеге тән болғандықтан, ол CRC-ге кірмейді, бірақ протоколмен қамтылады. Бұл ackID-ге әрбір сілтеме арқылы өтетін сайын өзгеруге мүмкіндік береді, ал пакеттің CRC пакеттің бастапқыдан соңғы тұтастығын тексеру үшін тұрақты болып қалады. Пакет сәтті қабылданғанда, ол пакеттің ackID-і арқылы расталады. Жіберуші пакетті байланыс серігі сәтті растағанға дейін сақтауы керек. Екінші мән – пакеттің физикалық басымдығы. Физикалық басымдық виртуалды арна (VC) идентификаторының битінен, басымдық биттерінен және Критикалық сұраныс ағыны (CRF) битінен тұрады. VC биті, Priority және CRF биттері 1-ден 8-ге дейінгі виртуалды арнаны анықтай ма, әлде виртуалды арна 0-де басымдық ретінде қолданыла ма, соны анықтайды. Виртуалды арналарға кепілдік берілген ең төменгі өткізу қабілеті беріледі. Виртуалды арна 0-де жоғары басымдылыққа ие пакеттер төмен басымдылыққа ие пакеттерден өтуі мүмкін. Жауап пакеттерінің физикалық басымдылығы сұраныстардан жоғары болуы керек, сондай-ақ түйілудің алдын алу үшін. RapidIO пакеттеріне физикалық қабаттың үлесі – әрбір пакеттің басында ackID және физикалық басымдықты қамтитын 2 байттық шабыт және пакеттің тұтастығын тексеру үшін соңғы 2 байттық CRC мәні. 80 байттан асатын пакеттерде алғашқы 80 байттан кейін қосымша CRC болады. Бір ерекшелік болмаса, пакеттің CRC мәні бастапқыдан соңғы тұтастығын тексеру үшін қолданылады.

Басқару белгілері

RapidIO басқару символдары кез келген уақытта, тіпті пакеттің ішінде де жіберілуі мүмкін. Бұл RapidIO-ға ең төменгі жолақты басқару жолының кешігу уақытын қамтамасыз етеді, бұл протоколға басқа протоколдарға қарағанда кішкентай буферлермен жоғары өнімділікке қол жеткізуге мүмкіндік береді. Бақылау символдары пакеттерді бөлу үшін (Пакет басталуы, Пакет аяқталуы, Stomp), пакеттерді мойындау үшін (Пакет мойындалды, Пакет мойындалмады), жүйені қайта орнату үшін (Құрылғыны қайта орнату, Портты қайта орнату) және RapidIO жүйесінде оқиғаларды тарату үшін (Көп тарату оқиғасын басқару символы) қолданылады. Бақылау символдары сонымен қатар ағынды басқару үшін (Қайталау, Буфер күйі, Виртуалды шығыс кезектерінің қарсы қысымы) және қателерді жою үшін де пайдаланылады. Қателерді жою процедурасы өте жылдам. Қабылдағыш алынған дерек ағынында тарату қатесін анықтағанда, оның байланысты жіберушісі Пакет қабылданбады басқару символын жібереді. Сіңірлі серіктес Пакет қабылданбады басқару символын алғанда, жаңа пакеттерді жіберуді тоқтатады және Байланыс сұранысы/Порт күйі басқару символын жібереді. Link Response басқару символы келесі жіберілетін пакет үшін қолданылатын ackID-ді көрсетеді. Пакеттерді жіберу қайта басталады.

IDLE реті

IDLE реттілігі сілтемені бастау кезінде сигнал сапасын жақсарту үшін қолданылады. Сондай-ақ, сілтемеде басқару символдары немесе жіберуге пакеттер болмаған кезде де жіберіледі.

Көлік қабаты

Әрбір RapidIO соңғы нүктесі құрылғы идентификаторы (deviceID) арқылы бірегей анықталады. Әрбір RapidIO пакеті екі құрылғы ID-ін қамтиды. Біріншісі – түмендік идентификаторы (destID), ол пакеттің қайда бағытталуын көрсетеді. Екіншісі – бастау идентификаторы (srcID), ол пакеттің қайдан келгенін көрсетеді. Егер соңғы нүкте жауапты талап ететін RapidIO сұрау пакетін алса, жауап пакеті сұраудың srcID және destID-ін алмастыру арқылы құрастырылады. RapidIO коммутаторлары алынған пакеттердің destID-ін пакетті жіберуге тиіс шығыс портын немесе порттарды анықтау үшін пайдаланады. Әдетте, destID бақылау мәндерінің массивіне кірістіру үшін қолданылады. Кірістіру операциясы жылдам және төмен құнмен іске асырылады. RapidIO коммутаторлары маршруттау кестесі үшін стандартты бағдарламалау моделін қолдайды, бұл жүйелік басқаруды жеңілдетеді. RapidIO транспорттық қабаты кез келген желілік топологияны қолдайды, қарапайым ағаштар мен торлардан бастап n өлшемді гиперкубтарға, көп өлшемді тороидтарға және түйіскен желілер сияқты эзотерикалық архитектураларға дейін. RapidIO транспорттық қабаты аппараттық виртуализацияны қамтамасыз етеді (мысалы, RapidIO соңғы нүктесі бірнеше құрылғы ID-ін қолдауы мүмкін). Әрбір пакеттің түмендік ID-нің бөліктері соңғы нүктедегі виртуалды аппараттың нақты бөліктерін анықтау үшін пайдаланылуы мүмкін.

Логикалық қабат

RapidIO логикалық қабаты бірнеше техникалық талаптардан құралған, олардың әрқайсысы әртүрлі транзакция мағыналары үшін пакет форматтары мен хаттамаларды қамтамасыз етеді.

Логикалық I/O

Логикалық I/O қабаты оқу, жазу, жауаппен жазу және әртүрлі атомдық транзакциялар үшін пакет форматтарын анықтайды. Атомдық транзакциялардың мысалдары: орнату, тазалау, арттыру, кеміту, ауыстыру, тексеру және ауыстыру, салыстыру және ауыстыру.

Хабарламалар

Хабарламалар спецификациясы есік қоңыраулары мен хабарларды анықтайды. Есік қоңыраулары 16 биттік оқиға кодын жібереді. Хабарлар 4 КиБ-қа дейінгі деректерді, әрқайсысы 256 байттан аспайтын жүктемесі бар 16 пакетке бөлінеді. Әрбір есік қоңырауы және хабарлама сұранысы үшін жауап пакеттері жіберілуі керек. Жауап пакетінің күйі «орындалды», «қате» немесе «қайталау қажет» мәнін көрсетеді. «Қайталау қажет» күйі сұрауды бастаушыдан пакетті қайта жіберуді сұрайды. Логикалық деңгейдегі қайталау жауабы бірнеше жіберушіге шектеулі ортақ қабылдау ресурстарын пайдалануға мүмкіндік береді, нәтижесінде аз қуатпен жоғары өнімділікке қол жеткізіледі.

Ағындылықты басқару

Ағынды басқару спецификациясы қарапайым XON/XOFF ағынды басқару операциялары үшін пакет форматтары мен протоколдарын анықтайды. Ағынды басқару пакеттерін коммутаторлар мен түйіскездер (endpoints) құрастыра алады. XOFF ағынды басқару пакетін қабылдағанда, XON ағынды басқару пакеті алынғанға дейін немесе белгілі бір уақыт өткенге дейін ағын немесе ағындар тоқтатылады. Ағынды басқару пакеттерін жүйелік ресурстарды басқарудың универсалды механизмі ретінде де пайдалануға болады.

CC-NUMA

Globally Shared Memory спецификациясы RapidIO желісі арқылы кэш-сәйкестігі бар ортақ жад жүйесін жұмыс істеу үшін пакет форматтары мен протоколдарын анықтайды.

Деректер ағыны

Деректер ағыны спецификациясы, хабарламалар спецификациясынан өзгеше пакет форматтарымен және семантикамен хабар алмасуды қолдайды. Деректер ағыны пакет форматтары бірнеше пакетке бөлінген 64К дейінгі деректерді беруді қамтамасыз етеді. Әрбір дерек алмасу, қызмет класымен және ағын идентификаторымен байланысты, бұл нүктелер арасында мыңдаған ерекше ағындарды жүзеге асыруға мүмкіндік береді. Деректер ағыны спецификациясы клиент-сервер жүйесінде өнімділікті басқару үшін кеңейтілген тақырыпты басқару пакеттерінің форматтары мен семантикасын да анықтайды. Әрбір клиент, серверге қанша жұмыс жіберуге болатынын хабарлау үшін кеңейтілген тақырыпты басқару пакеттерін пайдаланады. Сервер XON/XOFF, жылдамдық немесе несие негізіндегі протоколдарды қолданатын кеңейтілген тақырыпты басқару пакеттерімен жауап береді.

Жүйені инициализациялау

Белгілі топологиясы бар жүйелер өзара іс-қимылға кедеріс келтірмей, жүйеге тән әдіспен инициализациялана алады. RapidIO жүйелік инициализациялау спецификациясы жүйелік топология белгісіз немесе динамикалық болған жағдайда жүйелік инициализацияны қолдайды. Жүйелік инициализациялау алгоритмдері қосымша хосттардың болуын қамтамасыз етеді, сондықтан жүйелік инициализацияда бір ғана сәтсіздік нүктесі болуының қажеті жоқ. Әрбір жүйелік хост RapidIO торабын рекурсивті түрде қарап шығып, құрылғылардың иелігін алады, құрылғы ID-ін соңғы нүктелерге тағайындайды және коммутатордың маршруттау кестелерін жаңартады. Иелік үшін қақтығыс туындаған жағдайда, үлкен құрылғы ID-і бар жүйелік хост жеңіске жетеді. "Жеңілген" хост өз құрылғыларының иелігінен бас тартып, "жеңген" хостты күтеді. Жеңімпаз хост санауды аяқтап, жеңілген хосттың иелігін алады. Санау аяқталғаннан кейін жеңген хост жеңілген хосттың иелігін босатады. Жеңілген хост жүйе конфигурациясын білу үшін коммутатордың маршруттау кестелерін оқып, әрбір соңғы нүктеде тіркеледі. Егер жеңімпаз хост белгілі бір уақыт ішінде санауды аяқтамаса, жеңілген хост жеңімпаз хост сәтсіздікке ұшыраған деп санайды және санауды аяқтайды. Жүйелік санау Linux жүйесінде RapidIO подсистемасымен қолдалады.

Қателерді басқару

RapidIO жоғары қолжетімділікті, қателерге төзімді жүйе құрастыруды, соның ішінде ыстық ауыстыруды қолдайды. Анықтау қажетті қате жағдайлары және жай-күй мен қате туралы ақпаратты жеткізуге арналған стандартты тіркелімдер анықталған. Сондай-ақ, конфигурацияланатын оқшаулау механизмі анықталған, осылайша байланыста пакеттер алмасу мүмкін болмаған жағдайда, жүйеде тығырылмай, диагностика және қалпына келтіру шараларын жүргізу үшін пакеттерді жоюға болады. Желі ішінде (портқа жазу пакеті) және желіден тыс (үзіліс) хабарлама беру механизмдері анықталған.

Бағдарламалық жасақтама

Процессорға қарамастан RapidIO қолдауы Linux ядросында бар.

Бәсекелесетін хаттамалар

PCI Express кіріктірілген жүйелерге қарағанда хост пен шеткі құрылғылар нарығына бағытталған. RapidIO-дан айырмашылығы, PCIe көп процессорлы процессорлар арасындағы байланыс желілері үшін оптимизацияланбаған. PCIe хост пен шеткі құрылғы арасындағы байланыс үшін өте қолайлы. PCIe үлкен көппроцессорлы жүйелерде тиімді масштабталмайды, себебі PCIe-нің негізгі қағидасы – "root complex" қателерге төзімділік және жүйелік басқару мәселелерін тудырады. Тағы бір баламалы өзара байланыс технологиясы – Ethernet. Ethernet – үлкен географиялық аймақтарда компьютерлерді байланыстырудың сенімді тәсілі, онда желі топологиясы күтпегендей өзгеруі мүмкін, қолданылатын протоколдар өзгеріп отырады және байланыс кешігуі жоғары болады. Осы қиындықтарды жеңу үшін Ethernet-ке негізделген жүйелерге ағын бақылау, деректерді беру және пакеттерді маршрутизациялау протоколдарын жүзеге асыру үшін желі бойындағы өңдеу қуатының, бағдарламалық қамтамасыз етудің және жадтың көп мөлшері қажет. RapidIO энергияны тиімді пайдаланатын, аз кешігуі бар, бір километрден аз географиялық аумақты қамтитын, қателерге төзімді кіріктірілген жүйелерде процессорлар арасындағы байланыс үшін оптимизацияланған. SpaceFibre – ғарыш саласындағы бәсекелес технология. Уақыт бойынша синхронизацияланған Ethernet – ғарыштағы күрделірек backplane (VPX) және магистральдық қосымшалар (ракеталар және адам тасымалдайтын интеграцияланған авиация) үшін бәсекелес технология.