Portals nätverksprogrammering applikationsprogrammeringsgränssnitt
Utvecklare | Sandia National Laboratories , University of New Mexico |
---|---|
Stabil frisättning | 4.0.2 [ när? ]
|
Typ | Nätverks- API |
Hemsida |
Portals är ett nätverks -API på låg nivå för högpresterande nätverk på högpresterande datorsystem utvecklat av Sandia National Laboratories och University of New Mexico . Portals är för närvarande det lägsta nätverksprogrammeringsgränssnittet på den kommersiellt framgångsrika XT-serien av superdatorer från Cray .
Översikt
Portals bygger på konceptet med elementära byggstenar som kan kombineras för att stödja ett brett utbud av nätverkstransportsemantik på övre nivå. Portals tillhandahåller ensidig datarörelse, men till skillnad från andra ensidiga programmeringsgränssnitt är målet för en fjärroperation inte en virtuell adress . Istället bestäms den slutliga destinationen i minnet för ett inkommande meddelande vid mottagaren genom att jämföra innehållet i meddelandehuvudet med innehållet i strukturer vid destinationen. Denna flexibilitet möjliggör effektiva implementeringar av både ensidig och dubbelsidig kommunikation. Portals syftar särskilt till att tillhandahålla de grundläggande operationerna som krävs för att stödja en högpresterande och skalbar implementering av standarden Message Passing Interface ( MPI). Det användes också som det ursprungliga nätverkstransportskiktet för filsystemet Luster .
Tidiga år
Portaler började i början av 1990-talet som en förlängning av nX -meddelandeöverföringssystemet som används i operativsystemen SUNMOS och Puma. Den implementerades först för Intel Paragon på Sandia, och portades senare till Intel TeraFLOPS-maskinen med namnet ASCI Red . Det fanns fyra byggstenar i den första versionen av Portals: det enkla blocket, det dynamiska blocket, det oberoende blocket och det kombinerade blocket. Alla inkommande meddelanden skulle först passera genom en matchningslista som gjorde det möjligt för enskilda portaler att svara på specifika grupper, rangordningar och en uppsättning användarspecificerade matchningsbitar.
portaler 3
Portals-konceptet fortsatte att utvecklas under successiva generationer av lätta kärnor och massivt parallella system. 1999 gavs ett operativt programmeringsgränssnitt till Portals så att det kunde implementeras för intelligenta eller programmerbara nätverksgränssnitt utanför en lätt kärnmiljö. Denna standard har utformats för system där arbetet som krävs för att förbereda, överföra och leverera meddelanden är längre än tur och retur till portalernas datastrukturer. Till exempel, i moderna system, domineras detta arbete av tur och retur genom IO-bussen till nätverksgränssnittet. Standarden har reviderats sedan den första releasen för att göra den mer lämpad för moderna högpresterande, massivt parallella datorer. MPI-biblioteket portades från den retroonyma Portals 2 till den nya Portals 3.0.
Portals 3-specifikationen har implementerats flera gånger, först på ASCI Red , sedan på CPlant över Myrinet , Linux och Cray XT- familjen.
portaler 4
I ljuset av framväxande språk för partitionerat globalt adressutrymme (PGAS) har flera nya funktioner lagts till i Portals API som en del av Portals 4. Portals 4 gjorde också flera ändringar för att förbättra interaktionen mellan processorn och nätverksgränssnittet (NIC) för implementeringar som ger avlastning. Slutligen lades ett alternativ till att stödja en form av flödeskontroll till Portals 4.
Portals 4 är nätverks-API:et på låg nivå för Bull-Atos BXI NIC.