Interfață de programare a programelor de rețea a portalurilor - Portals network programming application programming interface
| Developer (s) | Laboratoarele Naționale Sandia , Universitatea din New Mexico |
|---|---|
| Versiune stabila | 4.0.2 |
| Tip | API de rețea |
| website | www |
Portals este o API de rețea de nivel scăzut pentru rețelele de înaltă performanță pe sisteme de calcul performante dezvoltate de Sandia National Laboratories și Universitatea din New Mexico . Portalurile este în prezent interfața de rețea de programare de nivel cel mai scăzut pe linia XT de succes comercial de supercomputere Cray .
cuprins
Prezentare generală
Portalurile se bazează pe conceptul de blocuri elementare care pot fi combinate pentru a susține o mare varietate de semantice de transport de rețea la nivel superior. Portalurile oferă operațiuni de mișcare a datelor pe o față, dar spre deosebire de alte interfețe de programare unilaterală, ținta unei operații la distanță nu este o adresă virtuală . În schimb, destinația finală în memoria unui mesaj primit este determinată la receptor prin compararea conținutului antetului mesajului cu conținutul structurilor de la destinație. Această flexibilitate permite implementarea eficientă a comunicațiilor unilaterale și cu două fețe. În special, Portals are ca scop furnizarea operațiunilor fundamentale necesare pentru a sprijini o implementare de înaltă performanță și scalabilă a standardului MPI ( Message Passing Interface ). A fost, de asemenea, utilizat ca strat de transport de rețea inițial pentru sistemul de fișiere Luster .
Primii ani
Portalurile au început la începutul anilor 1990 ca o extensie la sistemul de transmitere a mesajelor nX , utilizat în sistemul de operare SUNMOS și Puma . A fost implementat pentru prima oară pentru Intel Paragon la Sandia, iar ulterior a fost portat la mașina Intel TeraFLOPS numită ASCI Red . În prima versiune a portalurilor au existat patru blocuri de construcție: blocul unic, blocul dinamic, blocul independent și blocul combinat. Toate mesajele primite ar trece mai întâi printr-o listă de potriviri care a permis portalurilor individuale să răspundă la anumite grupuri, ranguri și un set de biți de potrivire specificate de utilizator.
Portaluri 3
Conceptul de portaluri a continuat să evolueze pe generații succesive de sâmburele ușoare și sisteme masive paralele. În 1999, o interfață de programare operațională a fost oferită portalurilor, astfel încât să poată fi implementată pentru interfețe de rețea inteligente sau programabile în afara unui mediu ușor de sâmbure. Acest standard a fost conceput pentru sistemele în care munca necesară pentru pregătirea, transmiterea și livrarea mesajelor este mai lungă decât returul către structurile de date ale portalurilor. De exemplu, în sistemele moderne, această lucrare este dominată de dus-întors prin magistrala IO la interfața de rețea. Standardul a fost revizuit de la lansarea inițială pentru a-l face mai potrivit pentru computere moderne de înaltă performanță, masiv paralele. Biblioteca MPI a fost portată de la portalurile 2 retronimate la noile portaluri 3.0.
Specificația Portals 3 a fost implementată de mai multe ori, mai întâi pe ASCI Red , apoi pe CPlant peste Myrinet , Linux și familia Cray XT .
Portaluri 4
Având în vedere limbajele emergente de adrese spațiale (PGAS) partitionate , mai multe funcții noi au fost adăugate la API-ul Portals ca parte a portalurilor 4. Portalurile 4 au făcut, de asemenea, mai multe modificări pentru a îmbunătăți interacțiunea dintre procesor și interfața de rețea (NIC) pentru implementări. care oferă descărcare. În cele din urmă, la opțiunile 4 a fost adăugată o opțiune pentru a susține o formă de control de flux.
Portalurile 4 este API-ul de rețea de nivel scăzut pentru Bull-Atos BXI NIC.