Politechnika Cz estochowska



Podobne dokumenty
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Wieloprogramowy system komputerowy

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura mikroprocesorów TEO 2009/2010

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Architektura komputerów

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

16. Taksonomia Flynn'a.

Wieloprogramowy system komputerowy

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Algorytmy i Struktury Danych

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Architektura komputerów

Architektura komputerów

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

Budowa Mikrokomputera

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

Architektura komputerów

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Architektura komputerów

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Mikroprocesory rodziny INTEL 80x86

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Wirtualne sieci prywatne

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Procesory. Schemat budowy procesora

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Dydaktyka Informatyki budowa i zasady działania komputera

Rozbudowa dwóch posiadanych serwerów blade HP BL860c i2 do BL870c i2

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Klaster obliczeniowy

20. Czy serwerownia spełnia standardowe wymagania techniczne dla takich pomieszczeń?

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013. Forma studiów: Stacjonarne Kod kierunku: 11.

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

TABELA PORÓWNAWCZA OFEROWANEGO SPRZĘTU

Dr inż. hab. Siergiej Fialko, IF-PK,

OFERTA. Załącznik nr 1 do zapytania ofertowego: Wzór oferty. Dane oferenta. Pełna nazwa oferenta: Adres:. REGON:.. Tel./fax.: .

Wymagania techniczne. Serwer bazy danych dla KRK szt. 2. Oferowany model.. Producent..

Płyty główne rodzaje. 1. Płyta główna w formacie AT

Ethernet. Ethernet odnosi się nie do jednej, lecz do wielu technologii sieci lokalnych LAN, z których wyróżnić należy cztery podstawowe kategorie:

Nowinki technologiczne procesorów

Linux -- u mnie działa!

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

CyberGuru Wirtualizacja na platformie Hyper-V w pigułce. Prezentuje: Kamil Frankowicz

Serwer biznesowy o podwójnym zastosowaniu moc obliczeniowa i pamięć masowa w jednej obudowie

Wykład I. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

Obliczenia rozproszone z wykorzystaniem MPI

MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na

LEKCJA TEMAT: Zasada działania komputera.

Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

Modularny system I/O IP67

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA CZĘŚĆ I

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

Materiały dodatkowe do podręcznika Urządzenia techniki komputerowej do rozdziału 5. Płyta główna i jej składniki. Test nr 5

1.1 Wymagania technologiczne i funkcjonalne dla oferowanego serwera zestaw 1

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Test dysku Intel SSD DC S GB. Wpisany przez Mateusz Ponikowski Wtorek, 22 Październik :22

Metody optymalizacji soft-procesorów NIOS

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 4

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zarządzanie pamięcią w systemie operacyjnym

Część V - Serwery. UWAGA! Część V stanowi nierozerwalną całość. Ocena będzie łączna dla 4 zadań. Zadanie nr 1. SERWER BAZODANOWY KWESTURA

Nowinki technologiczne procesorów

Autor: Jakub Duba. Interjesy

Serwer główny bazodanowy. Maksymalnie 1U RACK 19 cali (wraz ze wszystkimi elementami niezbędnymi do zamontowania serwera w oferowanej szafie)

Parametry techniczne. Testy

Plan wyk ladu. Architektura komputerów. Ograniczenie zwiazane. Odprowadzanie ciep la

3.Przeglądarchitektur

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

5R]G]LDï %LEOLRJUDğD Skorowidz

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

1. Serwer rack typ 1 Liczba sztuk: 2

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Karta sieciowa, 10/100/1000Mbit Dopuszcza się możliwość stosowania kart sieciowych zintegrowanych z płyta główną 8. Nagrywarka DVD+-RW DL SATA

Zapytanie ofertowe nr 03/05/2014. Zakup licencji na oprogramowanie do wirtualizacji Działanie POIG 8.2

Systemy rozproszone System rozproszony

Tom II: SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA (SOPZ): Przedmiotem zamówienia jest dostawa sprzętu infrastruktury serwerowej i sieciowej.

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

ARCHITEKTURA PROCESORA,

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

Projekty Zaliczeniowe Laboratorium Sieci Komputerowych

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola

Transkrypt:

Politechnika Cz estochowska Wydzia l Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej ROZPRAWA DOKTORSKA Projektowanie klastrów komputerów PC oraz metody zwiekszania ich wydajności i niezawodności mgr inż. Adam Tomaś Praca wykonana pod kierunkiem dr hab. inż. Romana Wyrzykowskiego, prof. P.Cz. Czestochowa, 2006

Spis treści 1. Wstep 4 1.1. T lo badań i przeglad literatury......................... 4 1.2. Teza i cel pracy................................. 7 1.3. Struktura pracy................................. 7 2. Klastry komputerów PC 9 2.1. Systemy równoleg le a klastry.......................... 9 2.2. Architektura klastrów komputerów PC..................... 11 2.3. Architektury wykorzystywanych procesorów - rozwiazania 32- i 64- bitowe. 13 2.3.1. Procesory 32-bitowe........................... 13 2.3.2. Procesory 64-bitowe........................... 15 2.4. Sieci komunikacyjne stosowane w klastrach PC................ 18 2.4.1. Ethernet................................. 19 2.4.2. Myrinet.................................. 20 2.4.3. InfiniBand................................ 21 2.4.4. SCI/Dolphin............................... 22 2.5. Architektury wez lów wieloprocesorowych................... 23 2.5.1. Systemy SMP z magistrala wspó ldzielon a (FSB)........... 23 2.5.2. Systemy NUMA wykorzystujace HyperTransport........... 25 3. Oprogramowanie klastrów komputerów PC 28 3.1. Ogólna charakterystyka oprogramowania stosowanego w klastrach...... 28 3.2. Systemy operacyjne i ich porównanie...................... 28 3.3. Warstwa komunikacyjna............................. 30 3.4. Równoleg le środowiska programistyczne.................... 31 3.5. Systemy zarzadzania zadaniami......................... 32 3.6. Systemy plików.................................. 33 3.6.1. Lokalne systemy plików......................... 34 1

Spis treści 2 3.6.2. Równoleg le i sieciowe systemy plików dla klastrów.......... 38 4. Projektowanie heterogenicznych klastrów komputerów PC na przyk ladzie klastra ACCORD zbudowanego w Instytucie Informatyki Teoretycznej i Stosowanej Politechniki Czestochowskiej 43 4.1. Projekt klastra ACCORD w Instytucie Informatyki Teoretycznej i Stosowanej 43 4.1.1. Pierwsza generacja klastra ACCORD.................. 44 4.1.2. Pierwszy etap rozbudowy........................ 45 4.1.3. Drugi etap rozbudowy.......................... 46 4.1.4. Trzeci etap rozbudowy - projekt Clusterix............... 48 4.2. System operacyjny i oprogramowanie klastra ACCORD........... 51 4.3. Kierunki rozwoju klastra ACCORD...................... 55 5. Badanie wydajności klastra ACCORD 57 5.1. Metryki wydajności systemów klastrowych.................. 57 5.2. Badanie wp lywu architektury procesorów na wydajność obliczeń...... 60 5.3. Wp lyw warstwy komunikacyjnej na ogólna wydajność systemu....... 64 5.4. Wp lyw podsystemu dyskowego i organizacji przechowywania danych.... 71 6. Metody zwiekszenia wydajności i niezawodności klastrów PC 81 6.1. Metody zwiekszania wydajności warstwy komunikacyjnej........... 81 6.1.1. Zwielokrotnienie kana lów komunikacyjnych - channel bonding.... 81 6.1.2. Rekonfigurowalne topologie sieciowe - wykorzystanie tablic trasowania jadra systemu Linux........................ 84 6.2. Zastosowanie przetwarzania wielowatkowego na poziomie procesora..... 96 6.3. Zastosowanie procesorów wielordzeniowych.................. 98 6.4. Racjonalne wykorzystanie energii elektrycznej................. 99 6.5. Sposoby zwiekszania niezawodności systemu.................. 102 6.5.1. Redundancja wez lów........................... 102 Wez ly zapasowe............................. 103 Wirtualizacja zasobów......................... 104 6.5.2. Monitorowanie zasilania......................... 106

