Chip multiprocessing

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 rozwiązania, 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.

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 rozwiązania, 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.

Już w tym roku mają się pojawić wydajne, korporacyjne serwery wykorzystujące zintegrowane układy wieloprocesorowe CMP. Wśród firm, które zamierzają je wprowadzić, są m.in. Sun Microsystems, IBM, Compaq Computer i Hewlett-Packard. Warto zauważyć, że w gronie 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 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ści obliczeniowej tych procesorów i ma wynieść 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, w komputerach do analizy genów, zaawansowanych symulacjach graficznych, a także systemach wykorzystywanych w biznesie elektronicznym.

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ą być wykorzystywane w komputerach komercyjnych, stała się możliwa dzięki zmniejszeniu 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 stworzenie 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 informacji 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.

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 używać mechanizmu obliczeń wielowątkowych. Dlatego 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 i 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 przedstawicieli Sun i IBM, nowa architektura układów wieloprocesorowych umożliwi osiągnięcie wydajności większych niż przewidywane prawem 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.


TOP 200