Multiprocesory i multikomputery

W tym rozdziale omówimy wieloprocesory i multikomputery.

Wieloprocesorowe połączenia systemowe

Przetwarzanie równoległe wymaga użycia wydajnych połączeń systemowych do szybkiej komunikacji pomiędzy urządzeniami wejścia / wyjścia i urządzeniami peryferyjnymi, procesorami wieloprocesorowymi i pamięcią współdzieloną.

Hierarchiczne systemy magistrali

Hierarchiczny system magistrali składa się z hierarchii magistral łączących różne systemy i podsystemy / komponenty w komputerze. Każda magistrala składa się z szeregu linii sygnałowych, sterujących i zasilających. Różne magistrale, takie jak magistrale lokalne, magistrale płyty montażowej i magistrale we / wy są używane do wykonywania różnych funkcji połączeń.

Autobusy lokalne to autobusy zaimplementowane na płytkach drukowanych. Magistrala backplane to obwód drukowany, na którym zastosowano wiele złączy do podłączenia funkcjonalnych płytek. Magistrale, które łączą urządzenia wejścia / wyjścia z systemem komputerowym, nazywane są magistralami I / O.

Przełącznik poprzeczny i pamięć wieloportowa

Sieci komutowane zapewniają dynamiczne połączenia między wejściami i wyjściami. Małe i średnie systemy najczęściej wykorzystują sieci poprzeczne. Sieci wielostopniowe można rozszerzyć na większe systemy, jeśli uda się rozwiązać problem zwiększonych opóźnień.

Zarówno przełącznik poprzeczny, jak i organizacja pamięci wieloportowej to sieć jednostopniowa. Chociaż budowa sieci jednoetapowej jest tańsza, do ustanowienia niektórych połączeń może być potrzebnych wiele przejść. Sieć wielostopniowa ma więcej niż jeden stopień przełączników. Sieci te powinny mieć możliwość podłączenia dowolnego wejścia do dowolnego wyjścia.

Sieci wielostopniowe i łączone

Sieci wielostopniowe lub wielostopniowe sieci wzajemne to klasa szybkich sieci komputerowych, które składają się głównie z elementów przetwarzających na jednym końcu sieci i elementów pamięci na drugim końcu, połączonych za pomocą elementów przełączających.

Sieci te są wykorzystywane do budowy większych systemów wieloprocesorowych. Obejmuje to Omega Network, Butterfly Network i wiele innych.

Multikomputery

Multikomputery to architektury MIMD z pamięcią rozproszoną. Poniższy diagram przedstawia koncepcyjny model multikomputera -

Multikomputery to maszyny do przesyłania wiadomości, które stosują metodę przełączania pakietów do wymiany danych. Tutaj każdy procesor ma prywatną pamięć, ale nie ma globalnej przestrzeni adresowej, ponieważ procesor ma dostęp tylko do własnej pamięci lokalnej. Zatem komunikacja nie jest przejrzysta: tutaj programiści muszą jawnie umieścić w swoim kodzie prymitywy komunikacyjne.

Brak dostępnej globalnie pamięci jest wadą multikomputerów. Można to rozwiązać za pomocą dwóch poniższych schematów -

  • Wirtualna pamięć współdzielona (VSM)
  • Współdzielona pamięć wirtualna (SVM)

W tych schematach programista aplikacji zakłada dużą pamięć współdzieloną, która jest adresowalna globalnie. Jeśli jest to wymagane, odwołania do pamięci tworzone przez aplikacje są tłumaczone na paradygmat przekazywania wiadomości.

Wirtualna pamięć współdzielona (VSM)

VSM to implementacja sprzętowa. Tak więc system pamięci wirtualnej systemu operacyjnego jest transparentnie wdrażany na szczycie VSM. Tak więc system operacyjny uważa, że ​​działa na komputerze z pamięcią współdzieloną.

Współdzielona pamięć wirtualna (SVM)

SVM to implementacja oprogramowania na poziomie systemu operacyjnego ze wsparciem sprzętowym z jednostki zarządzania pamięcią (MMU) procesora. Tutaj jednostką udostępniania są strony pamięci systemu operacyjnego.