Spis treści 3 7. Eksperymentalna weryfikacja efektywności rekonfigurowalnych topologii sieciowych; metodyka projektowania klastrów PC 108 7.1. Model wydajnościowy kolektywnej operacji komunikacyjnej......... 108 7.2. Eksperymentalna weryfikacja modelu wydajnościowego............ 111 7.3. Metodyka projektowania klastrów PC..................... 113 8. Podsumowanie 120 8.1. Spostrzeżenia i wnioski............................. 120 8.2. Kierunki dalszych badań............................ 122 Literatura 127

1. Wstep 1.1. T lo badań i przeglad literatury Nowe techniki programowania pozwalaja na symulacje wielu zjawisk fizycznych zachodzacych w otaczajacym nas świecie. Dzieki temu mamy możliwość badania jak rodzi l sie Wszechświat, przewidywania pogody, zg lebiania tajników ludzkich genów czy poznawania innych planet. Jedna z najcześciej stosowanych metod w problematyce Wielkich Wyzwań Nauki (Grand Challenges), jest Metoda Elementów Skończonych (MES), która charakteryzuje sie wielka z lożoności a obliczeń, nieregularnościa algorytmów i duża objetościa danych do przetworzenia [57, 91, 121, 80], szczególnie w trójwymiarowych modelach zagadnień. Wymaga to zatem stosowania komputerów o odpowiednio dużych mocach obliczeniowych procesorów, dużej ilości pamieci i wydajnym podsystemie I/O. Rozwiazaniami umożliwiajacymi przetwarzanie tak dużej ilości danych sa superkomputery równoleg le oraz klastry. Do niedawna superkomputery by ly podstawowa platforma dla wysokowydajnych obliczeń (High Performance Computing) [34] ze wzgledu na zbyt ma l a wydajność architektury x86 wykorzystywanej w komputerach klasy PC. Niestety superkomputery ze wzgledu na wysoki koszt pozostawa ly poza zasiegiem wielu mniejszych placówek naukowych, co bardzo spowalnia lo rozwój programowania równoleg lego i rozproszonego a w konsekwencji również wielu innych ga lezi nauki. Gwa ltowny wzrost wydajności procesorów z rodziny x86 przy jednocześnie niskiej cenie umożliwi l w ostatnich latach zastosowanie komputerów PC do wysokowydajnych obliczeń. Co prawda klastry by ly znane już od dawna, jednak do poczatku lat dziewiećdziesi atych ubieg lego stulecia wydajność obliczeniowa najwydajniejszych klastrów komputerów PC nie mog la sie równać z pojedyńczym wieloprocesorowym superkomputerem czy systemem masywnie równoleg lym. Wraz z pojawieniem sie wydajniejszych procesorów temat technologii klastrowych powróci l ze zdwojona si l a. Okaza lo sie, że wspó lczesne klastry PC moga bez trudu dorównać superkomputerom przy niewspó lmiernie niższym koszcie - wśród pieciuset najszybszych maszyn liczacych na świecie wiekszość to w laśnie klastry. Dodatkowo zastosowanie klastrów pozwoli lo na wykorzystanie popularnych systemów operacyjnych dla komputerów PC, takich jak Linux czy nawet Windows. Klaster jest rozwinieciem sieci stacji roboczych i sk lada sie z wielu wez lów po l aczonych siecia komunikacyjna z wez lem nadzorujacym. Najcześciej stosowana siecia komunikacyjna w klastrach jest Ethernet w wielu odmianach (np. FastEthernet, Gigabit Ethernet, 10Gigabit Ethernet), g lównie ze wzgledu na niska cene i dość dobra wydajność. W wydajniejszych klastrach stosuje sie sieci o lepszych parametrach (szczególnie o krótszym czasie startu sieci) takie jak Myrinet, SCI/Dolphin czy InfiniBand. Jednak sa to rozwiazania znacznie droższe, co ogranicza skale ich stosowania. Każdy z wez lów posiada w lasny system operacyjny (na dysku lokalnym lub pobierany z dysku sieciowego) i jest to najcześciej 4

1.1. T lo badań i przeglad literatury 5 wspomniany wcześniej Linux. Podstawowym za lożeniem systemów klastrowych jest stosowanie pośredniej warstwy oprogramowania, realizujacej koncepcje Single System Image i gwarantujacej w ten sposób użytkownikowi niezależność od fizycznej architektury klastra. Powodem szybkiego rozwoju klastrów sa ich cztery podstawowe zalety [21]: niska cena, a zatem wieksza dostepność; duża skalowalność ze wzgledu na możliwość swobodnego dok ladania kolejnych wez lów; możliwość natychmiastowego wykorzystania najnowszych technologii mikroprocesorowych i latwej wymiany procesorów na nowsze dzieki tzw. zgodności w dó l. Równoleg le rozwiazywanie zadań jest przeważnie realizowane przy użyciu metody ich podzia lu na mniejsze fragmenty (Domain Decomposition) i rozwiazywaniu powsta lych w ten sposób podzadań na poszczególnych wez lach klastra, a nastepnie zbudowania rozwia- zania globalnego na podstawie rozwiazań czastkowych [114, 99, 80]. Prosta konsekwencja tej metody jest skrócenie czasu obliczeń odwrotnie proporcjonalnie do ilości zaangażowanych do obliczeń wez lów. W praktyce ze wzgledu zarówno na ograniczenia sprzetowe, jak i programowe, uzyskanie przyspieszenia maksymalnego teoretycznie rzadko sie udaje. Architektura wspó lczesnych procesorów x86 jest bardzo z lożona. Hierarchiczna struktura pamieci, a wiec stosowanie rejestrów, pamieci cache (pierwszego, drugiego, a w niektórych rozwiazaniach nawet trzeciego poziomu) i różnych rodzajów pamieci operacyjnej w po l aczeniu z różnymi czestotliwościami ich taktowania wymusza optymalizacje kodu wykonawczego [28]. Biorac dodatkowo pod uwage wielopotokowe przetwarzanie danych przez jednostki arytmetyczno-logiczne procesorów, odpowiednia optymalizacja kodu staje sie jeszcze trudniejsza [79]. O ile optymalizacja programowa może nastepować w trakcie pisania kodu [92], o tyle optymalizacja sprzetu musi być dokonana już na etapie projektowania klastra. Jak wykaże niniejsza praca, ten sam kod wykonany na różnych platformach sprzetowych b edzie wykonywany d lużej lub krócej w zależności od tego jak dane zadanie pasuje do danej platformy (pomimo identycznej testowej wydajności platform). Zatem dobór w laściwej platformy sprzetowej do danego zadania lub klasy zadań jest problemem istotnym. Pozwala również na uzyskanie znacznie lepszego stosunku wydajności do kosztów, który jest jednym z kluczowych parametrów systemów klastrowych. W zwiazku z powyższym dziwi nieco niemal zupe lny brak zainteresowania optymalizacja sprzetu wchodzacego w sk lad systemów klastrowych. Zainteresowanie nim ogranicza sie w zasadzie do wyboru platformy, a możliwości zwiekszenia wydajności przez dobranie odpowiedniej konfiguracji sprzetu oraz jego oprogramowania wewnetrznego sa praktycznie pomijane i jak dowiedzie niniejsza praca - nies lusznie. Szczególnie duże nadzieje budzi rozwój technologii HyperTransport [8] i procesorów wielordzeniowych [96, 4] - pierwsza z nich pozwala znacznie zwiekszyć skalowalność klastrów, natomiast druga u latwia rozbudowe już istniejacych systemów. HyperTransport pozwoli na ominiecie wielu waskich garde l tradycyjnej architektury SMP - choćby takiej jak wspólna magistrala oraz znacznie poprawia wykorzystanie pamieci operacyjnej bez dodatkowej optymalizacji kodu. Warstwa komunikacyjna klastrów PC przez d lugi czas pozostawa la niezmienna - najcześciej stosowana by la sieć typu Ethernet w topologii gwiazdy zbudowana w oparciu

