Ukady FPGA w systemach obliczeniowych Plan prezentacji w
Układy FPGA w systemach obliczeniowych
Plan prezentacji w w w w w Czym są FPGA ? Ogólne informacje na temat zastosowania układów FPGA w komputerowych systemach obliczeniowych Ideowa struktura systemu HPRC Współczesne rozwiązania sprzętowe HPRC dostępne komercyjnie Środowiska programistyczne dla systemów HPRC Układy FPGA vs procesory wielordzeniowe Potencjał układów FPGA w systemach HPRC Obszary ekspansji systemów HPRC Podsumowanie
Czym są FPGA (Field-Programmable Gate Array)
Czym są FPGA CLB(LB) – configurable logic block
Zastosowanie FPGA w komputerowych systemach obliczeniowych w Elastyczność architektury w Równoległość wykonywania operacji w Rosnąca różnica pomiędzy prędkościami procesorów i pamięci(zwiększa się czas dostępu do pamięci) w Łatwa rekonfiguracja (zwiększanie lub zmniejszanie określonych elementów logiki w zależności od potrzeb algorytmu) w Bezpieczeństwo (np. odporność na ataki sieciowe) w Rząd wielkości mniejsze zużycie mocy w porównaniu z procesorami (~10 W vs ~100 W)
Zastosowanie FPGA w komputerowych systemach obliczeniowych w Potencjalnie pełne wykorzystanie powierzchni krzemowej (procesory – tylko około 10 %) w Duże zasoby nowoczesnych układów programowalnych w Zwiększające się prędkości zegara, dochodzące obecnie do 500 MHz (Xilinx Virtex 5, Atlera Stratix III) w Dostępne są aplikacje umożliwiające pisanie kodu dla układów FPGA w języku opartym najczęściej na C lub C++ w Inne podejście – dopasowanie sprzętu do algorytmu
Jednostki obliczeniowe z układami FPGA Pojawia się kwestia odpowiedniego środowiska zdolnego do podziału algorytmu na część sprzętową oraz programową. Ewentualne rozwiązanie może polegać na separacji algorytmu dokonywanej przez projektanta.
Ideowa struktura systemu HPRC • Część sprzętowa • Część softwarowa • Magistrala Komunikacyjna • Profil kodu • Podział algorytmu • Kompilacja • Synteza + implementacja
Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT 4 Architektura XT 4 opiera się na pojedyńczym PE (processing element) który może się składać z procesora AMD Opteron (jedno, dwu albo cztero rdzeniowy) lub układu FPGA wpinanego w gniazdo procesora. Elementy PE są bezpośrednio podłączone do pamięci.
Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT 4 – komunikacja międzymodułowa
Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT 4 Architektura routera zapewnia komunikacje z prędkością 6, 4 GB/s z sześcioma przylegającymi PE.
Współczesne rozwiązania HPRC dostępne komercyjnie Akcelerator z układem Xilinx Virtex-4 LX 200 wpinany bezpośrednio w podstawkę procesora AMD Opteron -Socket 940. Płyta akceleratora zawiera również kontroler pamięci oraz 2 GB DDR 2. Dostęp do pamięci z prędkością 14, 4 GB/s.
Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT 4 – wizualne środowisko monitorowania zasobów PE
Współczesne rozwiązania HPRC dostępne komercyjnie - Od 16 do 512 procesorów - Max. 256 układów programowalnych (256 Virtex-4 LX 200) - 128 TB pamięci SGI Altix-4700
Współczesne rozwiązania HPRC dostępne komercyjnie SGI NUMAlink – magistrala komunikacyjna
Współczesne rozwiązania HPRC dostępne komercyjnie SGI RASC RC 100 Blade
Współczesne rozwiązania HPRC dostępne komercyjnie SGI RASC RC 100 Blade
SGI Współczesne rozwiązania HPRC dostępne komercyjnie Programowanie FPGA z wykorzystaniem języków opisu sprzętu.
SGI Współczesne rozwiązania HPRC dostępne komercyjnie Programowanie FPGA z wykorzystaniem narzędzi wysokiego poziomu.
Współczesne rozwiązania HPRC dostępne komercyjnie SRC Computers SRC-7 Hi-Bar Switch
Współczesne rozwiązania HPRC dostępne komercyjnie SRC Computers SRC-7 MAP
Współczesne rozwiązania HPRC dostępne komercyjnie DRC Computer Corp.
Współczesne rozwiązania HPRC dostępne komercyjnie DRC Computer Corp.
Współczesne rozwiązania HPRC dostępne komercyjnie DRC Computer Corp.
Współczesne rozwiązania HPRC dostępne komercyjnie Xtreme. Data XD 1000™ FPGA COPROCESSOR MODULE for SOCKET 940
Współczesne rozwiązania HPRC dostępne komercyjnie Xtreme. Data XD 1000™ FPGA COPROCESSOR MODULE for SOCKET 940
Współczesne rozwiązania HPRC dostępne komercyjnie Xtreme. Data XD 1000™ FPGA COPROCESSOR MODULE for SOCKET 940
Środowiska programistyczne dla systemów HPRC w Mitrion-C w Impuls C w SRC Carte w Prace Xilinx’a nad nowym środowiskiem
Środowiska programistyczne dla systemów HPRC - przykład Mitrion – C w Podstawowa składania jest taka sama jak dla języka C – {}, =, if, for, while. . w Nie występują wskaźniki w Brak możliwości dynamicznego przydzielania pamięci w Zmienne mogą mieć nadaną wartość tylko raz (wynika z równoległości interpretacji zapisu kodu) w Występują listy interpretowane jako implementacja potokowości w Wszystkie funkcje są wywoływane przez wartość oraz są typu inline (brak rekurencji)
Przykład Zmienne wewnątrz pętli przypisywane w jednym czasie int: 25 s = i = } s; i = sum i * s + 2; 3; = while(i < q){ s; // s is assigned 2 * 3 in first iteration i; // i is assigned 3 + 2 in first iteration
Układy FPGA vs procesory wielordzeniowe Pytanie to można rozbić na szereg drobniejszych zagadnień. • • • Czy układy FPGA mogą dostarczyć o rząd wielkości większą moc obliczeniową dla operacji DP FP ? Czy programowanie systemów HPRC może być bardziej „przyjazne” (nie będzie konieczna znajomość HDL)? Czy istnieje możliwość usunięcia wąskich gardeł w transferach danych pomiędzy elementami obliczeniowymi, pamięciami oraz układami IO (układy FPGA wtedy są w stanie wykorzystać w pełni swój potencjał) ? Duża część rozwiązań HPRC narzuca ściśle określone częstotliwości sygnału zegarowego jakim mogą być taktowane FPGA w systemie co ogranicza potencjalna wydajność systemu. Czy można rozluźnić to kryterium ? Czy wraz ze wzrostem pojemności FPGA będzie rosła trudność zapewnienia skalowalności systemów HPRC ? Jak będzie następował rozwój wielu nowoczesnych gałęzi przemysłu (np. biotechnologia, genetyka) które korzystając z mocy obliczeniowej systemów HPRC wydatnie przyczyniają się do ich dynamicznego rozwoju ?
Potencjał układów FPGA w systemach HPC Efektywność przyspieszenia
Potencjał układów FPGA w systemach HPC w Quantum Monte Carlo 7 x (Intel Xeon 2. 4 GHz, Xilinx Virtex 4) w Genome Sequncing FPGA speedups of 50 X (Virtex-II Pro 50) and 100 X (Virtex-4 LX 160) over a 2. 2 GHz Opteron
Potencjał układów FPGA w systemach HPC w Hardware Accelerated Scalable Parallel Random Number Generators, Xilinx Virtex II Pro FPGAs introduces 4 -15 times speedup over 2. 8 GHz Pentium 4 processors w Hardware Acceleration of the 3 D Discrete Element Method 34 times speedup , dual core, 2. 80 GHz P 4 vs Xilinx Virtex 4
Obszary ekspansji systemów HPRC w Meteorologia w Dynamika płynów w Biologia, genetyka w Chemia teoretyczna w Analiza obrazu w Finanse
Podsumowanie Rozwój HPRC można obecnie porównać do stanu zaawansowania systemów HPC przed 15 laty. Nieodzowne wydaje się stworzenie wygodnego narzędzia programistycznego oraz wprowadzenia ujednoliconego standardu rozwiązań (np. interfejsów, bibliotek itp. ). Początki prac są już widoczne (np. Open. FPGA).
Szacunkowe koszty akceleracji Na postawie operacji MAC
Szacunkowe koszty akceleracji Na postawie operacji MAC
- Slides: 40