Jeśli procesor adresuje określone miejsce w pamięci, MMU określa, czy strona pamięci związana z dostępem do pamięci znajduje się w pamięci lokalnej, czy nie. Jeśli strony nie ma w pamięci, w normalnym systemie komputerowym jest zamieniana z dysku przez system operacyjny. Ale w SVM system operacyjny pobiera stronę ze zdalnego węzła, który jest właścicielem tej konkretnej strony.

Trzy generacje multikomputerów

W tej sekcji omówimy trzy generacje multikomputerów.

Wybory projektowe w przeszłości

Wybierając technologię procesorową, projektant multikomputerów wybiera tanie procesory o średniej ziarnistości jako elementy składowe. Większość komputerów równoległych jest zbudowana ze standardowych, gotowych mikroprocesorów. Rozproszona pamięć została wybrana dla wielu komputerów zamiast używania pamięci współdzielonej, co ograniczyłoby skalowalność. Każdy procesor ma własną lokalną jednostkę pamięci.

W przypadku schematu połączeń multikomputery mają przekazywanie komunikatów, bezpośrednie sieci typu punkt-punkt, a nie sieci z przełączaniem adresów. Do strategii sterowania projektant wielu komputerów wybiera asynchroniczne operacje MIMD, MPMD i SMPD. Cosmic Cube firmy Caltech (Seitz, 1983) to pierwszy z multi-komputerów pierwszej generacji.

Obecny i przyszły rozwój

Komputery nowej generacji ewoluowały od średnich do drobnoziarnistych multikomputerów wykorzystujących globalnie współdzieloną pamięć wirtualną. Obecnie w użyciu są nadal komputery drugiej generacji. Ale używając lepszego procesora, takiego jak i386, i860 itp., Komputery drugiej generacji bardzo się rozwinęły.

Komputery trzeciej generacji to komputery nowej generacji, w których będą używane węzły zaimplementowane w technologii VLSI. Każdy węzeł może mieć procesor 14 MIPS, kanały routingu 20 MB / s i 16 KB pamięci RAM zintegrowane w jednym układzie.

System Intel Paragon

Wcześniej jednorodne węzły były używane do tworzenia multikomputerów hipersześcianu, ponieważ wszystkie funkcje były przekazywane do hosta. Więc to ograniczyło przepustowość I / O. Dlatego komputery te nie mogły być używane do skutecznego rozwiązywania problemów na dużą skalę lub z dużą przepustowością. System Intel Paragon został zaprojektowany, aby przezwyciężyć tę trudność. Dzięki temu multikomputer stał się serwerem aplikacji z dostępem wielu użytkowników w środowisku sieciowym.

Mechanizmy przekazywania wiadomości

Mechanizmy przekazywania wiadomości w sieci z wieloma komputerami wymagają specjalnego sprzętu i oprogramowania. W tej sekcji omówimy niektóre schematy.

Schematy routingu wiadomości

W multikomputerze ze schematem trasowania „store and forward” pakiety są najmniejszą jednostką transmisji informacji. W sieciach z routingiem wormhole pakiety są dalej dzielone na przepływy. Długość pakietu jest określana przez schemat routingu i implementację sieci, podczas gdy długość przepływu zależy od rozmiaru sieci.

W Store and forward routing, pakiety są podstawową jednostką transmisji informacji. W tym przypadku każdy węzeł używa bufora pakietów. Pakiet jest przesyłany z węzła źródłowego do węzła docelowego przez sekwencję węzłów pośrednich. Opóźnienie jest wprost proporcjonalne do odległości między źródłem a celem.

W wormhole routing, transmisja z węzła źródłowego do węzła docelowego odbywa się za pośrednictwem sekwencji routerów. Wszystkie przepływy tego samego pakietu są przesyłane w nierozerwalnej kolejności w sposób potokowy. W tym przypadku tylko przepływ nagłówka wie, dokąd zmierza pakiet.

Zakleszczenie i kanały wirtualne

Kanał wirtualny to logiczne łącze między dwoma węzłami. Tworzy go bufor flit w węźle źródłowym i odbiorczym oraz kanał fizyczny między nimi. Kiedy kanał fizyczny jest przydzielany parze, jeden bufor źródłowy jest sparowany z jednym buforem odbiornika w celu utworzenia kanału wirtualnego.

Gdy wszystkie kanały są zajęte przez komunikaty i żaden z kanałów w cyklu nie zostanie zwolniony, nastąpi zakleszczenie. Aby tego uniknąć, należy przestrzegać schematu unikania zakleszczenia.