1.1. T lo badań i przeglad literatury 6 o koncentrator lub prze l acznik, czasem wykorzystujaca również po l aczenia nadmiarowe [112]. Różne topologie po l aczeń [39] by ly wykorzystywane niemal wy l acznie w superkomputerach i stosowano je do l aczenia procesorów, a nie niezależnych wez lów. Rozwój klastrów PC, spowodowany g lównie stosunkowo duża wydajnościa architektury x86 przy zachowaniu niskiej ceny, pociagn a l za soba konieczność podwyższenia wydajności warstwy komunikacyjnej. Znane z superkomputerów topologie l aczenia procesorów znalaz ly zastosowanie w l aczeniu wez lów jedno- lub wieloprocesorowych [101], np. za pośrednictwem sieci optycznych. Sieci dedykowane, takie jak Myrinet [77], SCI [38] czy InfiniBand [49], zapewnia ly wysoka wydajność i możliwość po l aczenia wez lów nie tylko przy użyciu prze- l acznika lecz również bezpośrednio, jednak ich wysoki koszt powodowa l, że mia ly szanse znaleźć zastosowanie tylko w drogich systemach klastrowych. Dobra wydajność oferowa la też sieć ATM, przy czym podobnie jak wspomniane wyżej sieci dedykowane umożliwia la po l aczenie w topologie inne niż gwiazda. Niestety również by lo to rozwiazanie dość drogie. Przez ca ly czas poszukuje sie metod wykorzystania tanich sieci typu Ethernet w maksymalnie efektywny sposób. Jedna z metod by lo wykorzystanie tzw. superwez lów [18], czyli grup wez lów tworzacych np. topologie pierścienia, dzieki czemu uzyskiwano w obrebie superwez la zwiekszenie wydajności sieci. Drugim kierunkiem by lo l aczenie wez lów przy użyciu wielu prze l aczników, wykorzystujacych po l aczenia nadmiarowe i pośredniczace wez ly prze l aczaj ace [33]. Rozwiazania te nie zapewnia ly jednak rekonfiguralności topologi bez potrzeby zmiany uk ladu po l aczeń fizycznych, a w przypadku wykorzystania wielu prze l aczników pośredniczacych w przekazywaniu pakietu danych wzrost przepustowości okupiony by l znaczacym wzrostem opóźnień sieci [59]. Ponieważ modyfikacja topologii tanich sieci komunikacyjnych powodowa la wiele problemów, dlatego kolejna próba podniesienia wydajności tych sieci by la programowa optymalizacja parametrów pracy sieci [23]. Przeważnie wiaza lo sie to z modyfikacja niskopoziomowego sterownika kart sieciowych lub stosu protoko lów TCP/IP systemu operacyjnego. Kolejnym sposobem programowego podniesienia wydajności by la optymalizacja operacji kolektywnych [111], stanowiacych istotna cześć wszystkich operacji komunikacyjnych w klastrach. Z lożona optymalizacja kodu utrudnia pisanie oprogramowania specjalistom w zakresie modelowania zjawisk fizycznych, których wiedza w zakresie programowania dotyczy najcześciej komputerów sekwencyjnych. Nawet pomimo istnienia wielu bibliotek u latwiaj acych zrównoleglenie obliczeń (np. PETSC [95], Aztec [13]), stworzenie równoleg lej implementacji kodu sekwencyjnego nastrecza wiele trudności. Należy zatem możliwie jak najdok ladniej dostosować projektowany system klastrowy do jego przeznaczenia, co pozwoli na uzyskanie wyższej wydajności. Na podstawie powyższych rozważań można stwierdzić, że projektowanie klastrów oraz opracowanie sposobów zwiekszania ich wydajności, a także niezawodności jest zagadnieniem niezwykle z lożonym. Pomimo ciag lego rozwoju metod poprawy wydajności klastrów, wspó lczesny sprzet stosowany w klastrach PC musi być umiejetnie wykorzystywany zarówno pod wzgledem doboru parametrów pracy, odpowiedniej konfiguracji, jak i dopasowania do konkretnego problemu obliczeniowego.

1.2. Teza i cel pracy 7 1.2. Teza i cel pracy Teza pracy brzmi: Możliwe jest istotne zwiekszenie efektywności i niezawodności klastrów komputerów PC dzieki zastosowaniu w laściwych metod ich projektowania i modyfikacji architektury systemu. W szczególności można uzyskać znaczne zmniejszenie nak ladów czasowych na realizacje z lożonych aplikacji równoleg lych/rozproszonych dzieki wykorzystaniu możliwości rekonfiguracji sieci komunikacyjnej klastra. Ważny ekonomiczny efekt takiego podejścia wynika z możliwości zastapienia bardzo kosztownych specjalistycznych technologii sieciowych typu Myrinet przez nadmiarowe wykorzystanie powszechnie dostepnych i przez to ma lo kosztownych adapterów sieciowych w standardzie Fast Ethernet/Gigabit Ethernet. Celem pracy jest: Opracowanie, praktyczna implementacja i zbadanie metod w laściwego projektowania oraz modyfikacji architektury klastrów komputerów PC, ze szczególnym uwzglednieniem rekonfiguracji sieci komunikacyjnej. Do celów szczegó lowych należa: 1. zaprojektowanie i wykonanie fizycznej platformy testowej dla przeprowadzanych badań, 2. zbadanie wp lywu parametrów sprzetowych i programowych klastra na wydajność obliczeniowa na przyk ladzie klastra stworzonego w Instytucie Informatyki Teoretycznej i Stosowanej, 3. zaproponowanie i zbadanie kompleksu metod zwiekszania wydajności klastrów PC, 4. stworzenie rekonfigurowalnej architektury sieciowej dla klastrów PC, 5. opracowanie i implementacja algorytmów rekonfiguracji sieci po l aczeń miedzy wez lami klastra, 6. opracowanie modelu wydajnościowego dla rekonfigurowalnej architektury sieciowej oraz jego eksperymentalna weryfikacja, 7. opracowanie sposobów zwiekszenia niezawodności oraz zmniejszenia poboru mocy w klastrach PC, 8. opracowanie metodyki projektowania klastrów PC. 1.3. Struktura pracy Praca sk lada sie z ośmiu rozdzia lów, streszczenia w jezyku angielskim oraz spisu wykorzystanej literatury. Rozdzia l pierwszy poświecono przegladowi literatury dotyczacej tematu pracy oraz sformu lowaniu celu i zakresu pracy. W rozdziale drugim, który rozpoczyna sie od określenie miejsca klastrów wśród systemów równoleg lych, przedstawiono typowe architektury klastrów komputerów PC i budowe stosowanych w nich procesorów (32- i 64- bitowych rodziny x86). Rozdzia l ten zawiera również opis stosowanych w klastrach sieci komunikacyjnych, ze szczególnym uwzglednieniem

