Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Układy FPGA w systemach obliczeniowych. Plan prezentacji  Czym są FPGA ?  Ogólne informacje na temat zastosowania układów FPGA w komputerowych systemach.

Podobne prezentacje


Prezentacja na temat: "Układy FPGA w systemach obliczeniowych. Plan prezentacji  Czym są FPGA ?  Ogólne informacje na temat zastosowania układów FPGA w komputerowych systemach."— Zapis prezentacji:

1 Układy FPGA w systemach obliczeniowych

2 Plan prezentacji  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

3 Czym są FPGA (Field-Programmable Gate Array)

4 Czym są FPGA CLB(LB) – configurable logic block

5 Zastosowanie FPGA w komputerowych systemach obliczeniowych  Elastyczność architektury  Równoległość wykonywania operacji  Rosnąca różnica pomiędzy prędkościami procesorów i pamięci(zwiększa się czas dostępu do pamięci)  Łatwa rekonfiguracja (zwiększanie lub zmniejszanie określonych elementów logiki w zależności od potrzeb algorytmu)  Bezpieczeństwo (np.odporność na ataki sieciowe)  Rząd wielkości mniejsze zużycie mocy w porównaniu z procesorami (~10W vs ~100W)

6 Zastosowanie FPGA w komputerowych systemach obliczeniowych  Potencjalnie pełne wykorzystanie powierzchni krzemowej (procesory – tylko około 10 %)  Duże zasoby nowoczesnych układów programowalnych  Zwiększające się prędkości zegara, dochodzące obecnie do 500 MHz (Xilinx Virtex 5, Atlera Stratix III)  Dostępne są aplikacje umożliwiające pisanie kodu dla układów FPGA w języku opartym najczęściej na C lub C++  Inne podejście – dopasowanie sprzętu do algorytmu

7 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.

8 Ideowa struktura systemu HPRC Część sprzętowa Część softwarowa Magistrala Komunikacyjna Profil kodu Podział algorytmu Kompilacja Synteza + implementacja

9 Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT4 Architektura XT4 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.

10 Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT4 – komunikacja międzymodułowa

11 Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT4 Architektura routera zapewnia komunikacje z prędkością 6,4 GB/s z sześcioma przylegającymi PE.

12 Współczesne rozwiązania HPRC dostępne komercyjnie Akcelerator z układem Xilinx Virtex-4 LX200 wpinany bezpośrednio w podstawkę procesora AMD Opteron -Socket 940. Płyta akceleratora zawiera również kontroler pamięci oraz 2 GB DDR2. Dostęp do pamięci z prędkością 14,4 GB/s.

13 Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT4 – wizualne środowisko monitorowania zasobów PE

14 Współczesne rozwiązania HPRC dostępne komercyjnie SGI Altix Od 16 do 512 procesorów - Max. 256 układów programowalnych (256 Virtex-4 LX200) TB pamięci

15 Współczesne rozwiązania HPRC dostępne komercyjnie SGI NUMAlink – magistrala komunikacyjna

16 Współczesne rozwiązania HPRC dostępne komercyjnie SGI RASC RC100 Blade

17 Współczesne rozwiązania HPRC dostępne komercyjnie SGI RASC RC100 Blade

18 SGI Współczesne rozwiązania HPRC dostępne komercyjnie Programowanie FPGA z wykorzystaniem języków opisu sprzętu.

19 SGI Współczesne rozwiązania HPRC dostępne komercyjnie Programowanie FPGA z wykorzystaniem narzędzi wysokiego poziomu.

20 Współczesne rozwiązania HPRC dostępne komercyjnie SRC Computers SRC-7 Hi-Bar Switch

21 Współczesne rozwiązania HPRC dostępne komercyjnie SRC Computers SRC-7 MAP

22 Współczesne rozwiązania HPRC dostępne komercyjnie DRC Computer Corp.

23 Współczesne rozwiązania HPRC dostępne komercyjnie DRC Computer Corp.

24 Współczesne rozwiązania HPRC dostępne komercyjnie DRC Computer Corp.

25 Współczesne rozwiązania HPRC dostępne komercyjnie XtremeData XD1000™ FPGA COPROCESSOR MODULE for SOCKET 940

26 Współczesne rozwiązania HPRC dostępne komercyjnie XtremeData XD1000™ FPGA COPROCESSOR MODULE for SOCKET 940

27 Współczesne rozwiązania HPRC dostępne komercyjnie XtremeData XD1000™ FPGA COPROCESSOR MODULE for SOCKET 940

28 Środowiska programistyczne dla systemów HPRC  Mitrion-C  Impuls C  SRC Carte  Prace Xilinx’a nad nowym środowiskiem

29 Środowiska programistyczne dla systemów HPRC - przykład Mitrion – C  Podstawowa składania jest taka sama jak dla języka C – {},=,if, for, while..  Nie występują wskaźniki  Brak możliwości dynamicznego przydzielania pamięci  Zmienne mogą mieć nadaną wartość tylko raz (wynika z równoległości interpretacji zapisu kodu)  Występują listy interpretowane jako implementacja potokowości  Wszystkie funkcje są wywoływane przez wartość oraz są typu inline (brak rekurencji)

30 Przykład Zmienne wewnątrz pętli przypisywane w jednym czasie int:25 i = 2; int:25 s = 3; int:25 sum = while(i < q){ s = i * s; // s is assigned 2 * 3 in first iteration i = s + i; // i is assigned in first iteration } s;

31 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 ?

32 Potencjał układów FPGA w systemach HPC Efektywność przyspieszenia

33 Potencjał układów FPGA w systemach HPC  Quantum Monte Carlo 7x (Intel Xeon 2.4 GHz, Xilinx Virtex 4)  Genome Sequncing FPGA speedups of 50X (Virtex-II Pro 50) and 100X (Virtex-4 LX160) over a 2.2 GHz Opteron

34 Potencjał układów FPGA w systemach HPC  Hardware Accelerated Scalable Parallel Random Number Generators, Xilinx Virtex II Pro FPGAs introduces 4-15 times speedup over 2.8GHz Pentium 4 processors  Hardware Acceleration of the 3D Discrete Element Method 34 times speedup, dual core, 2.80GHz P4 vs Xilinx Virtex 4

35 Obszary ekspansji systemów HPRC  Meteorologia  Dynamika płynów  Biologia, genetyka  Chemia teoretyczna  Analiza obrazu  Finanse

36 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. OpenFPGA).

37

38

39 Szacunkowe koszty akceleracji Na postawie operacji MAC

40 Szacunkowe koszty akceleracji Na postawie operacji MAC


Pobierz ppt "Układy FPGA w systemach obliczeniowych. Plan prezentacji  Czym są FPGA ?  Ogólne informacje na temat zastosowania układów FPGA w komputerowych systemach."

Podobne prezentacje


Reklamy Google