Więcej niż SMP, mniej niż MPP

NUMA - etap pośredni między SMP a MPP

Stosunkowo tanie konstrukcje NUMA do zastosowań komercyjnych pojawiły się z chwilą opracowania przez Intela modułów procesorowych SHV i SSB. Moduł jest konstrukcją typu SMP, która na płycie głównej zawiera cztery procesory z 512 KB pamięci podręcznej (cache) każdy, 4 GB pamięci RAM oraz dwa kanały we/wy w standardzie PCI.

Podobnie jak w przypadku komputerów SMP, systemy NUMA utrzymują wspólny, jednolity widok całej pamięci systemu, a wszystkie zasoby są zarządzane przez jedną kopię systemu operacyjnego. Jednak w przeciwieństwie do systemu SMP, dostęp do całej pamięci nie odbywa się z jednakowym opóźnieniem (Non-Uniform Memory Access). Dostęp do pamięci znajdującej się w innym module SHV trwa znacznie dłużej niż do pamięci lokalnej. Efekt ten redukuje znacznie stosowanie tzw. cache'a trzeciego poziomu L3. (Cache 1 poziomu znajduje się w procesorze, cache 2 poziomu L2 jest dołączony do każdego procesora w module.)

Jeżeli procesor stwierdzi, że potrzebne mu dane nie znajdują się w lokalnym cache L2 ani w pamięci lokalnej, musi wysłać żądanie dostępu do innego modułu. W niektórych konstrukcjach żądania dostępu są grupowane w bloki i przesyłane za pomocą szybkiego łącza szeregowego do wszystkich modułów, które wciąż śledzą komunikację na tym łączu, odbierając przeznaczone dla nich komunikaty. Pobrane dane są przesyłane przez to samo łącze i zapamiętywane w cache L3 modułu.

Pobieranie danych ze zdalnej pamięci za pośrednictwem cache L3 wymaga zapewnienia zgodności danych znajdujących się w cache'ach L2 i L3 z danymi w pamięci. Może się bowiem tak zdarzyć, że procesor w jednym module zapisuje dane do pamięci, a tymczasem w cache L3 innego modułu znajdują się dane nieaktualne.

Konstruktorzy systemów NUMA stosują różne rozwiązania do zapewnienia zgodności danych w systemie.

Komputery AViiON z rodziny NUMALiiNE firmy Data General realizują architekturę ccNUMA (Cache Coherent NUMA), stosując moduł tzw. Cache Coherency Bridge. Zawiera on do 128 MB szybkiej pamięci jako cache L3, skomplikowane układy logiczne do zapewnienia spójności danych, ma dostęp do szyny pamięciowej modułu SHV i połączenie przez podwójny światłowodowy pierścień szyny Scalable Coherent Interface (SCI) z pozostałymi modułami. Każdy pierścień SCI działa z szybkością 500 MB/s, łącze ma więc zagregowaną szybkość 1 GB/s. Rozwiązanie Data General pozwala na połączenie na jednym pierścieniu do 8 modułów SHV, tworząc system, zawierający do 32 procesorów.

W nowej wersji systemu, z procesorami Deschutes, przewiduje się obsługę do 64 procesorów.

Firma Sequent stosuje podobne rozwiązanie o nazwie NUMA-Q, w którym używa tego samego protokołu SCI z pojedynczym pierścieniem światłowodowym o szybkości 1 GB/s. Firma prezentowała konstrukcję działającą z 63 modułami (252 procesory). Komputery Sequent NumaCenter z procesorami Deschutes będą dostępne w połowie br. W tym komputerze Sequent zamierza umożliwić statyczne partycjonowanie procesorów i zasobów na dwa komputery logiczne do jednoczesnego uruchamiania dwóch systemów operacyjnych - Unixa i Windows NT.

Komputery Data General i Sequent są przeznaczone głównie do zastosowań komercyjnych. Hewlett-Packard i Silicon Graphics również mają w swojej ofercie systemy o konstrukcji typu NUMA, ale bez cache trzeciego poziomu. Zamiast niego, stosują szybkie krosownice, łączące bezpośrednio cache L2 jednego modułu z pamięcią główną innego. Wymaga to specjalizowanych układów scalonych i ogranicza możliwość rozbudowy systemu o dalsze moduły. Produkt HP wymaga również stosowania specjalnej wersji systemu operacyjnego, co ogranicza liczbę dostępnych aplikacji i sterowników do urządzeń.


TOP 200