1.3. Struktura pracy 8 sieci wysokowydajnych, takich jak Myrinert i InfiniBand. Przybliżono również architektury systemów SMP o tradycyjnej architekturze z magistrala FSB, a także opartych na technologii HyperTransport. Rozdzia l trzeci poświecony jest oprogramowaniu klastrów PC, porównaniu wykorzystywanych w nich systemów operacyjnych oraz oprogramowania zarzadzaj acego czyli middleware. Przedstawiono także równoleg le środowiska programistyczne oraz różne rodzaje systemów zarzadzania zadaniami i systemów plików. Dodatkowo przedstawiono implementacje warstwy komunikacyjnej oprogramowania klastrów. Rozdzia l czwarty dotyczy projektowania heterogenicznych klastrów PC na przyk ladzie projektu klastra ACCORD, opracowanego i zrealizowanego przez autora niniejszej pracy w Instytucie Informatyki Teoretycznej i Stosowanej Politechniki Czestochowskiej, z uwzglednieniem zarówno warstwy sprzetowej, jak i oprogramowania. W rozdziale tym zaprezentowano kolejne etapy rozbudowy klastra, a także dokonano analizy kierunków jego rozwoju. Rozdzia l piaty poświecony jest badaniom wydajności zbudowanego klastra ACCORD. Przedstawia wyniki przeprowadzonych testów, które pozwoli ly określić wp lyw architektury procesorów oraz warstwy komunikacyjnej na wydajność obliczeń. W zwiazku z powyższym w treści tego rozdzia lu przedstawiono również typowe metryki wydajności klastrów. Zbadano także wp lyw podsystemu dyskowego (zarówno lokalnego, jak i sieciowego systemu plików) na ogólna wydajność systemu, co pozwoli lo zaproponować sposób zwiekszenia wydajności tego podsystemu poprzez w laściwy dobór jego parametrów pracy. W rozdziale szóstym przedstawiono zaproponowana metode podniesienia wydajności klastrów PC poprzez zastosowanie rekonfigurowalnych topologii sieciowych, a także zbadano możliwość wykorzystania w tym celu techniki zwielokratniania kana lów komunikacyjnych. Zbadano możliwość zwiekszenia wydajności obliczeń poprzez zastosowanie przetwarzania wielowatkowego na poziomie architektury wewnetrznej procesora oraz zastosowanie procesorów dwurdzeniowych. W zwiazku z dość dużym poborem energii w rozbudowanych systemach klastrowych zaproponowano sposoby ograniczenia zużycia energii poprzez w laściwe zastosowanie wbudowanych w procesory funkcji, takich jak SpeedStep i Power Now!. Na zakończenie rozdzia lu zaproponowano sposoby zwiekszenia niezawodności oparte na wykorzystaniu wez lów zapasowych i wirtualizacji zasobów, czy też monitorowania zasilania. Rozdzia l siódmy zajmuje sie eksperymentalna weryfikacja zaproponowanej metody budowy rekonfigurowalnych topologii sieciowych, przedstawiajac uzyskany wzrost wydajności, a także zawiera zaproponowana metodyke projektowania klastrów PC, b ed ac a podsumowaniem wyników przeprowadzonych badań. Podsumowanie pracy i wskazanie kierunków dalszego rozwoju znajduje sie w rozdziale ósmym.

2. Klastry komputerów PC 2.1. Systemy równoleg le a klastry W ciagu ostatnich kilkudziesieciu lat ubieg lego wieku opracowano wiele architektur umożliwiajacych przetwarzanie równoleg le. Podzia l tych architektur wynika ze sposobu organizacji procesorów, dostepu do pamieci oraz wewnetrznej sieci komunikacyjnej. Jest wiele sposobów klasyfikacji systemów równoleg lych. Jednym z nich jest podzia l w zależności od ilości strumieni danych i rozkazów. Wyróżniane sa tu nastepuj ace typy [22]: SISD ( Single Instruction - Single Data) - pojedynczy strumień rozkazów i danych, SIMD (Single Instruction - Multiple Data) - jeden strumień rozkazów operujacy na wielu strumieniach danych, MISD (Multiple Instruction - Single Data) - wiele strumieni instrukcji i jeden strumień danych, MIMD (Multiple Instruction - Multiple Data) - wiele strumieni danych i rozkazów. Powyższy podzia l jest w chwili obecnej dalece niewystarczajacy, żeby objać wielka różnorodność istniejacych architektur systemów równoleg lych. W niniejszej pracy za podstawe przyjmiemy niedawno zaproponowana w pracy [31] klasyfikacje systemów równoleg lych, zgodnie z która wyróżnić można sześć, cześciowo pokrywajacych sie, typów architektur systemów równoleg lych : multikomputery i multiprocesory, superkomputery masywnie równoleg le (Massively Parallel Processors - MPP), symetryczne multiprocesory (Symmetric Multiprocessors - SMP), systemy z rozproszona pamieci a wspó ldzielon a (Distributed Shared Memory), systemy z pamieci a rozproszona (Distributed Memory), klastry commodity clusters, nazywane inaczej klastrami PC, klastrami typu Beowulf lub klastrami linuxowymi, konstelacje. Multikomputer [117, 28] to komputer równoleg ly z pamieci a rozproszona, przetwarzajacy jednocześnie wiele strumieni danych i rozkazów (MIMD), widziany przez użytkownika jako pojedyńczy komputer. Multiprocesor jest komputerem równoleg lym, w którym wszystkie procesory wspó ldziel a te sama przestrzeń adresowa. MPP [22] to z regu ly duże systemy (nawet do tysiaca wez lów) typu shared-nothing, w których wez ly posiadaja wy l acznie procesor oraz pamieć, a tylko wez ly specjalne maja dodatkowe komponenty sprzetowe (np. dyski twarde) i sa po l aczone szybka wewnetrzn a siecia. MPP charakteryzuja sie bardzo duża skalowalnościa. W systemach SMP mamy do czynienia z od 2 do 64 procesorów 9

2.1. Systemy równoleg le a klastry 10 Rys. 2.1. Warstwowy model architektury klastrów obliczeniowych. wspó ldziel acych komponenty sprzetowe (m. in. pamieć, magistrale) i wszystkie procesory obs luguje jeden system operacyjny. Do kategorii Distributed Shared-Memory zaliczamy systemy, w których pamieć jest fizycznie rozproszona, ale moga z niej korzystać wszystkie procesory tak samo jak z pamieci lokalnej. W systemach z pamieci a rozproszona każdy z procesorów posiada dostep do pamieci lokalnej, natomiast do pamieci innych procesorów może odwo lywać sie jedynie za pośrednictwem sieci komunikacyjnej. Klaster jest zbiorem po l aczonych szybka siecia maszyn (rysunek 2.1.) zbudowanych z ogólnodostepnych podzespo lów, a warstwa pośrednia oprogramowania (tzw. middleware) realizuje koncepcje Single System Image (SSI). Posiada jeden (lub wiecej) weze l zarzadzaj acy/dostepowy i wiele wez lów obliczeniowych dysponujacych w lasnym systemem operacyjnym, umieszczanym na lokalnym dysku lub pobieranym z sieci. Wykorzystuje środowiska programowania równoleg lego takie jak MPI czy PVM. W grupie commodity clusters, czyli klastrów zbudowanych przy użyciu ogólnodostepnych podzespo lów (co najcześciej oznacza podzespo ly komputerów PC dla architektury x86) znajduja sie zarówno sieci stacji roboczych (NOW - Network Of Workstations), jak i klastry typu Beowulf [14]. Klastry te charakteryzuja sie wieksz a liczba wez lów niż procesorów w pojedyńczym weźle. W przypadku NOW żaden z wez lów nie jest uprzywilejowany i każdy ma taki sam zestaw oprogramowania. Do równoważenia obciażenia stosuje sie tu czesto system MOSIX [74]. W klastrach typu Beowulf [112, 16] wystepuje jeden (lub wiecej) wydzielony weze l zarza- dzajacy/dostepowy i wiele wez lów obliczeniowych, a ca lość dzia la pod kontrola systemu Linux. Można tu wyróżnić dwie klasy: klasa I - do budowy użyte zosta ly wy l acznie podzespo ly Off The Shelf (OTS, czyli popularne komponenty komputerów PC), a siecia komunikacyjna jest Ethernet; klasa II - wykorzystuje sie droższe technologie (dedykowane chipsety, sieci Myrinet, Infiniband itp.) w celu uzyskania wyższej wydajności. Klastry typu Beowulf wykorzystuja najcześciej środowisko MPI/PVM [9, 36]. Zgodnie z definicja J. Dongarry [31], konstelacje to klastry, w których sumaryczna liczba proceso-

