Chip Multirpocessing

Już w tym roku mają się pojawić wydajne, korporacyjne serwery wykorzystujące zintegrowane układy wieloprocesorowe CMP. Komputery takie zamierzają wprowadzić m.in. Sun Microsystems, IBM, Compaq Computer i Hewlett-Packard. Warto zauważyć, że wśród firm wspierających nową technologię brakuje Intela, który zwiększa wydajność procesorów, wykorzystując równoległe przetwarzanie danych na poziomie zestawu instrukcji, co jest obecnie rozwiązaniem tańszym.

Już w tym roku mają się pojawić wydajne, korporacyjne serwery wykorzystujące zintegrowane układy wieloprocesorowe CMP. Komputery takie zamierzają wprowadzić m.in. Sun Microsystems, IBM, Compaq Computer i Hewlett-Packard. Warto zauważyć, że wśród firm wspierających nową technologię brakuje Intela, który zwiększa wydajność procesorów, wykorzystując równoległe przetwarzanie danych na poziomie zestawu instrukcji, co jest obecnie rozwiązaniem tańszym.

Wyniki wstępnych testów wykazują, że dwa zintegrowane układy mikroprocesorowe mają wydajność co najmniej dwukrotnie większą od podobnego systemu składającego się z dwóch współpracujących procesorów. Wynika to przede wszystkim ze skrócenia odległości pomiędzy elementami i zwiększenia przepustowości szyny, umożliwiającej wymianę danych między jednostkami CPU. Na przykład procesor IBM Power4 przetwarza 100 GB danych w ciągu sekundy, co odpowiada możliwości przesyłania w tym czasie informacji zapisanych na 20 standardowych płytach DVD.

Cena systemów komputerowych wyposażonych w procesory CMP będzie proporcjonalna do ogromnej wydajność obliczeniowej tych procesorów i wynosić ma setki tysięcy lub miliony dolarów. Dlatego sprzęt ten znajdzie zastosowanie komercyjne przede wszystkim w rozwiązaniach wymagających bardzo dużej wydajności i szczególnie wysokiej dostępności, np. w superserwerach do analizy danych sejsmicznych, które są używane przez firmy eksplorujące złoża ropy naftowej, komputerach do analizy genów, zaawansowanych symulacjach graficznych, a także systemach wykorzystywanych w biznesie elektronicznym.

DEFINICJA

Chip Multiprocessing (CMP) to nowa konstrukcja mikroprocesorów, które składają się z dwóch lub więcej układów umieszczonych na jednej płytce krzemowej. Tego typu systemy, które już wkrótce pojawią się na rynku, mają umożliwić istotne zwiększenie wydajności serwerów w porównaniu z komputerami wyposażonymi w jeden lub kilka oddzielnych procesorów.

Ale nie znaczy to, że komputery CMP znajdą zastosowanie we wszystkich systemach wymagających wysokiej wydajności. Na przykład zaawansowane, korporacyjne aplikacje finansowe wykorzystujące przetwarzanie sekwencyjne wciąż będą uruchamiane na komputerach jednoprocesorowych.

Konstrukcja zintegrowanych układów wieloprocesorowych, które mogą znaleźć zastosowanie w komputerach komercyjnych, stała się możliwa wskutek zmniejszenia wymiarów elementów półprzewodnikowych. W tym roku będą dostępne systemy dwuprocesorowe. Wkrótce pojawią się też kolejne generacje układów zawierających więcej zintegrowanych jednostek CPU.

Obecnie największym wyzwaniem dla konstruktorów jest tworzenie efektywnego systemu przepływu danych. Integracja dwóch lub większej liczby procesorów na jednej płytce krzemu nie oznacza bowiem automatycznie, że powstanie wydajny układ CMP. To właśnie w zakresie konstrukcji magistrali wymiany in-formacji występują największe różnice między architekturami opracowywanymi przez poszczególnych producentów.

Różne konstrukcje CMP

Sun Microsystems zamierza wprowadzić na rynek już w I kw. tego roku układy MAJC-5200, składające się z dwóch jednostek CPU 500 MHz, procesora graficznego i układu do obsługi transmisji danych. Maksymalna przepustowość systemu I/O ma wynosić 4,8 GB/s. Każda z jednostek CPU będzie wyposażona w 16 KB podręcznej pamięci asocjacyjnej dla instrukcji, a dodatkowo układ zawiera 16 KB wspólnej podręcznej pamięci asocjacyjnej dla danych.

#Dwa podejścia#
Projektanci zintegrowanych układów wieloprocesorowych wykorzystują różne mechanizmy do zapewnienia efektywnego przepływu danych między procesorami i systemami zewnętrznymi. Sun MAJC-5200 zawiera dwa moduły pamięci podręcznej 16 KB i wykorzystuje mechanizm przetwarzania wielowątkowego. Natomiast IBM Power4 został wyposażony w pamięć podręczną L2 do wymiany danych między układami CPU oraz L3 do buforowania informacji przesyłanych z pamięci zewnętrznej.

MAJC-5200 umożliwia wielowątkowe przetwarzanie. Układy sprzętowe procesora mogą dzielić dane na poziomie bitów, przesyłając je do obu jednostek CPU, co pozwala na uniknięcie pustych cykli obliczeń. Jak jednak przyznają przedstawiciele Sun Microsystems, większość dostępnych aplikacji nie jest odpowiednio zoptymalizowana, aby wykorzystywać mechanizm obliczeń wielowątkowych. Dlatego też procesor wykorzystuje dodatkowo maszynę wirtualną Java do spekulacyjnego generowania wątków aplikacji Java.

IBM zdecydował się nie implementować mechanizmu obliczeń wielowątkowych w procesorze Power4 1 GHz, który ma się pojawić na rynku w II połowie tego roku. Aby zapewnić efektywny przepływ danych, każdy z układów CPU w Power4 wyposażono w 32 MB pamięci podręcznej drugiego i trzeciego poziomu. Jak wyjaśniają przedstawiciele IBM, zwiększenie częstotliwości procesora powoduje wydłużenie cyklu wymiany danych z pamięcią, który trwa 1 ns dla układu 500 MHz, a 2 ns przy częstotliwości 1 GHz. Toteż inżynierowie firmy zdecydowali się na wprowadzenie dodatkowego poziomu pamięci podręcznej.

Pierwsze modele Power4 będą też wyposażone w szynę danych o częstotliwości 500 MHz, a więc o połowę mniejszej niż częstotliwość jednostek centralnych procesora. Konstrukcja układu przewiduje jednak możliwość jej zwiększenia w kolejnych modelach do ponad 1 GHz.

W opinii Sun i IBM, nowa architektura układów wieloprocesorowych umożliwi osiągnięcie wydajności większych niż przewiduje to prawo Moore'a. Jednocześnie jest to poważne wyzwanie dla programistów, ponieważ bez odpowiednio przygotowanych aplikacji wzrost wydajności nowych systemów może zostać poważnie ograniczony.

Przedruk z tygodnika "Computerworld" wydawanego przez IDG Polska.


Zobacz również