Interfejs programowania aplikacji sieciowych portali

Interfejs programowania aplikacji sieciowych portali
Deweloper (y) Sandia National Laboratories , Uniwersytet Nowego Meksyku
Wersja stabilna
4.0.2 [ kiedy? ]
Typ Sieciowe API
Strona internetowa www.sandia.gov/Portale _ _ _

Portals to niskopoziomowy interfejs API sieciowy przeznaczony do wysokowydajnych sieci w systemach obliczeniowych o wysokiej wydajności, opracowany przez Sandia National Laboratories i Uniwersytet Nowego Meksyku . Portals to obecnie interfejs programowania sieciowego najniższego poziomu w odnoszącej sukcesy komercyjne linii superkomputerów XT firmy Cray .

Przegląd

Portale opierają się na koncepcji elementarnych elementów składowych, które można łączyć w celu obsługi szerokiej gamy semantyki transportu sieciowego wyższego poziomu. Portale umożliwiają jednostronne operacje przenoszenia danych, ale w odróżnieniu od innych jednostronnych interfejsów programistycznych celem zdalnej operacji nie jest adres wirtualny . Zamiast tego ostateczne miejsce docelowe w pamięci przychodzącej wiadomości jest określane u odbiorcy poprzez porównanie zawartości nagłówka wiadomości z zawartością struktur w miejscu docelowym. Taka elastyczność pozwala na sprawną realizację komunikacji zarówno jednostronnej, jak i dwustronnej. Celem Portali jest w szczególności zapewnienie podstawowych operacji niezbędnych do obsługi wysokowydajnej i skalowalnej implementacji standardu Message Passing Interface (MPI). Był również używany jako początkowa warstwa transportu sieciowego dla Luster .

Wczesne lata

Portale powstały na początku lat 90. jako rozszerzenie systemu przekazywania wiadomości nX używanego w systemach operacyjnych SUNMOS i Puma. Po raz pierwszy został zaimplementowany dla Intel Paragon w Sandia, a później przeniesiony na maszynę Intel TeraFLOPS o nazwie ASCI Red . Pierwsza wersja Portali składała się z czterech elementów składowych: pojedynczego bloku, bloku dynamicznego, bloku niezależnego i bloku połączonego. Wszystkie przychodzące wiadomości przechodziły najpierw przez listę dopasowań, która umożliwiała poszczególnym portalom odpowiadanie określonym grupom, rangom i zestawowi bitów dopasowania określonych przez użytkownika.

Portale 3

Koncepcja portali ewoluowała w miarę kolejnych generacji lekkich jąder i systemów masowo równoległych. W 1999 r. portale otrzymały operacyjny interfejs programowania, dzięki czemu można go było zaimplementować w inteligentnych lub programowalnych interfejsach sieciowych poza lekkim środowiskiem jądra. Ten standard został zaprojektowany dla systemów, w których praca wymagana do przygotowania, przesłania i dostarczenia wiadomości jest dłuższa niż podróż w obie strony do struktur danych Portali. Na przykład w nowoczesnych systemach praca ta jest zdominowana przez podróż w obie strony przez magistralę IO do interfejsu sieciowego. Standard został poprawiony od czasu pierwszego wydania, aby lepiej dostosować go do nowoczesnych, masowo równoległych komputerów o wysokiej wydajności. Biblioteka MPI została przeniesiona z wersji przemianowano Portals 2 na nowe Portale 3.0.

Specyfikacja Portals 3 była wdrażana kilkukrotnie, najpierw w ASCI Red , następnie w CPlant poprzez Myrinet , Linux i rodzinę Cray XT .

Portale 4

W świetle pojawiających się języków z partycjonowaną globalną przestrzenią adresową (PGAS), do interfejsu API Portals w ramach Portals 4 dodano kilka nowych funkcji. W Portals 4 wprowadzono także kilka zmian, aby poprawić interakcję między procesorem a interfejsem sieciowym (NIC) na potrzeby implementacji które zapewniają odciążenie. Wreszcie do Portals 4 dodano opcję obsługi formy kontroli przepływu.

Portals 4 to niskopoziomowy interfejs API sieciowy dla karty sieciowej Bull-Atos BXI.

Linki zewnętrzne