2.2. Architektura klastrów komputerów PC 11 rów jest znacznie wieksza niż liczba wszystkich wez lów. Podzia l ten ma istotne znaczenie z punktu widzenia programowania klastra - w przypadku commodity clusters najcześciej wykorzystuje sie MPI, podczas gdy w przypadku konstelacji celowe jest również zastosowanie modelu wielowatkowego opartego na przyk lad o wykorzystanie OpenMP [83]. Dodatkowo w przypadku konstelacji mamy cześciej do czynienia z przydzia lem cześci zasobów danemu użytkownikowi (np. jeden wieloprocesorowy weze l) niż czasu dostepu do ca lego klastra. Jak widać, definicja poszczególnych systemów nie jest ostra - w praktyce np. klastry czesto sk ladaj a sie z wielu wez lów SMP, a wieksze systemy rozproszone moga sk ladać sie z klastrów, tworzac architekture gridowa. Klastry komputerów PC by ly odpowiedzia na rosnace zapotrzebowanie na tania moc obliczeniowa i logicznym rozwinieciem koncepcji sieci stacji roboczych (NOW). Podstawowa wada tych ostatnich by la niespójność systemu, tzn. każdy weze l sieci by l widziany jako niezależny system, co utrudnia lo jego wykorzystanie jako środowiska do uruchamiania zadań równoleg lych. Wdrożenie SSI zapewnia postrzeganie klastra jako pojedynczej, wieloprocesorowej maszyny - czyli identycznie jak w przypadku wieloprocesorowych komputerów. Oczywiście wydajność w tym przypadku silnie zależy od szybkości sieci wewnetrznej klastra i nadal jest to jedno z waskich garde l systemów klastrowych. Ze wzgledu na rodzaj udzielanych us lug, klastry dzieli sie na [22] : klastry wysokiej dostepności (high availibility - HA), klastry wysokiej wydajności (high performance - HPC). Klastry wysokiej dostepności [32] wykorzystywane sa wszedzie tam, gdzie liczy sie możliwość ciag lego dostepu do danych i us lug. Sa to przeważnie systemy bazodanowe (np. w bankach), systemy monitorujace (np. na lotniskach) i równoleg le serwery internetowe. Charakteryzuja sie wykorzystaniem wielu synchronicznie pracujacych wez lów, operujacych na tych samych danych. Każdy z wez lów może w razie awarii zastapić dowolny z pozosta lych w sposób niezauważalny dla użytkownika. Koncepcje ta realizuje np. Windows Cluster Server firmy Microsoft [72] oraz funkcja virtual server jadra systemu Linux w wersji nowszej niż 2.4.x [64]. W klastrach HA stosuje sie również tzw. spare-nodes czyli wez ly zapasowe, nie pracujace synchronicznie z pozosta lymi, ale przejmujace funkcje uszkodzonej maszyny od momentu ostatniego poprawnego punktu kontrolnego (checkpoint). Klastry wysokiej wydajności to niemal wy l acznie klastry obliczeniowe. W odróżnieniu od klastrów HA, w których ze wzgledów bezpieczeństwa danych stosuje sie rozwiazania stabilne i wypróbowane, lecz przez to nieco starsze, w klastrach HP wykorzystuje sie najnowsze rozwiazania sprzetowe, pomimo iż nie zawsze sa one wystarczajaco stabilne. Uzyskiwana w ten sposób wysoka wydajność wymusza stosowanie programowych mechanizmów ochrony przed niestabilnościa komponentów maszyny wirtualnej. 2.2. Architektura klastrów komputerów PC Pod wzgledem sprzetowym architektura klastrów PC nie odbiega od typowej sieci stacji roboczych [73]. Zatem w sk lad klastra wchodzi najcześciej (rysunek 2.2.) jeden we-

2.2. Architektura klastrów komputerów PC 12 ze l zarzadzaj acy, pe lni acy zwykle również role punktu dostepowego, duża liczba wez lów obliczeniowych i opcjonalnie wez ly zapasowe lub udostepniaj ace sieciowy system plików (NFS). Wez ly obliczeniowe to przeważnie identyczne komputery PC wyposażone w typowe podzespo ly, takie jak dysk twardy, karta sieciowa i graficzna, umieszczone w szafach teleinformatycznych, a dość drogie rozwiazania firmowe posiadaja specjalnie do tego przystosowane dziewietnastocalowe obudowy typu rack. Przeważnie tylko weze l zarzadzaj acy wyposażony jest w monitor oraz klawiature (ewentualnie mysz). W razie potrzeby pojedyńczy zestaw monitor/klawiatura/mysz może być wspó ldzielony pomiedzy poszczególnymi wez lami za pomoca prze l acznika KVM. Weze l zarzadzaj acy posiada wieksz a pamieć RAM i macierz dyskowa, czesto również stosuje sie oddzielny magazyn danych o dużej pojemności z systemem plików podmontowywanym za pomoca sieci. Jednak fizyczna architektura klastra może jedynie wp lywać na zmniejszenie badź zwiekszenie wydajności, nie ma natomiast wp lywu na postrzeganie systemu z zewnatrz. Odpowiedzialne za to sa poszczególne warstwy oprogramowania klastra (rysunek 2.1.). W warstwowym modelu architektury klastrów PC możemy wyróżnić: warstwe aplikacji użytkowych, środowiska programowania równoleg lego, warstwe pośrednia (middleware), warstwe komunikacyjna. Warstwa aplikacji użytkowych jest najbliższa dla użytkownika. Dzieki tej warstwie użytkownik może wprowadzić dane, które b ed a później przetwarzane w warstwach niższych. Środowiska programowania równoleg lego to np. PVM [36] czy MPI [9], czyli zbiór bibliotek i narzedzi umożliwiajacych przetwarzanie równoleg le z przesy laniem komunikatów. Zarzadzaj a one sposobem dystrybucji i przetwarzania danych. Warstwa middleware jest jedna z najistotniejszych w klastrach. S luży ona u latwieniu przydzia lu zasobów klastra użytkownikom i realizuje koncepcje SSI (Single System Image), czyli pozwala na postrzeganie klastra jako pojedyńczej, wieloprocesorowej maszyny. Obecnie istnieje wiele systemów przydzia lu zasobów klastra. Jednym z rodzajów takiego systemu sa systemy kolejkowania zadań. Ich podstawowa zaleta jest przydzia l zasobów klastra dla danej aplikacji zgodnie z zadana polityka bez konieczności jej modyfikowania. Jednym z najcześciej wykorzystywanych systemów kolejkowania zadań jest PBS i jego darmowa implementacja - OpenPBS. Możliwe jest po l aczenie w jednym środowisku systemu przydzia lu zasobów i oprogramowania warstwy komunikacyjnej, jak ma to miejsce w środowisku SCore [104]. Pomimo posiadania dodatkowej funkcjonalności w postaci np. możliwości oceny wydajności programu, g lówn a wada takich zintegrowanych środowisk jest duża z lożoność i ingerencja w system operacyjny. Alternatywny sposób przydzia lu zasobów opiera sie na niejawnym przenoszeniu procesów z jednego wez la na pozosta le, posiadajace mniej obciażone zasoby. Przyk ladem może być Mosix, którego dzia lanie jest ca lkowicie przezroczyste dla użytkownika, realizowane przez jadro systemu Linux. Warstwa komunikacyjna to sterowniki urz adzeń sieciowych (warstwa komunikacyjna podstawowa) oraz zaawansowana warstwa komunikacyjna czyli środowisko tworzone dla

