Architektura wieloprocesorowa serii Symmetry 2000

W roku 1991 Sequent przedstawił serię komputerów wieloprocesorowych Symmetry 2000. Maszyny te udowodniły swoją przydatność do obsługi relacyjnych baz danych i przetwarzania transakcji na bieżąco (OLTP). Głównym zamierzeniem było stworzenie systemu w pełni skalowalnego, tzn. umożliwiającego łatwą rozbudowę i zwiększanie mocy obliczeniowej. Do tego celu wybrano symetryczną architekturę wieloprocesorową (SMP).

W roku 1991 Sequent przedstawił serię komputerów wieloprocesorowych Symmetry 2000. Maszyny te udowodniły swoją przydatność do obsługi relacyjnych baz danych i przetwarzania transakcji na bieżąco (OLTP). Głównym zamierzeniem było stworzenie systemu w pełni skalowalnego, tzn. umożliwiającego łatwą rozbudowę i zwiększanie mocy obliczeniowej. Do tego celu wybrano symetryczną architekturę wieloprocesorową (SMP).

Starsze modele (Symmetry 2000/x00 i 2000/x50) wykorzystują procesory Intel 80486. We wrześniu 1993 r. wprowadzono nowe modele (Symmetry 2000/x90) z procesorami Pentium. Wszystkie komputery serii 2000 mają jednakową architekturę. Moc systemów można zwiększyć instalując dodatkowe karty z procesorami i z pamięcią, bez wprowadzania jakichkolwiek zmian w oprogramowaniu. Modele rożnią się między sobą tylko wielkością obudowy, mocą zasilacza i liczbą gniazd na poszczególnych magistralach.

Procesory, architektura

Komputery serii Symmetry 2000 mają 2-30 procesorów połączonych ze wspólną pamięcią operacyjną za pośrednictwem szybkiej magistrali systemowej Sequenta SSB (Sequent System Bus). Procesory są umieszczone po dwa na wymienialnych kartach. Także jednostki wspólnej pamięci mają postać kart. Każdy procesor, obok wbudowanej pamięci podręcznej (cache), ma dodatkową pamięć podręczną (secondary cache) o pojemności 512 kB lub 2MB, umieszczoną na karcie procesora i dostępną dla niego bez pośrednictwa magistrali systemowej.

Procesory współdziałają na zasadzie "równy z równym" (peer to peer), komunikując się przez magistralę SSB oraz przez kontrolery przerwań SLIC Sequenta (System Level Interrupt Controlers), które są połączone osobną szyną przerwań i sygnałów sterujących (SLIC Bus) opracowaną przez Sequent.

Za komunikację ze światem zewnętrznym odpowiadają kolejne dwie konstrukcje Sequenta: karta systemowa SSM (System Services Module) i sterownik we/wy QCIC (Quad-Channel I/O Controller), opracowany po to, aby szybkość komunikacji z dyskami odpowiadała możliwościom systemu wieloprocesorowego. Na karcie sterownika QCIC są umieszczone cztery kontrolery kanałów SCSI. Każdy z nich może obsłużyć 6 (w modelach z i486), 8 lub 12 (w modelach z Pentium) dysków. Interfejs szyny SCSI jest umieszczony także na płycie SSM. Ponadto modele 400 i 700 wyposażone są w kartę dwukanałowego sterownika dyskowego DCC zgodnego ze standardem przemysłowym SMD-E.

Pamięć główna i magistrala systemowa

Komputery Symmetry mogą mieć od 64 MB do 1536 MB pamięci operacyjnej, dostępnej za pośrednictwem magistrali systemowej SSB. Producent oferuje dwa rodzaje kart pamięci. Karty podstawowe (Memory Controller boards) zawierają jednostkę RAM o pojemności 16 lub 64 MB i sterownik pamięci połączony bezpośrednio z magistralą. Do każdej karty podstawowej można dołączyć kartę rozszerzenia pamięci (Memory Expansion board) o pojemności 48, 96 lub 122 MB, komunikującą się z magistralą za pośrednictwem sterownika karty podstawowej.

Szybka magistrala SSB łączy karty pamięciowe i procesorowe oraz podsystemy we/wy. Zawiera ona 64-bitową szynę danych i 32-bitową szynę adresową, umożliwia też realizację wielu transmisji w tym samym czasie. Szybkość transmisji danych wynosi 64 MB/s.

Pamięci podręczne i strategia kopiowania

Magistralę SSB opracowano po to, aby 30 procesorów mogło pracować bez przestojów. Aby zmniejszyć jej obciążenie na kartach procesorów umieszczono jednostki pamięci podręcznej. Procesory przechowują w nich dane, do których najczęściej się odwołują. Zmniejsza to liczbę żądań kierowanych do magistrali i czas oczekiwania na ich realizację.

Dla utrzymania spójności między kopiami danych, umieszczonymi w pamięci głównej i w pamięciach podręcznych, stosuje się strategię copyback caching: procesor nie odsyła swoich danych do pamięci głównej natychmiast po ich zmodyfikowaniu, lecz dopiero wtedy, gdy są one potrzebne innemu procesorowi lub gdy on sam musi wczytać nowe dane do swojej pamięci.

Kopiowanie lub modyfikacja fragmentu danych powoduje zmianę statusu odpowiednich kopii w pamięciach innych procesorów. Każdy z nich wie, czy jego kopia jest aktualna. Sygnały o zmianie statusu są przesyłane po magistrali SSB.

System komunikacji międzyprocesorowej SLIC.

Karty procesorów wyposażone są w kontrolery przerwań SLIC, połączone jednobitową synchroniczną szyną SLIC Bus działającą niezależnie od magistrali systemowej. Układ ten umożliwia przesyłanie między procesorami przerwań oraz sygnałów koordynujących działania szyny SSB i bierze udział w inicjalizacji, diagnozowaniu, a także kontroli konfiguracji systemu.

Procesory komunikują się przez SLIC wymieniając pakiety "rozkaz-odpowiedź" (command-response). Rozkaz jest wysyłany przez jeden kontroler SLIC i równocześnie odbierany przez wszystkie pozostałe. Odpowiedź może być wysyłana przez kilka kontrolerów równocześnie. Każdy przesyłany pakiet jest opatrzony znacznikiem priorytetu. Przy próbie równoczesnej transmisji kontroler wysyłający pakiet o niższym priorytecie czeka na powtórzenie transmisji.

Procesor może zaprogramować swój kontroler SLIC tak, aby akceptował one tylko niektóre przerwania docierające po szynie SLIC. Kontroler wysyłający przerwanie od razu dowiaduje się, czy zostało ono zaakceptowane przez odbiorcę, nawet jeśli jego procesor nie może natychmiast obsłużyć przerwania.

Efekty

Wzrost mocy obliczeniowej jest prawie liniowo zależny od liczby procesorów. Również przepustowość kontrolera dyskowego QCIC rośnie prawie liniowo wraz z dodawaniem nowych dysków. Stosunek ceny do mocy jest korzystniejszy niż w przypadku tradycyjnych supermini i mainframes. Testy sprawności TPC-A wykonane na systemie Symmetry 2000/750 (26 procesorów i486) z bazą Oracle V7.01 dały wynik 618,39 tps. Był to pierwszy system unixowy, który w tym teście przełamał barierę 600 tps. Koszt jednostki wydajności wynosi 11006 USD/TPC-A. Podobny test dla systemu Symmetry 2000/290 tylko z czterema Pentium dał wynik 354,5 tps (7436 USD/TPC-A).

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200