Témakör:
Mi a PXImc?
Megjelent: 2011. május 26.
Napjaink teszt- és vezérlőrendszerei egyre nagyobbak, egyre összetettebbek és egyre bonyolultabbak. A bonyolultság növekedése főleg az új kihívások következménye, nagyobb sebességre, nagyobb I/O-csatornaszámra, valamint azonnali adatfeldolgozásra van igény. Az új teszt-, mérő- és vezérlőrendszereknek meg kell felelniük ezeknek a kihívásoknak, miközben klasszikus tulajdonságaiknak – mint pl. az alacsony ár, a skálázhatóság (a szállító közreműködése) és a rugalmasság – is meg kell maradniuk. Mindezen kérdések hátterében nagymennyiségű adat rövid válaszidővel való gyors átvitelének és feldolgozásának az igénye áll.
A National Instruments PCI Express-alapú rendszere
A PXI MultiComputing- (PXImc) -előírás – amelyet a PXI System Alliance 2009 novemberében tett közzé – alacsony árú, dobozos termékpalettával kísérel meg megfelelni az ilyen bonyolult rendszerek támasztotta követelményeknek. A specifikációban két vagy több, PCI vagy PCI Express interfésszel – PCI(e) Non-Transparent Bridge felületen – összekapcsolódó, intelligens rendszerre vonatkozó hardver és szoftver követelményeket írták le. A PCI Express-busz – a gyakorlatban is bizonyítottan –, néhány μs-os válaszidővel több GB/s adatátviteli sebességre képes, ezáltal kiválóan megfelel az említett adatátviteli igényeknek. A következőkben bemutatjuk a PXImc technikai részleteit, valamint azokat a speciális alkalmazásokat, amelyekhez ez a rendszer jól használható.
A technológiai háttér
Az 1. ábrán egy PCI Express-alapú rendszer topológiája látható. A központi egységen (Root Complex) keresztül kapcsolódnak a PCI-eszközök a feldolgozó rendszerhez. A feldolgozó egység a központi egységen keresztül teszi elérhetővé a PCI(e)-eszközök részére szükséges erőforrásokat.
Mint korábban említettük, a fizikai kommunikációs rétegként használt PCI vagy PCI Express előnyeit kihasználva a PCImc egy nagy sávszélességű és rövid válaszidejű kommunikációs modellt valósít meg. A két különálló rendszer – amelynek saját központi egysége van – a két PCI-tartomány között kialakuló ütközések (mint pl. a busz tulajdonjoga vagy a végpontok erőforrásainak kiosztása) miatt közvetlenül nem kapcsolható össze PCI- vagy PCI(e)-busszal.
A nem transzparens hidak (Non-Transparent Bridge, NTB) használata meggátolja ezeknek az ütközéseknek a kialakulását, logikailag szétválasztják a két PCI-tartományt, miközben lehetővé teszik bizonyos – az egyik PCI-tartományban érvényes – PCI-tranzakciók értelmezését a másik PCI-tartományban is. A 2. ábrán látható a megvalósítás. Mind az A-, mind a B-rendszer saját tartományában teljes körűen vezérli az erőforrások lefoglalását, miközben az NTB jelenléte nem befolyásolja ezt a folyamatot.
2. ábra
Az NTB a rendszerben lévő más PCI-csomópontokhoz hasonlóan válaszol a központi egységtől érkező erőforrás igényekre, és lefoglal bizonyos mennyiséget a fizikai címekből. A rendszer-BIOS a fizikai címtartomány bizonyos részét hozzárendeli az NTB-hez. Mivel ez az allokáció mind az A- mind a B-rendszerben megtörténik, az NTB hozzáfér mindkét PCI-tartomány erőforrásaihoz. Mint a 3. ábrán is látható, az NTB-nek az A-rendszerben lefoglalt fizikai címtartománya láthatóvá válik a B-rendszer PCI-tartományában, és ugyanez a másik irányban is működik.
3. ábra
Miután az erőforrás-lefoglalás mindkét rendszerben megtörtént, az NTB memóriaműveletekkel lehetővé teszi a két rendszer közötti adatátvitelt. Ilyen adatátvitel lehet a scratchpad-regiszterek (SPM) adatküldése, doorbell-regiszterek megszakításkezelése és nagy címterületek fordítása a másik rendszer címterületére.
Bár az NTB-technológia nem új, az ipar adós maradt a PCI-hierarchiák közötti egyszerű kommunikációt definiáló szabvány kidolgozásával. Eleinte egyedi hardver- és szoftverelemekre volt szükség ahhoz, hogy az NTB-megoldásokat kommunikációs csatornaként használni lehessen.
A PXI System Alliance (PXISA) által kidolgozott PXI MultiComputing- (PXImc) -specifikáció hardver- és szoftverkomponensekre vonatkozó előírásokat tartalmaz, amelyek két PCI- vagy PCI Express-buszon kapcsolódó rendszer szabványos kommunikációs protokollját is leírják. Hardver szempontból számos kérdésben sikerült egyezségre jutni annak érdekében, hogy két független rendszer képes legyen közvetlenül kommunikálni egymással PCI- vagy PCI Express-buszon keresztül. Szoftver tekintetében egy kommunikációs sémát dolgoztak ki, amely lehetővé teszi, hogy mindegyik rendszer azonosítani és konfigurálni tudja saját erőforrásait, miközben a másik rendszerrel is képes kommunikálni.
Az elvárt és a mért sávszélesség, illetve a válaszidő
Mivel a PXImc a PCI Expresst használja fizikai kommunikációs rétegként, egy PXImc-kapcsolat teljesítményét a felhasznált PCI Express-eszközök típusa határozza meg. Az 1. táblázatban felsoroltuk a különböző PCI Express-változatok elméleti sávszélességeit.
1. táblázat
A PXImc-kapcsolat és más alternatívák összehasonlítása érdekében a National Instruments prototípus hardver és egy fejlesztési állapotban lévő szoftvercsomag felhasználásával elvégezett egy előzetes tesztet. A teljesítmény kiértékeléséhez két PXIe-1082-típusú PXI Express keretet – saját beágyazott PXIe-8133 vezérlőjükkel – kötötték össze egy x4 gen1 PCIe-alapú PXImc-hardverrel. Ebben az összeállításban az egyirányú átvitelnél 6 µs válaszidőt és 670 MB/s adatátviteli sebességet mértek. A Gigabit Ethernet tulajdonságaihoz képest ezek a számok közelítőleg tízszer nagyobb sávszélességet és százszor jobb késleltetési időt mutatnak, ami egyértelműen bizonyítja, hogy a PXImc ideális interfész nagyteljesítményű, sokgépes teszt- és ellenőrző rendszerek építéséhez. A PCI Express-szabvány várható fejlődésére tekintettel a PXImc nyújtotta előnyök is tovább fognak növekedni.
Nagyteljesítményű, sokgépes teszt- és ellenőrzőrendszer PXImc felhasználásával
A PXImc-megoldás előnyeit kihasználni képes alkalmazások három kategóriába sorolhatók. Az első kategória a nagyteljesítményű, hibrid teszt- és mérőrendszerek (T&M, test and measurement), a második csoportba azok az alkalmazások tartozhatnak, amelyek több, sokmagos CPU-val felépített rendszerben elosztott feldolgozást végeznek, végül a harmadik kategóriába az x86-alapú – CPU-kat segédprocesszorként igénylő – alkalmazásokat soroljuk.
Hibrid, nagyteljesítményű T&M-rendszerek
A komplex mérő- és vezérlőrendszerek – mint pl. a HiL-rendszerek (Hardware in the Loop) – tipikusan számos, elkülönülő, különböző funkciókat megvalósító alrendszerből állnak. Annak érdekében, hogy az alrendszer funkcionális követelményei és a hardver platformképességei a legnagyobb összhangban legyenek, sok esetben az alrendszerek különböző platformokon épülnek fel. A PXImc-specifikáció lehetővé teszi a nagysebességű és kis késleltetési idejű, kábeles PCI Express kapcsolaton megvalósuló kommunikációt a különböző hardver platformokon felépített alrendszerek között. Ennek a lehetőségnek köszönhetően olyan nagyteljesítményű, hibrid teszt- és mérőrendszerek építhetők fel, amelyekben ideális teljesítmény-, rugalmasság- és költségarányt lehet elérni a funkciókhoz illeszkedő, alrendszerenként eltérő hardverplatformok felhasználásával.
A PXImc-technológiát rendszerközi kommunikációs buszként alkalmazva az elterjedt, más interfészmegoldásokhoz képest – pl. Ethernet és Reflective Memory – rövidebb tesztidőket és nagyobb végrehajtási sebességet lehet elérni. Ennélfogva ezekben a rendszerekben a feladatok végrehajtása gyorsabb, valamint a HiL-rendszerek esetében pontosabban lehet szimulálni a valós környezeti körülményeket.
A 4. ábrán egy ilyen rendszer tipikus konfigurációja látható. Ebben a példában a master PXI-rendszer a nagy átviteli sebességű és rövid válaszidejű PXImc-kapcsolaton kommunikál a második PXI-rendszerrel és egyéb, nagyteljesítményű célműszerekkel. Mindez együtt egy hibrid, nagyteljesítményű teszt- és mérőrendszert alkot.
4. ábra
Szétosztott feldolgozás többmagos processzorokkal
Olyan alkalmazásokhoz – mint pl. a SIGINT és a Real-Time High Performance Computing (RTHPC) –, amelyeknél a valósidejű működés vagy az in-line-adatfeldolgozás követelmény, tipikusan igen erős adatfeldolgozó képességet kell a rendszerekbe beépíteni, hogy a folyamatos adatáramlást fenn lehessen tartani. Ezekben az alkalmazásokban a feldolgozási feladatokat számos elkülönülő feldolgozó csomópont között meg kell osztani. Ehhez természetesen a feldolgozó egységek között nagy sávszélességű és kis késleltetésű kommunikációs interfészre van szükség. FPGA-kal és DSP-csipekkel az elosztott feldolgozó rendszerek által támasztott követelményeket sok esetekben ki lehet elégíteni. Mindazonáltal, bizonyos alkalmazásokban szükség van arra, hogy meglévő x86-alapú szoftvereket használjunk, valamint lebegőpontos műveleteket is elvégezzünk a fixpontos műveleteken kívül. Ilyen esetekben a PXImc lehetővé teszi, hogy a legújabb, sokmagos PC-ket használjuk külső feldolgozóként. Ez a megoldás nemcsak az előbb említett követelményeket elégíti ki, hanem a fejlesztésre és a hibakeresésre is kevesebb időt kell fordítani az FPGA-val vagy a felhasználói DSP-vel felépített rendszerek időszükségletéhez képest.
Az 5. ábrán bemutatunk egy megvalósítható – PXI Express-rendszerrel és PXImc interfészkártyával felépített – elosztott rendszer-konfigurációt.
5. ábra
Ebben a példában a mastervezérlő végzi a különféle I/O-modulokból származó adatok összegyűjtését, majd a PXImc-kapcsolatokon keresztül szétosztja azokat a négy x86-alapú, számításokat végző egység között. A feldolgozási igényektől függően a számításokat végző csomópontok lehetnek szabványos PC-k, vagy felsőkategóriás munkaállomások. A National Instruments az NIWeek 2010-rendezvényen mutatott be egy működő – ezzel a konfigurációval felépített – RTHPC-rendszert.
x86-alapú, kiegészítő, feldolgozó modulok
A PXImc-specifikáció megengedi, hogy a feldolgozó rendszerben onboard PCI(e) NTB-t alakítsanak ki. Ez a megoldás lehetővé teszi, hogy egy ilyen feldolgozó modul egy PXI Express keret egyik perifériahelyén foglaljon helyet, és a hátlapi összeköttetést használja a mastervezérlővel való kommunikációra. A keretben szabvány modulként elhelyezett feldolgozó modul nagymértékben növeli egy egykeretes rendszer feldolgozó kapacitását, miközben az egész berendezés kompakt és robusztus marad. Ez igen előnyös tulajdonság a nagy feldolgozásikapacitás-igényű teszt- és mérőrendszerekben, ahol a kis méret és/vagy a hordozhatóság is követelmény.
A PXImc-specifikáció a PXIcm-eszközök és más PCI(e)-berendezések közötti közvetlen, peer-to-peer kapcsolatot is megengedi. Ennek a képességnek köszönhetően PXImc-eszközök – pl. az előbb említett, külső feldolgozó egységek – közvetlenül tudnak PCI(e)-eszközzel kommunikálni anélkül, hogy a mastervezérlőt igénybe vennék. Ezt a lehetőséget kihasználva egy egykeretes PXI-rendszeren belül alrendszereket lehet kialakítani, és így tovább lehet növelni a keret erőforrásainak kihasználtságát. A 6. ábrán látható egy PXI-keretben elhelyezett, több feldolgozó egységes kialakítás, valamint a két lehetséges kommunikációs üzemmód is.
6. ábra
Összegzés
Megállapítható, hogy a PXISA-által kidolgozott PXImc-specifikáció lehetővé teszi több intelligens rendszer összekapcsolását nagy átviteli sebességű és kis késleltetésű interfészen keresztül, hozzájárulva ezzel az egyre növekvő igényeket megkövetelő alkalmazások működéséhez, mint a HiL és a SIGINT. A PXImc tovább bővíti a PXI-platform képességeit, és lehetővé teszi összetett teszt- és mérőrendszerek kialakítását több megvalósítási formában is, mint a hibrid rendszerek, az elosztott feldolgozás vagy az egy keretben felépített társfeldolgozás.