2.3. Architektury wykorzystywanych procesorów - rozwiazania 32- i 64- bitowe 13 Rys. 2.2. Typowa topologia sieciowa klastrów PC. programu równoleg lego i komunikacja miedzy procesami. W warstwie zaawansowanej odbywa sie również emulacja pamieci wspó ldzielonej. Warstwa komunikacyjna podstawowa obejmuje zarówno sterowniki zwyk lych (np. ethernetowych) kart sieciowych, jak i kart wysokiej wydajności (np. Myrinet, InfiniBand, SCI). 2.3. Architektury wykorzystywanych procesorów - rozwiazania 32- i 64- bitowe 2.3.1. Procesory 32-bitowe Najcześciej wykorzystywanymi w klastrach PC procesorami 32-bitowymi sa procesory Pentium III i Xeon firmy Intel oraz Athlon MP firmy AMD. Ze wzgledu na brak możliwości pracy w trybie wieloprocesorowym rzadko spotyka sie klastry PC zbudowane z wykorzystaniem Pentium4 i Athlona XP, pomimo że sa to procesory funkcjonalnie identyczne jak Xeon i Athlon MP (odpowiednio). Intel Pentium III to procesor o architekturze RISC zaprezentowany w lutym 1999 roku (nied lugo później zastosowany w pierwszej generacji klastra ACCORD zbudowanego w Instytucie Informatyki Teoretycznej i Stosowanej Politechniki Czestochowskiej). Wykonywany w technologi od 0.25 µ (Katmai) do 0.13 µ (Tualatin), posiada l po 16KB pamieci cache pierwszego poziomu (L1) dla kodu i dla danych oraz 256KB lub 512KB pamieci cache drugiego poziomu (L2). Wspó lpracowa l z magistrala FSB taktowana czestotliwości a od 100MHz do 133MHz i z czestotliwości a rdzenia od 450MHz do 1,1GHz. Ilość tranzystorów

2.3. Architektury wykorzystywanych procesorów - rozwiazania 32- i 64- bitowe 14 wchodzacych w sk lad tego procesora to od 9,5 miliona do 30 milionów. Istotna zaleta procesora Pentium III by la możliwość pracy w trybie dwuprocesorowym, co by lo nowościa w przypadku procesorów x86. Niestety nie można by lo przy jego użyciu budować systemów o wiekszej ilości procesorów w weźle. Maksymalny rozmiar RAM obs lugiwany przez pamieć cache wynosi l 4GB. Procesor ten wyposażony by l w jedna jednostke zmiennoprzecinkowa (FPU) obs luguj ac a przetwarzanie potokowe oraz sześć jednostek ca lkowitoliczbowych, a także dwie jednostki obs luguj ace zestaw rozkazów MMX (MultiMedia extension). Instrukcje sterujace przep lywem (Memory Streaming) pozwala ly na dok ladne określenie strategii dla pamieci podrecznej, dodatkowo możliwe by lo wymuszanie wcześniejszego ladowania partii danych lub kodu do pamieci cache (prefetch). Pe lne wykorzystanie nowych możliwości Pentium III wymaga lo jednak dedykowanego kompilatora i odpowiedniej optymalizacji kodu. Pentium4 po raz pierwszy zosta lo zaprezentowane w listopadzie 2000 roku. Dostepna jest również wersja mogaca dzia lać w trybie wieloprocesorowym, pod nazwa Xeon. Procesory Intel Xeon nie wchodza w sk lad sta lego wyposażenia klastra ACCORD, lecz wez ly zbudowane w oparciu o te procesory by ly w klastrze wielokrotnie testowane. Na bazie architektury NetBurst powsta l też dwurdzeniowy procesor Pentium4, majacy być konkurentem Athlona 64 FX firmy AMD. Procesory P4/Xeon wykonywane sa w technologii od 0,18 µ (Wiliamette) do 65 nm (Cedar Mill). Rozmiar pamieci cache L1 to od 8KB do 16KB dla rozkazów i dla danych, L2 od 256KB do 1MB. W procesorze P4 Extreme Edition (dwurdzeniowym) pojawi la sie pamieć podreczna L3 o rozmiarze 2MB, a w procesorze Xeon MP/DP - do 4MB, zintegrowana z rdzeniem procesora. Magistrala FSB, na której pracuja procesory P4/Xeon, taktowana jest czestotliwości a od 400MHz do 800MHz, a czestotliwość rdzenia wynosi od 1.3GHz do 3.8GHz. W sk lad P4 wchodzi od 42 do 120 milionów tranzystorów. Należy przypomnieć, że tylko wersja Xeon może pracować w wez lach wieloprocesorowych - Xeon DP w wez lach dwuprocesorowych, a Xeon MP w wez lach o maksymalnie ośmiu procesorach. Pierwszy procesor z serii Athlon zosta l przedstawiony przez firme AMD w sierpniu 1999 roku. Poczatkowo procesory te przeznaczone by ly do montażu w gnieździe Slot A i posiada ly pamieć cache L2 umieszczona poza procesorem, na wspólnej z nim p lytce drukowanej. Pamieć cache L1 mia la wielkość 64KB dla danych i 64KB dla instrukcji, pamieć cache L2 mia la wielkość 512KB. W późniejszych modelach pamieć L2 zosta la zintegrowana z jadrem procesora, a jej wielkość zmala la do 256KB. Athlony by ly produkowane w procesie technologicznym od 0,25 µ (Argon) do 0,18 µ (Thunderbird), pracowa ly na magistrali FSB o czestotliwości 100MHz lub 133MHz, a czestotliwość taktowania rdzenia wynosi la od 500MHz do 1.4GHz. Procesor ten obs lugiwa l zarówno technologie MMX Intela, jak i w lasne rozwiazanie AMD, b ed ace jej rozwinieciem, czyli 3DNow!. Athlon zawiera l od 22 do 37 milionów tranzystorów. Nastepc a Athlona by l Athlon XP wprowadzony do sprzedaży w październiku 2001 roku, przy czym w listopadzie tego samego roku wraz z Athlonami MP, dzieki uprzejmości firmy AMD, procesory Athlon XP zosta ly zastosowane w klastrze ACCORD. Równolegle z Athlonem XP sprzedawana by la jego wieloprocesorowa wersja - Athlon MP. Nowościa by- lo tutaj wprowadzenie m. in. obs lugi rozkazów SSE i czestotliwości taktowania magistrali

