Architektury równoległe Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego Uniwersytet Warszawski http://www.icm.edu.pl Maciej Szpindler m.szpindler@icm.edu.pl Bartosz Borucki b.borucki@icm.edu.pl Maciej Cytowski m.cytowski@icm.edu.pl Wersja 1.PL, Październik 2009
Plan prezentacji Jednostki obliczeniowe współczesnych komputerów równoległych Organizacja dostępu do pamięci i hierarchia pamięci Organizacja połączeń sieciowych Metody przeplatania obliczeń i komunikacji Komputery równoległe Historia komputerów i superkomputerów Wybrane superkomputery Historia superkomputerów w ICM Lista TOP500 Najnowsza lista Miejsce Polski Statystyki historyczne Najnowsze trendy Przyszłość
Klasyfikacja architektur komputerowych Typ procesora (skalarne, wektorowe, wielordzeniowe, wielowątkowe) Dostęp do pamięci Sposób łączenia węzłów obliczeniowych (GE,IB) Dodatkowe akceleratory (Cell BE, GPU, FPGA, ClearSpeed) 3
Architektura - typ procesora Procesory skalarne klasyczne biurkowe Procesory wektorowe (Cray, NEC)
Architektura - typ procesora SIMD Single Instruction Multiple Data MIMD Multiple Instruction Multiple Data Wiele biurkowych procesorów wspiera operacje SIMD na krótkich wektorach (SSE, 3D Now!, AltiVec) Mechanizmy strumieniowania Często w ramach MIMD wspierane są operacje wektorowe multiplyadd lub multiply-subtract Sprzętowe wsparcie dla kilku wątków (np. HyperThreading)
Architektura procesory PVP parallel vector processors Cray, NEC, Hitachi MPP massively parallel processors Connection Machines, Cray T3E SMP symmetric multiple processors Sun SunFire, DEC AlphaServer NOW network of workstations Klastry PC-tów
x86_64 Intel Xeon / AMD Opteron Architektura zgodna z procesorami biurkowymi typu PC (64-bit EMT64/AMD64) Architektura CISC Wiele rdzeni 2-, 4- (AMD Barcelona, Intel Nehalem), 6- (AMD Shanghai), Rejestry wektorowe SSEx Procesory uniwersalnego przeznaczenia 7
x86_64 QuadCore QuickPath / HyperTransport L2 cache L2 cache L2 cache L2 cache L1 cache superscalar unit thread thread Cross bar L3 cache L1 cache L1 cache superscalar unit superscalar unit thread thread thread thread Memory L1 cache superscalar unit thread thread 8
UltraSPARC T1/T2 procesor wielo-wątkowy typu ChipMultiThreading Architektura RISC do 64 wątków obsługiwanych przed jeden procesor Wątki nieblokowane dostępem do zasobów mogą pracować nie czekając na pozostałe Relatywnie niska wydajność jedno-wątkowa Procesor stworzony do zastosowań np. bazodanowych 9
UltraSPARC T2 L1 cache FPU unit CPU unit thread 8x thread Memory L2 cache Cross bar 8x I/O L1 cache FPU unit CPU unit thread 8x thread 10
POWER Rodzina procesorów POWER Procesory POWER (kolejne generacje 5,6,7) Procesory PowerPC (serie 4xx i 9xx) Architektura RISC Rejestry wektorowe AltiVec Względnie wysokie taktowanie (dziś do 4 GHz) Do 4- rdzeni 11
Cell Silnik konsoli PlayStation 3 Procesor z rodziny POWER Rdzeń sterujący PowerPC Zredukowana funkcjonalność 8 rdzeni wektorowych Zamiast pamięci cache, mała statyczna pamięć Procesor stworzony do przetwarzania strumieniowego grafiki wysokiej jakości kompresji danych 12
PowerXCell8i SPE SPU SXU SPU SXU SPU SXU SPU SXU SPU SXU SPU SXU SPU SXU SPU SXU LS LS LS LS LS LS LS LS MFC MFC MFC MFC MFC MFC MFC MFC EIB (up to 96B/cycle) PPE 16B/cycle 16B/cycle PPU MIC BIC L2 L1 PXU 32B/cycle 16B/cycle Dual XDR TM FlexIO TM 64-bit Power Architecture with VMX 13
Architektura pamięć Pamięć współdzielona Jedna, zunifikowana przestrzeń pamięciowa dla wszystkich procesorów Pamięć rozproszona Każdy z procesorów ma własną przestrzeń pamięciową Systemy hybrydowe Kilka procesorów w ramach węzła obliczeniowego współdzieli tą samą przestrzeń pamięciową, cały system składa się z wielu węzłów
Architektura pamięć NUMA Non-Uniform-Memory-Access Pamięć jest współdzielona przez kilka procesorów niejednorodnie Podział na bloki fizycznie bliższe odpowiednim CPU Wymaga wsparcia ze strony systemu operacyjnego
UMA i (cc)numa MEM CPU CPU MEM MEM CPU CPU MEM Organizacja pamięci typu SMP Jednorodny dostęp - UMA Organizacja pamięci typu NUMA Niejednorodny dostęp do pamięci MEM cache CPU cache CPU MEM MEM CPU cache CPU cache MEM Organizacja pamięci typu ccnuma 16
Organizacja połączeń miedzy węzłami Obecne technologie połączeń: Gigabit Ethernet Infiniband Myrinet Połączenia dedykowane Własności połączeń: Przepustowość (bandwidth) Opóźnienia (latency) Cena ($$) Rodzaj okablowania (copper, optical) Kable sieciowe, NEC SX8
Historia prędkości interkonektu 96 Gbit/s Historia interkonektu Myri-10G Infiniband (12xQDR) 10 Gbit/s Myrinet-2000 2,5 Gbit/s 2 Gbit/s 1 Gbit/s Infiniband (1xSDR) Gigabit Ethernet 100 Mbit/s 1995 1997 1999 2001 2003 2005 2007 Fast Ethernet
Przepustowość sieci Gigabit Ethernet (1000base-X) 1,000 Mbit/s 116 MB/s Myrinet 2000 2,000 Mbit/s 250 MB/s Infiniband SDR 1X 2,000 Mbit/s 250 MB/s Quadrics QsNet I 3,600 Mbit/s 450 MB/s Infiniband DDR 1X 4,000 Mbit/s 500 MB/s Infiniband QDR 1X 8,000 Mbit/s 1,000 MB/s Infiniband SDR 4X 8,000 Mbit/s 1,000 MB/s Quadrics QsNet II 8,000 Mbit/s 1,000 MB/s 10 Gigabit Ethernet (10Gbase-X) 10,000 Mbit/s 1,250 MB/s Myri 10G 10,000 Mbit/s 1,250 MB/s Infiniband DDR 4X 16,000 Mbit/s 2,000 MB/s Scalable Coherent Interface (SCI) Dual Channel SCI, x8 PCIe 20,000 Mbit/s 2,500 MB/s Infiniband SDR 12X 24,000 Mbit/s 3,000 MB/s Infiniband QDR 4X 32,000 Mbit/s 4,000 MB/s Infiniband DDR 12X 48,000 Mbit/s 6,000 MB/s Infiniband QDR 12X 96,000 Mbit/s 12,000 MB/s
Metody przeplatania obliczeń i komunikacji niektóre architektury udostępniają możliwość ukrywania komunikacji pomiędzy węzłami obliczeniowymi za obliczeniami DMA Direct Memeory Access - dostęp do pamięci operacyjnej RAM z pominięciem procesora głównego Obsługa mechanizmów na różnych poziomach: dma_get, dma_put (procesor Cell) obsługa komunikacji nieblokującej MPI (system BlueGene)
Wydajność: PC a superkomputer Obecnie wydajność wyrażana w GFlops ( 10 9 ), TFlops ( 10 12 ) oraz PFlops ( 10 15 )! Intel Pentium 4 3.0 GHz (NW) 3.65 GFlops IBM BlueGene/L 596.3 Tflops (ponad 150 tys. razy szybszy)
Prawo Moore a Gordon E. Moore współzałożyciel firmy INTEL obserwacja/prognoza sformułowana w 1965 roku: co 18-24 miesiące podwaja się prędkość procesorów, pojemność pamięci operacyjnej i twardych dysków* * To nie jest dokładny cytat, G.Moore mówił o liczbie tranzystorów
1939 1945 / 5 kops Około 1939 roku powstają pierwsze komputery US Departament of Energy (Manhattan Project) Astanoff Berry (Iowa State Univ.) Konrad Zuse Mark I 1945 pierwszy komputerowy Bug
1946 1949 / 100 kops Algorytmy i metody obliczeniowe rozijane w DOE są używane do dziś (np. Monte Carlo) Stan Ulam i John von Neumann ENIAC (Univ. Of Pennsylvania) - Los Alamos problem 1947 pierwszy tranzystor
1950 1955 / 57 kops 1952 - AVIDAC (25k sum/s, 2k mult/s) IBM 650 pierwszy komputer produkowany seryjnie John Backus FORTRAN ORACLE dwukrotnie szybszy niż AVIDAC Tranzystor krzemowy
1956 1960 / 56 kops 250kFLOPS Lampy przechodzą do lamusa Nowe urządzenia we/wy Modem Układ scalony IBM 7090 pierwszy komputer w całości oparty o tranzystory
1961 1965 / 1.2 MFLOPS 3 MFLOPS IBM Stretch CDC 6600 Seymour Cray pierwszy sukces komercyjny superkomputera (3 MFLOPS)
1966 1970 / 36 MFLOPS Standard wymiany danych RS232 CDC 7600 (Cray) 36 MFLOPS
1971 1975 / 150 MFLOPS Pascal 10 000 tranzystorów / 1 cm 2 Mikroprocesor
1976 1983 / 250 MFLOPS 941 MFLOPS 1976 Cray Research CRAY 1 wektorowy superkomputer (250 MFLOPS) Światłowód CFS współdzielony system plików 1982 Cray X-MP (941 MFLOPS) 1983 CRAY 2
1976 Cray 1
1984 1989 / 1 GFLOPS 10.3 GFLOPS Intel IPSC/1 pamięć rozproszona Animacja w czasie rzeczywistym Przekroczono granicę 1 GFLOPS NEC, Fujitsu, Hitachi Cray Computer Corp. FEMAIR
1990 1996 / 23.2 GFLOPS 368.2 GFLOPS LAPACK PVM MPI Cray T3D 1993 powstaje ICM
1997 1999 / 1.338 TFLOPS 3 TFLOPS Intel ASCI Red pierwszy komputer teraflopowy Cray T3E Intel ASCI Blue 3 TFLOPS
1997 Cray T3E Cray T3E ICM
2000 2004 / 7.226 TFLOPS 70.7 TFLOPS IBM ASCI White (> 7 TFLOPS) NEC EarthSimulator globalne modelowanie klimatu ( > 35 TFLOPS) IBM BlueGene/L (> 70 TFLOPS)
2002 - Cray X1e (tornado) Komputer wektorowy o dosyć ciekawej budowie SSP SSP SSP MSP MSP Single-Streaming Processor SSP SSP MSP MSP MSP Multiple-Streaming Processor Węzeł obliczeniowy
2002 - Cray X1e (tornado) Możliwość kompilacji i uruchamiania w trybie MSP i SSP Automatyczna wektoryzacja i automatyczne zrównoleglanie (MultiStreaming) Tornado posiada 8 węzłów (128 SSP) Uruchamianie kodów na komputerach Cray wymaga zwykle portowania oraz optymalizacji
2002 - Earth Simulator Na pierwszym miejscu przez 5 kolejnych edycji Top500 (2½ roku) W czerwcu 2002 (pierwsza edycja) tak mocny jak 12 następnych komputerów razem wziętych i 5 razy mocniejszy niż drugi na liście
2002 - Earth Simulator Zbiór zmodyfikowanych maszyn wektorowych NEC SX-6 640 węzłów 40 Tflops Peak 36 Tflops Max. Linpack Pamięć 512 MB Procesor (SX-6)
2002 - Earth Simulator Specjalnie na potrzeby komputera powstał dwupiętrowy budynek i elektrownia Zabezpieczony przed trzęsieniami ziemi i uderzeniami piorunów
2002 - Earth Simulator Kilka poziomów równoległości: MPI pomiędzy węzłami Wątki, np. OpenMP wewnątrz węzłów Wektoryzacja
2004 MareNostrum Instalacja w Barcelona Supercomputing Center W 2006 roku podwojona moc Aktualnie 26 miejsce na świecie MareNostrum () 94,21 TFLOPS 10240 IBM PowerPC 970MP @ 2,3GHz (2560 JS21 blades) 20 TB pamięci głównej 370 TB pamięci dyskowej Interkonekt: Myrinet + GigabitEthernet Linux SuSe Zajmowana powierzchnia: 120 m 2 Ciekawostką jest
2004 MareNostrum - Lokalizacja Kaplica Torre Girona w Barcelonie
2005 2008 / 136.8 TFLOPS 1.026 PFLOPS Rosnąca dominacja IBM BlueGene 2008 RoadRunner pierwszy komputer petaflopowy! (1,026 PFLOPS)
2007 - BlueGene/P - JUGENE Lokalizacja: Juelich - Niemcy Zainstalowany w 2007 roku Posiada 65 536 procesorów PowerPC 450 850 MHz (3.4 GFlops) Jedna szafa to 4096 CPU! (w sumie jest ich 16) Użycie: tylko badania naukowe 4 miejsce na liście Green500: ranking komputerów z listy TOP500 dla których stosunek Mflops/Wat jest najlepszy
BlueGene Kolejne generacje /L i /P, /Q w laboratoriach Napędzany procesorami PowerPC 4X0 BlueGene/P 2 rdzenie PowerPC 450 w węźle obliczeniowym Bardzo duże upakowanie procesorów Dedykowana sieć o topologii 3D Torus i obsłudze DMA Komputer masywnie równoległy dla aplikacji bazujących na bibliotece MPI http://en.wikipedia.org/wiki/bluegene/p 47
2008 - RoadRunner Lokalizacja: Los Alamos, USA Jako pierwszy komputer osiągnął moc 1 PetaFlops (10 15 ) według listy ogłoszonej w czerwcu na SC 08 System hybrydowy: x86 + akceleratory Cell/B.E. Nowe modele programowania hybrydowego Prototyp węzła w ICM (blader)
2008 - RoadRunner
Maksymalna moc obliczeniowa Historia moc obliczeniowa 1 PFLOPS IBM BlueGene/L RoadRunner 1 TFLOPS NEC Earth Simulator Intel ASCII Red 1 GFLOPS Cray T3E 1 MFLOPS CRAY 1 CDC 6600 1 kops ENIAC 1 OPS 1940 1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 Rok
Superkomputery ICM
Koral 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray EL98 1994.06.01 1998.10.28 PVP 1 GB RAM 8 cpus ~1.06 GFLOPS ( miejsce instalacji: MIMUW )
Tajfun 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray YMP/4E 1995.07.12 1998.12.31 PVP 512 MB RAM 4 cpus ~1.2 GFLOPS ( prawdziwy Cray, chłodzenie cieczą )
Krewetka 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 SGI Onyx 1996.12.01 2002.09.30 SMP 2 GB RAM 8 cpus ~3 GFLOPS ( był to rok fuzji Cray Research i Silicon Graphics )
Tsunami 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray T3E 1997.08.10 2002.09.30 MPP 7.5 GB RAM 32 cpus ~20.4 GFLOPS
Koral 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray J916 1998.12.14 1999.12.12 PVP 4 GB RAM 16 cpus ~3.2 GFLOPS
Monsun 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 SUN E10K 1998.11.13 2004.07.15 SMP 4 GB RAM 16 cpus ~9.1 GFLOPS
Koral 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray SV1-1A-16 1999.12.15 2000.12.31 PVP 16 GB RAM 16 cpus ~19.2 GFLOPS ( obudowa Cray J916, wymiana płyt )
Mistral 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 NEC SX4B/2A 1999.06.12 2003.09.30 PVP 2 GB RAM 2 cpus ~3.6 GFLOPS
Tajfun v. 1.1 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray SV1-1-32 2001.01.01 2002.09.05 PVP 32 GB RAM 32 cpus ~38.4 GFLOPS ( stare płyty z Korala oraz nowo dostarczone płyty w nowej obudowie Cray SV1 )
Fen 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 NEC SX4B/2A 2001.05.30 2003.07.14 PVP 1GB RAM 2 cpus ~3.6 GFLOPS
Tornado v. 0.1 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray SV1e-1A-16 2002.01.28 2002.09.06 PVP 16 GB RAM 16 cpus ~32 GFLOPS ( nowe szybsze CPU w szafie Cray J916 )
Tajfun v. 2.0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray SV1ex-1-32 2002.09.06 PVP 32 GB RAM + 32 GB SSD 32 cpus ~64 GFLOPS ( nowe procesory, większa wydajność, aktualna konfiguracja, maszyna Meteo )
Zefir 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Compaq GS140 2002.03.18 2003.02.14 SMP 12 GB RAM 6 cpus ~6 GFLOPS
Latimeria 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 SGI O2000 2002.09.24 2006.12.31 SMP 8 GB RAM 16 cpus ~16 GFLOPS
Tornado v. 1.0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray X1 2003.12.04 2004.12.31 PVP 64 GB RAM 16 cpus (MSP) ~198.4 GFLOPS ( pierwsza instalacja w Europie )
Halo v. 1.0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 IBM eserver 325 2004.08.01 2005.12.31 klaster 196 GB RAM 196 cpus ~784 GFLOPS
Tornado v. 2.0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Cray X1e 2005.01.01 PVP, NUMA 128 GB RAM 32 cpus (MSP) ~576 GFLOPS ( dwa razy więcej szybszych procesorów, aktualna konfiguracja)
Halo v. 2.0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 IBM eserver 325 SUN V40z 2006.01.01 klaster 196 GB + 192 GB RAM 196 + 96 cpus ~1.2 TFLOPS ( dodatkowe serwery SUN V40z, aktualna konfiguracja)
Halo2 Sun Constelation Klaster serwerów kasetowych (blade serwer) Procesory Opteron/Xeon do 24 rdzeni w jednym serwerze Architektura ccnuma Szybka sieć między węzłami Rozproszony system plików Lustre
Nautilus Cluster IBM BladeCenter QS22 Architektura hybrydowa: QS22 2x procesory PowerXCell8i LS21 2x DualCore Opteron Połączenie: DDR Infiniband Voltaire Grid Director ISR 2012 Multi-Service Switch Komunikacja w pełni nieblokująca 1 miejsce na liście Green500
Najmocniejsze maszyny ICM
TOP500 500 najmocniejszych superkomputerów na świecie Od 1993 roku Nowa edycja 2 razy do roku Wyniki bazują na benchmarku LINPACK (Jack Dongarra) Rozwiązywanie gęstego układu równań liniowych R peak teoretyczna maksymalna wydajność R max zmierzona maksymalna wydajność www.top500.org
TOP500
TOP500
Najnowsza lista Czerwiec 2009
Polska na TOP500 Pierwszy polski komputer 1995 PCSS (Poznań) SGI PowerChallenge 75 ~2 GFLOPS (#486) Najnowsza lista: czerwiec 2009 #107 Galera #281 #300 TASK, Gdańsk 38,17 TFLOPS klaster, 1344 x 4core Intel Xeon (5376 procesorów) Firma telekomunikacyjna. 21,8 TFLOPS HP Cluster Platform 3000BL, Intel Xeon Firma telekomunikacyjna. 21,4 TFLOPS HP Cluster Platform 3000BL, Intel Xeon #422 Nautilus ICM, Warszawa 18,5 TFLOPS IBM BladeCenter QS22 Cluster
Gdzie jest ICM? Halo2 Nautilus Halo Tornado
TOP500 statystyki historyczne Moc obliczeniowa vs. Dostawcy sprzętu EarthSimulator IBM BlueGene Cray T3E
TOP500 statystyki historyczne Moc obliczeniowa i Liczba maszyn vs. Architektura maszyny
TOP500 statystyki historyczne Moc obliczeniowa vs. Architektura procesorów
TOP500 statystyki historyczne Moc obliczeniowa i Liczba maszyn vs. Rodzina procesorów
TOP500 statystyki historyczne Moc obliczeniowa i Liczba maszyn vs. Liczba procesorów
TOP500 statystyki historyczne Moc obliczeniowa i Liczba maszyn vs. Interconnect
TOP500 statystyki historyczne Liczba maszyn vs. Systemy operacyjne
TOP500 statystyki historyczne Moc obliczeniowa vs. Zastosowania
Najnowsze trendy Procesory docierają do granicy stosowalności praw Moore a Koszt produkcji procesorów maleje Procesy technologiczne obniżają emisję ciepła na procesorach Przekłada się to też na architekturę superkomputerów: Wzrasta liczba procesorów Stosuje się co raz szybszy interkonekt Co raz większe upakowanie przestrzenne procesorów Tendencja do poszukiwania mocy obliczeniowej gdzie indziej Accelerated Computing RoadRunner Strategia firmy Cray Coraz większe zainteresowanie akceleratorami
Akceleracja Dwie idee rządzące akceleracją obliczeń: Wykorzystywanie innych, sprawdzonych, wydajnych architektur i próby ich uogólniania Przenoszenie części obliczeń na wydajniejsze (specjalizowane) architektury Obie w/w idee powoli spotykają się
Akceleracja GPGPU General Purpose Graphics Processing Unit nvidia AMD ATI Architektura strumieniowa Wykorzystanie bardzo wydajnych (500 GFLOPS) procesorów graficznych do obliczeń zmiennoprzecinkowych ClearSpeed FPGA Koprocesor parallel data ~33 GFLOPS Field Programmable Gate Array Układy programowalne Składają się z wielu pojedynczych bramek logicznych Cell Broadband Engine IBM Procesor stworzony na potrzeby konsoli Playstation 3 1 PPE (Power processor) + 8 SPE
90
91
Przyszłość Prawo Moore a dla Superkomputerów Zachowalność dzięki coraz szybszym interkonektom 2019 1 EFLOPS (eksa = 10 18 )
Galeria superkomputerów
Galeria - BlueGene/L (LLNL)
Galeria Cray XT5h
Galeria NEC SX-8 (HLRS)
Galeria - MareNostrum IBM BC JS21
Muzeum Cray T3E
Muzeum 1szy MainFrame IBM
Dziękujemy za uwagę!