VPX-baserade multiprocessorapplikationer med PCI Express och VxFabric
Nyligen presenterade Kontron och PLX en teknik där man använt PCI Express- (PCIe) och VXFabric-teknologi i en VPX-bakplansförbindelse för TCP/IP-kommunikation. Upp till 4,4 Gbit/s finns nu tillgängliga för TCP/IP, och upp till 5,6 för rådata. Vincent Chuffart, Mil & Aero Product Manager, Kontron och Krishna Mallampati, Senior Director of Product Marketing, PLX Technology beskriver här hur tekniken kan användas för ökad bearbetningskraft och I/O-databandbredd i embedded-applikationer som radar- och sonarsystem, liksom i system för avancerad videobaserad övervakning.
PCI Express-teknologi (PCIe) används i många olika applikationer inom områden som lagring, servrar, grafik, kommunikation, instrumentering, medicin, embedded och konsumentelektronik. Men på senare tid har PCIe även börjat användas som förbindelseteknologi i multiprocessorapplikationer. Detta har möjliggjorts av att PCIe Gen 3 nu stöder upp till 8 GT/s (gigatransfereringar per sekund). En enda PCIe-switch klarar nu 1,5 GT/s dataöverföring, vilket klart öppnar upp för nya användarmodeller.
De senaste PCIe-switcharna stöder även funktioner som två icke-transparenta (NT) portar för redundans, DMA (Direct Memory Access) för snabbare dataöverföring och SSC-isolering (Spread Spectrum Clock) i förbindelser mellan olika klockdomäner. Allt detta gör att PCIe-förbindelseteknologi nu konstrueras in i nyare applikationer, t ex VPX-baserad multiprocessorkommunikation.
VPX är en standardspecifikation från VITA för bredbandiga militära och aeronautiska system. Den gör det möjligt att flytta iväg kortdatorer från parallella bussarkitekturer på bakplanet och implementera punkt-till-punkt-förbindelser med snabba seriella länkar, t ex PCI Express, GbE och Serial RapidIO, mellan korten. VPX erbjuder ett väldefinierat ekosystem för integrerade systemmiljöer med många olika moduler från flera olika leverantörer. Utvecklarna och systemintegratörerna får tillgång till höga prestanda och hög interoperabilitet för sina specifika, COTS-baserade, tåliga system.
Behovet av avancerad konnektivitet och bandbredd
VPX-baserade system används i många krävande, bildintensiva aerospace- och militärapplikationer. Inom dessa områden ökar behovet av avancerad konnektivitet och hög bandbredd konstant eftersom de kräver högre bildkvalitet (högre upplösning), nya typer av data (video istället för audio) och ett större antal datakällor (fler sensorer).
Speciellt gäller detta för nästa generations system för radar, målsökning och övervakning i obemannade farkoster, liksom i bredbandiga system för elektronisk krigföring och utstörning. Dessa kräver bilder med högre upplösning, högre I/O-hastigheter och snabbare, switchbaserade kommunikationssystem. För alla gäller också att begränsningar i storlek och vikt gör att kraven på förbättrade prestanda inte får medföra att den termiska budgeten överskrids.
I de flesta av de system som redan finns används TCP/IP via Ethernet för kommunikation mellan processorer. Men nativt Ethernet är vanligen begränsat till vad processorn och/eller chipsatsen klarar. Idag finns dock inte nativt stöd för vare sig 10 Gigabit eller 40 Gigabit Ethernet i energieffektiva embedded-processorer och chipsatser.
Om högre bandbredd är ett krav, som i de ovan nämnda applikationerna, är det idag nödvändigt att använda ett alternativt dataplan för att få bättre prestanda. Men detta medför som regel att applikationskoden måste modifieras. Ett sätt att klara sig undan detta är att utnyttja den pågående utvecklingen av PCIe. Switchar uppbyggda enligt PLX Express Lane Gen 3, och med upp till 96 banor och 24 portar, är konstruerade för sådan användning eftersom varje bana kan överföra 8 GT/s.
Genom att också använda den senaste PCIe-förbindelseteknologin för att implementera Ethernet över PCIe (TCP/IP over PCIe) kan man nu på ett innovativt sätt uppnå högre prestanda, samtidigt som applikationsmjukvaran skyddas mot att bli omodern. Applikationerna kan utnyttja nativa PCIe-portar på alla komponenterna hos VPX-enkortsdatorn för att hålla kostnaderna nere och minska latensen hos systemet. Den minskade latensen är ett resultat av att man använder PCIe för kommunikation mellan processorerna, utan att behöva konvertera från flera olika teknologier.
Samarbetet mellan ingenjörerna på Kontron och PLX har resulterat i VXFabric, som minskar utvecklingskostnaderna genom att förenkla och snabba upp applikationsutvecklingen av kommunikationen mellan CPUer i VPX-systemarkitekturer. VXFabric tillhandahåller den nödvändiga mjukvaran mellan PLX Technology PCIe Gen 3 och botten av den vanliga TCP/IP-stacken. Korten kan då köra sina befintliga, TCP/IP-baserade applikationer utan modifieringar. Detta möjliggör dessutom migrering till framtida standarder, som 10 Gigabit och 40 Gigabit Ethernet.
Kommunikation mellan kort med hårdvaruhastighet
VXFabric ger utvecklarna tillgång till en öppen infrastruktur som implementerar effektiv kommunikation mellan kort med hårdvaruhastighet. Arkitekturen överensstämmer med standarden OpenVPX (VITA65), som definierar två huvudtopologier för bakplanets hårdvara: distribuerade och centraliserade topologier. I sin nuvarande form klarar VXFabric att samtidigt förbinda upp till 12 noder via PCI Express. Den fysiska förbindningen genom bakplanet kan utföras på olika sätt beroende av valet av bakplanstyp:
* Ett distribuerat PCIe-bakplan kan användas utan att det krävs någon PCIe-switch. Mycket kompakta arkitekturer kan användas, så länge som den relevanta datavägen mellan noderna implementeras i bakplanet. Denna dataväg är vanligen applikationsberoende, vilket gör att distribuerade dataplan är den rätta lösningen för kostnadseffektiva system.
* I de fall där en högre bandbredd och större flexibilitet krävs i dataplanet rekommenderas en centraliserad arkitektur.
Med ett PCIe-switchkort – t ex Kontron 3U VPX PCIe och Ethernet Hybrid Switch VX3905 – går det att förbinda upp till 12 noder med VXFabric via PCI Express och upprätta kommunikationslänkar mellan valfria noder som använder samma bakplan. Denna ansats passar bra för HPEC-applikationer, liksom i labbet där flera applikationsdatavägar kan utvärderas med en och samma utrustning.
Multiprocessorarkitekturer
Ur hårdvarusynvinkel baseras arkitekturen på flera CPU-kort, vart och ett med flera processorkärnor, sammankopplade genom PCIe via VPX-bakplanet med hjälp av en PCIe-switch. Mjukvarumässigt är VXFabric ekvivalent med en Ethernet-nätverksinfrastruktur mappad över en switchad PCIe-korskopplare. Den implementerar de skikt som ger användaren möjlighet att hantera kommunikationen med ett programmatiskt IP-sockel-gränssnitt. Detta API möjliggör direkt access till alla klassiska protokoll som TCP och UDP. VXFabric kräver inga modifieringar av befintliga applikationer, vilket minskar utvecklingsarbetet och förenklar migrering till den nya VPX-arkitekturen.
Den standardmodell för användarprogrammering som används i Kontron VXFabric baseras på IP-protokollet, och den implementerar ett API på sockelnivå genom att emulera ett Ethernet-gränssnitt över PCIe – vilket påminner om de implementeringar av pseudo-Ethernet som man finner i virtuella maskiner. Detta API är den viktigaste orsaken till att det går att garantera kompatibilitet för befintliga applikationer med VXFabric.
Vid migreringen från en Gbit Ethernet TCP/IP-infrastruktur mot Kontron VXFabric slipper man använda komplexa och företagsspecifika APIer på låg nivå – liksom de flesta RapidIO- och Infiniband-implementeringar – vilket gör uppgiften mycket rättfram. VXFabric, som finns tillgängligt under Linux till alla Kontrons VPX CPU-kort, har konstruerats för att vara portabelt mot andra operativsystem som har en modern TCP/IP-stack, och även mot andra arkitekturer som FPGAer. Denna implementering är skalbar.
Dessutom behöver VXFabric inte någon annan infrastruktur än VPX-bakplanet och en VPX PCIe-switch för sammankoppling av VPX-kort. 100% av den hårdvara och det kisel som krävs finns på den öppna IT-marknaden, så den är inte någon nådegåva från en liten grupp av leverantörer.
VxFabric-implementering
Datakommunikation genom sockel-API
Det är inte någon skillnad mellan att använda ett sockel-API ovanpå VXFabric eller ovanpå ett vanligt Ethernet-gränssnitt. Att använda ett API för en datagram-sockel (UDP) eller en strömmande sockel (TCP) är det bästa sättet att få tillgång till VXFabric som vanligen dediceras för datakommunikation. Ett bra exempel på kodning finns i källkoden till verktyget ”iperf” (open source GPL), som har använts omodifierat för benchmarking och genomströmningsmätningar på VXFabric-implementeringen.
För specifika kommunikationslänkar som kräver dataöverföringar i realtid kan man välja att använda VXFabric raw-mode för att flytta stora datamängder direkt från användarminne till användarminne. Genom att driva PCIe-kislets DMA-motorer sköter utility-skikten i VXFabric hanteringen av lågnivåprogrammeringen och jobblistan för DMA-scatter/gather, samtidigt som VXFabric-infrastrukturen upprätthåller den nödvändiga, systemomfattande koherensen för adressmappning. Med detta raw-mode får användaren inte tillgång till alla funktioner som används i TCP/IP-kommunikation (garanterad leverans, datakontroll, flödeskontroll), utan man måste hitta andra sätt att synkronisera mellan de olika delarna i en distribuerad applikation.
VxFabric, TCP och RAM API
Prestandamått
Upp till 5,6 Gbit/s råbandbredd går det nu att få ut ur VPX-standarden. Konfigurationen klarar att stödja upp till 4,4 Gbyte vid TCP/IP-kommunikation. Detta är ett enormt steg framåt vad gäller bearbetningskraft och I/O-bandbredd i högpresterande embedded-applikationer som radar- och sonarsystem, liksom i system för videobaserad Situational Awareness (avancerad övervakning).
Kontinuerlig genomströmning har uppmätts med standardverktyget ”iperf”. Prestanda hos PCIe Gen 3 har demonstrerats på VX3042/VX3044-kort med 3:e generationens Intel Core i7-processorer (Ivy Bridge). För PCIe Gen 2 uppmättes resultaten vid kommunikation mellan VX3035-kort baserade på 2:a generationens Intel Core i7-processorer (Sandy Bridge). Och för mätning av bandbredden hos PCIe Gen 1 användes VX3030/VX6060-kort med 1:a generationens Intel Core i7-processorer (Arrandale). Under mätningarna var Turbo Boost och Hyperthreading avaktiverade.
Bandbredd och CPU-användning med VxFabric
Slutsats
Baserad på PCIe Gen 3 är VXFabric en teknologi som är lämplig för ett antal militära och aeronautiska applikationer, både för HPEC (high performance embedded computing) med upp till 12 quad-processornoder och för SWAP-optimerade konstruktioner med ett fåtal datornoder och många I/O. För att etablera PCIe och TCP/IP i alla datorteknologier positioneras nu PCIe och VXFabric som effektiva, prisvärda och långsiktiga teknologier för switchstrukturer i embeddedsystem.
Om vi ser framåt kommer PCIe Gen 4, med hastigheter upp till 16 Gbit/s, att accelerera och utöka användandet av PCIe-teknologin även inom nya marknadssegment, samtidigt som den blir enklare och mer ekonomisk att konstruera med och använda. Eftersom VXFabric bildar en brygga mellan PCIe och ”Internet of Things”-protokollet TCP/IP kan applikationsmjukvara skyddas från obsolescens under åtminstone de kommande 20 åren.
Vincent Chuffart, Mil & Aero Product Manager, Kontron och Krishna Mallampati, Senior Director of Product Marketing, PLX Technology
Filed under: Militar