2.3. Architektury wykorzystywanych procesorów - rozwiazania 32- i 64- bitowe 15 FSB siegaj acej 400MHz. Zastosowano również zaawansowana superpotokowa, superskalarna architekture QuantiSpeed zaprojektowana pod katem zwiekszenia ilości instrukcji w takcie zegara (IPC - Instruction Per Clock cycle) i dla dużych czestotliwości. Sprzetowa obs luga odczytu z wyprzedzeniem (prefetch) znaczaco zwiekszy la wydajność procesorów AMD. Kolejnym rozszerzeniem funkcjonalności by la zmodyfikowana magistrala FSB. Po- l aczenie punkt-punkt pozwala lo każdemu z procesorów w wieloprocesorowej konfiguracji na komunikacje z chipsetem za pomoca dwóch niezależnych magistral pe lnej szybkości. Technologia ta otrzyma la nazwe Smart MP i by la kluczowym elementem zwiekszaj acym wydajność rozwiazań wieloprocesorowych. Rozmiary pamieci cache L1 i L2 nie uleg ly zmianie, zmieniono jednak technologie procesu produkcji tych procesorów na 0,13 µ. W Athlonach XP ostatniej serii (Barton) ilość tranzystorów siegne la ponad 54 milionów. Czestotliwość taktowania jadra procesora wzros la do 2.2GHz. Jako ciekawostke należy nadmienić, że Athlony XP do modelu 1900+ w l acznie nie posiada ly sprzetowej blokady uniemożliwiajacej prace w trybie wieloprocesorowym i mog ly bezproblemowo pracować w wez lach wieloprocesorowych, co dobitnie świadczy lo o wy l acznie handlowym pod lożu podzia lu na XP i MP. 2.3.2. Procesory 64-bitowe Pierwszym dostepnym na rynku procesorem 64-bitowym by l Intel Itanium. Jego nastepca - Itanium2 oraz Xeon64 i Opteron firmy AMD to najcześciej stosowane w klastrach PC procesory 64-bitowe, przy czym tylko procesory Opteron oferuja szybkie l acza punktpunkt zrealizowane przy użyciu technologii HyperTransport. Itanium by l pierwszym procesorem o architekturze IA-64. W tradycyjnej architekturze superskalarnej mamy do czynienia z dynamicznym planowaniem przetwarzania instrukcji, tzn. procesor może samodzielnie decydować, które instrukcje b edzie przetwarza l równolegle (jeśli sa one od siebie niezależne). W przypadku Itanium wprowadzono planowanie statyczne (static scheduling) co pozwala decydować o kolejności przetwarzania rozkazów już na poziomie kompilatora. Daje to do możliwość grupowania instrukcji. Mechanizm ten nazywany jest VLIW (Very Long Instruction Word). Zastosowana w Itanium2 technologia EPIC (Explicitly Parallel Instruction Computing) stanowi w pewnym sensie rozwiniecie techniki VLIW, jednak nie jest jej kontynuacj a - w odróżnieniu od uzyskiwanego w technice VLIW zwiekszenia efektywności instrukcji przy zachowaniu stosunkowo niewielkiej ich liczby, EPIC wykorzystuje d lugość s lowa instrukcji do wzbogacenia listy rozkazów utrzymanej w stylu CISC. Wszystkie operacje sa wykonywane w pojedynczych cyklach zegara, tak jak w procesorach RISC. Pamieć cache L3 w przypadku pierwszych Itanium nie by la zintegrowana z jadrem procesora, co wprowadza lo stosunkowo duże opóźnienia i obniża lo wydajność. Pamieć cache L1 ma rozmiar 16KB dla instrukcji i drugie tyle dla danych, L2-96KB (w nowszych modelach 256KB), a pamieć podreczna trzeciego poziomu ma rozmiar do 9MB. Użycie pamieci L3 o tak dużym rozmiarze ma negatywne skutki. Zwieksza drastycznie ilość tranzystorów, z których musi być zbudowany procesor (221 milionów w Itanium2 Fanwood), a co za tym idzie wzrasta pobór mocy do nawet 130 W. Procesory Itanium sa wykonywane w procesie technologicznym 0,18 µ i 0,09 µ, czestotliwość taktowania magistrali wynosi od 266MHz do 667MHz (Deerfield), natomiast czestotliwość taktowania rdzenia jest z zakresu od 733MHz do 1.6GHz. Wszystkie procesory serii Ita-

2.3. Architektury wykorzystywanych procesorów - rozwiazania 32- i 64- bitowe 16 nium moga dzia lać w platformach wieloprocesorowych. Itanium2 zosta ly zastosowane w najnowszej, zbudowanej w ramach projektu CLUSTERIX, cześci klastra ACCORD. Seria procesorów Intel Xeon pomyślana by la pod katem zastosowania w serwerach, stad od samego poczatku obs lugiwa ly one możliwość pracy w wez lach wieloprocesorowych. Bazujac na Pentium4, powsta la 64-bitowa wersja procesora Xeon, zaprezentowana po raz pierwszy w 2004 roku. Zastosowana tu 64-bitowa architektura zosta la nazwana EM64T. Pierwszy Xeon o tej architekturze (Nocona) posiada l zwiekszon a do 1MB pamieć podreczn a L2, a Xeon oparty na jadrze Potomac posiada również cache L3 o pojemności 8 MB. Nowe Xeony obs luguj a rozszerzony zestaw instrukcji SSE3 oraz HyperThreading, czyli możliwość przetwarzania wiecej niż jednego watku jednocześnie. Wszystkie 64-bitowe Xeony sa wykonane w technologii 0,09 µ. Podobnie jak poprzednio, wersje przeznaczone do pracy w wez lach dwuprocesorowych oznaczone sa symbolem DP, a dla platform wieloprocesorowych - MP. W chwili obecnej (od października 2005) dostepne sa również dwurdzeniowe procesory Intel Xeon (Paxville). Czestotliwość magistrali, na której pracuja te procesory, wynosi 667MHz lub 800MHz. Czestotliwości taktowania rdzenia osiagne ly 3.6GHz. W 2005 roku platformy bazujace na Xeonach HT i Xeonach 64 zosta ly również przetestowane w klastrze ACCORD. Pierwsze procesory AMD Opteron ukaza ly sie dopiero w kwietniu 2003 roku i wtedy w laśnie firma AMD stworzy la podzia l procesorów Opteron w zależności od zastosowania. Procesory oznaczone symbolem 1xx przeznaczone sa do jednoprocesorowych stacji roboczych, procesory o symbolu 2xx do dwuprocesorowych serwerów, natomiast Opterony o symbolu 8xx moga pracować w cztero- lub ośmioprocesorowych wez lach. Oprócz obs lugi rozszerzonego zestawu instrukcji SSE3, zastosowano nowa technike oszczedzania energii Cool n Quiet. W 2005 roku zaprezentowano również dwurdzeniowe procesory Opteron,wykorzystujace to samo gniazdo (940), dzieki czemu można niemal dwukrotnie podnieść wydajność wez la, wymieniajac jedynie procesor i aktualizujac BIOS. Jak pokaza ly badania przeprowadzone w Instytucie Informatyki Teoretycznej i Stosowanej, dwurdzeniowe procesory Opteron wykazuja sie bardzo dobra skalowalnościa, a przyspieszenia obliczeń uzyskane przez cztery jednordzeniowe procesory sa niemal identyczne jak te uzyskane przez dwa procesory dwurdzeniowe. Procesory Opteron wyposażone sa w duża pamieć cache L1 (64KB dla rozkazów i 64KB dla danych), zintegrowana z procesorem pamieć podreczna drugiego poziomu L2 ma rozmiar 1MB. W zwiazku z szybkim dostepem do pamieci RAM procesory te nie posiadaja pamieci cache trzeciego poziomu. Magistrala Opteronów taktowana jest czestotliwości a 800MHz lub 1GHz. Czestotliwości taktowania rdzenia osiagaj a 2.8GHz. Procesory te wykonywane sa obecnie w technologii 90 nm. Do dużej popularności procesorów AMD Opteron w klastrach PC przyczyni la sie przede wszystkim wysoka wydajność tych procesorów, osiagana miedzy innymi dzieki wysokowydajnej technologii komunikacyjnej HyperTransport. Dodatkowo silne wsparcie firm, takich jak np. Sun, pomog lo spopularyzować ten procesor zarówno w środowiskach naukowych budujacych klastry HPC, jak i w środowiskach komercyjnych. Zintegrowany z procesorem kontroler pamieci pozwala uniknać waskiego gard la jakim jest magistrala

2.3. Architektury wykorzystywanych procesorów - rozwiazania 32- i 64- bitowe 17 Tabela 2.1. Porównanie podstawowych cech procesorów 32- i 64-bitowych.

