Pluribus

Pluribus w Wharton School, kwiecień 1979, fot. Tony Patti

Wieloprocesorowy Pluribus był wczesnym komputerem wieloprocesorowym zaprojektowanym przez BBN do użytku jako przełącznik pakietów w ARPANET . Jego konstrukcja wpłynęła później na BBN Butterfly .

pojawiła się potrzeba procesora komunikatów interfejsu (IMP) drugiej generacji. W tym czasie BBN zainstalował już IMP w ponad trzydziestu pięciu lokalizacjach ARPANET . Te IMP to Honeywell 316 i 516. Sieć szybko rosła w kilku wymiarach: liczba węzłów, hostów i terminali; natężenie ruchu; i zasięg geograficzny (w tym plany, obecnie realizowane, rozszerzenia satelitów na Europę i Hawaje).

Postawiono sobie za cel zaprojektowanie modułowej maszyny, która w dolnej części byłaby mniejsza i tańsza niż modele 316 i 516, a jednocześnie umożliwiałaby rozbudowę w celu zapewnienia dziesięciokrotnie większej przepustowości i obsługi pięciokrotnie większej liczby wejść- urządzenia wyjściowe (we/wy), takie jak 516. Powiązane cele obejmowały większe możliwości adresowania pamięci i zwiększoną niezawodność.

Projektanci zdecydowali się na podejście wieloprocesorowe ze względu na jego obiecujący potencjał w zakresie modułowości, korzyści w zakresie kosztu w stosunku do wydajności, niezawodności oraz dlatego, że algorytmy przełączania pakietów IMP wyraźnie nadawały się do przetwarzania równoległego przez niezależne procesory.

Sprzęt komputerowy

Pluribus składał się z dwóch lub więcej standardowych 19-calowych szaf na sprzęt elektroniczny, z których każda jest podzielona na cztery wnęki. Każda wnęka zawierała magistralę płyty montażowej i niezależne zasilanie. Wnęka może zawierać magistralę procesora, magistralę pamięci współdzielonej lub wejście / wyjście Specjalnie zbudowane łączniki magistrali połączyły ze sobą wnęki tak, aby procesory mogły dotrzeć do pamięci współdzielonej i urządzeń wejścia-wyjścia.

6-procesorowy Pluribus został użyty jako przełącznik sieciowy do połączenia pięciu systemów współdzielenia czasu Tenex / „Twenex” BBN wraz z 378 terminalami na bezpośrednich liniach szeregowych i modemowych. Pluribus wykorzystywał Lockheed SUE jako procesor. SUE był podobny do PDP-11 firmy DEC .

Oprogramowanie

Oprogramowanie Pluribus zaimplementowało symetryczne przetwarzanie wieloprocesowe MIMD . Procesy oprogramowania zostały zaimplementowane przy użyciu multiprogramowania bez wywłaszczania . Planowanie procesów wykorzystywało urządzenie sprzętowe, zwane urządzeniem pseudo-przerwania lub PID, który był dostępny zarówno dla programów, jak i dla urządzeń I/O. Każdy procesor uruchamiał własną kopię harmonogramu procesów, który odczytywał wartość całkowitą z PID. Wartość została użyta do wybrania procesu do uruchomienia. Jeśli program lub urządzenie musiało zasygnalizować uruchomienie innego procesu, zapisałoby numer tego procesu w PID. PID emitowałby proces o najwyższym priorytecie, o który każdy prosił, i udostępniał go wszystkim procesorom.

Ważnym aspektem oprogramowania Pluribus był system „STAGE”, który wykrywał błędy systemowe i podejmował kroki w celu ich usunięcia. Zegary procesorów miały programy obsługi przerwań, które zaimplementowały zegary kontrolne na wszystkich procesorach. Jeśli procesor przestał działać, inny procesor wykryłby go i zainicjował odzyskiwanie. Proces odzyskiwania odblokowałby wszelkie blokady nałożone na udostępnione zasoby, zwolnił przydzieloną pamięć i zrestartował całe przetwarzanie na wszystkich procesorach. Było to do zaakceptowania w węźle routingu ARPANET, ponieważ wszelkie utracone pakiety były ostatecznie retransmitowane.

Dalsza lektura

  •   SM Ornstein, William R. Crowther, MF Kraley. RD Bressler, A. Michel, Frank E. Serce (1975). „Pluribus - Niezawodny multiprocesor” . proc. AFIPS . 44 : 551–559. doi : 10.1145/1499949.1500061 . S2CID 10813801 . {{ cite journal }} : CS1 maint: wiele nazwisk: lista autorów ( link )
  • CR Morgan; MF Kraley; i in. (kwiecień 1977). „Dokument Pluribus 2: Podręcznik systemu” . Raport BBN 2930. Bolt, Beranek i Newman, Inc. {{ cytuj dziennik }} : Cytuj dziennik wymaga |journal= ( pomoc )
  •   D. Katsukiego; ES Elsam; WF Mann; ES Roberts; JG Robinsona; FS Skowroński; EW Wilk (1978). „Pluribus - wieloprocesor odporny na awarie operacyjne” . Obrady IEEE . 66 (10): 1146–1159. doi : 10.1109/PROC.1978.11109 . S2CID 37125422 .