2.4. Sieci komunikacyjne stosowane w klastrach PC 18 FSB, dodatkowo w pracy wieloprocesorowej każdy z procesorów może niezależnie od innych korzystać z pamieci RAM. Może również korzystać z pamieci RAM po l aczonych z nim procesorów za pośrednictwem l acza HyperTransport, a co za tym idzie, na poziomie sprzetowym możemy rozpatrywać taki system wieloprocesorowy jako architekture NUMA. Kolejny etap rozbudowy klastra ACCORD przewiduje zastosowanie ośmiu dwurdzeniowych procesorów Opteron w dwóch platformach Sun Fire V40z. Na tych samych platformach odbywa ly sie w Instytucie Informatyki Teoretycznej i Stosowanej testy jedno- i dwurdzeniowych procesorów Opteron w latach 2005-2006. W tabeli 2.1 przedstawiono porównanie podstawowych cech jednordzeniowych procesorów 32- i 64-bitowych oraz stosowanych w nich technologii. Wydajność określono na podstawie zmiennoprzecinkowego testu CFP2000 wykonanego przez organizacje SPEC [102]. Pod uwage brane by ly najwydajniejsze procesory danego typoszeregu. Maszyna referencyjna dla testu SPEC CPU 2000 jest SUN Ultra 5 (procesor Sparc 300 MHz, 256 MB RAM). Dla tej maszyny wynik testu CFP2000 wynosi 100. Osiagniete wyniki maja jedynie charakter orientacyjny, ze wzgledu na znaczne różnice architektur wymienionych procesorów oraz brak pe lnego wykorzystania wbudowanych w nie funkcji. 2.4. Sieci komunikacyjne stosowane w klastrach PC Wybór sieci komunikacyjnej ma w przypadku klastrów szczególne znaczenie, ponieważ informacja nie jest przesy lana w obrebie wewnetrznych obwodów wez la (jak ma to miejsce w wieloprocesorowych superkomputerach), lecz musi pokonywać odleg lości od kilku metrów do nawet kilku tysiecy kilometrów (w przypadku systemów gridowych). Wraz z rozmiarem sieci komplikuje sie trasowanie, co wymusza używanie protoko lów warstw wyższych, zapewniajacych spójność i integralność danych. Powoduje to konieczność przesy lania informacji nadmiarowej, zajmujacej pasmo sieci oraz wyd luża czas przygotowania pakietu w trakcie procesu enkapsulacji. Na przyk lad w protokole TCP, który jest protoko lem po l aczeniowym, na każdy pakiet wys lanych danych przypada jeden pakiet potwierdzenia, czyli informacja użyteczna stanowi 50 % przesy lanych danych. Aby zniwelować to zjawisko w przypadku wiekszych transmisji wykorzystuje sie mechanizm tzw. slidingwindows, gdzie jeden pakiet potwierdzenia przypada na ustalona w trakcie negocjacji po l aczenia liczb e wys lanych pakietów z informacja użyteczna. Wiekszość wysokowydajnych sieci stosowanych w klastrach używa adresowania liniowego (np. w Myrinecie jest to adres fizyczny karty), co z kolei wyklucza bardziej skomplikowany routing. Adresowanie hierarchiczne wymusza stosowanie co najmniej dwóch adresów - fizycznego adresu urzadzenia i logicznego adresu (np. IP). Zatem w procesie projektowania systemu klastrowego należy wziać pod uwage specyfike przesy lanych informacji i wybrać w laściw a sieć do konkretnego zastosowania klastra. Dwa podstawowe parametry charakteryzujace wydajność sieci komunikacyjnych to szerokość pasma i opóźnienie. Szerokość pasma (bandwidth), oznaczana dalej jako Bw, to inaczej maksymalna ilość bitów jaka sieć jest w stanie przes lać w ciagu jednej sekundy i jest ona zależna od nośnika fizycznego, protoko lu oraz parametrów urzadzeń. Opóźnienie

2.4. Sieci komunikacyjne stosowane w klastrach PC 19 (latency) określa czas, jaki mija od momentu wys lania pierwszego bitu danych z urza- dzenia źród lowego do jego odebrania przez urzadzenie docelowe. Opóźnienie najcześciej mierzone jest przy użyciu testu typu ping-pong, w którym dokonuje sie wys lania pakietów danych i oczekuje na ich powrót. Zmierzony w ten sposób czas (RTT - Round Trip Time) przyjmuje sie jako dwukrotność opóźnienia. Każde z urzadzeń sieciowych pośredniczace w transmisji pakietów wprowadza dodatkowe opóźnienie, co w wiekszych, dynamicznie routowanych sieciach praktycznie uniemożliwia trafne oszacowanie czasu dostarczenia pakietu. Czasami spotkać sie można również z dodatkowym parametrem, b ed acym cześci a opóźnienia - czasem startu sieci. Przyjmuje sie, że jest to czas potrzebny na utworzenie pakietu aż do rozpoczecia transmisji jego pierwszego bitu. Czas startu sieci zależy zarówno od protoko lu, jak i sterownika kart sieciowych, natomiast nie zależy od wykorzystanego medium. Z punktu widzenia aplikacji najlepiej, gdy sieć ma jak najwieksz a przepustowość przy jak najmniejszym opóźnieniu. We wspó lczesnych klastrach typu low-cost najcześciej wykorzystuje sie sieć FastEthernet lub GigabitEthernet ze wzgledu na stosunkowo dobry stosunek wydajności do ceny. Jednak dość dużym ograniczeniem GigabitEthernetu jest pozostawienie mechanizmu wykrywania kolizji, co jest zupe lnie nieprzydatne w przypadku użycia prze l aczników, a wprowadza ograniczenie minimalnej d lugość pakietu (w mechaniźmie CSMA/CD zbyt krótki pakiet móg lby zostać niezauważony przez rywalizujace o dostep stacje). Zatem przy przesy laniu informacji mniejszej niż d lugość minimalna i tak trzeba przes lać wiekszy pakiet. W przypadku droższych klastrów stosuje sie wydajniejsze sieci komunikacyjne, w których koszt urzadzeń sieciowych w przeliczeniu na weze l może podnieść cene wez la nawet o 100 %, lecz dzieki temu udaje sie uzyskać dużo wieksz a szybkość przesy lu danych niż w przypadku sieci Fast/Gigabit Ethernet. Wśród sieci wysokiej wydajności możemy wymienić Myrinet, SCI, ATM (stosowany również w sieciach rozleg lych), ServerNet, HiPPI, Quadrics, Memory Channel, Giganet i rozwijajacy sie ostatnio najbardziej chyba obiecujacy standard - InfiniBand. Dla tych sieci opracowano wiele wysokowydajnych protoko lów transmisji danych takich jak VMMC, U-net, Active Messages, Fast Messages, BIP czy jeden z najcześciej używanych - GM. Powsta l również standard VIA (Virtual Interface Architecture) - niestety niemal bezużyteczny w przypadku Ethernetu, gdyż może on być tam jedynie emulowany. Natomiast w przypadku sieci wysokowydajnych posiada on wiele zalet. 2.4.1. Ethernet Pierwotnie Ethernet [61] oznacza l sieć lokalna utworzona przez naukowców w centrum badawczym firmy Xerox w Pao Alto. Ethernet (jak nazwali go naukowcy) nie by l śmia l a, nowa technologia, stworzona z myśla o jej ogromnym potencjale rynkowym, lecz raczej prostym narzedziem, u latwiaj acym naukowcom wymiane danych podczas odkrywania i wdrażania nowych technologii. Stworzona przez IEEE wersja Ethernetu zosta la formalnie nazwana 802.3 CSMA/CD. Nazwa ta jest jednak niefunkcjonalna i niemal zawsze mówi sie po prostu Ethernet. Podstawowa zasada dzia lania Ethernetu jest mechanizm rywalizacji o dostep zwykrywaniemn kolizji (CSMA/CD - Carrier Sense Multiple Access/Collision Detection). Przy