Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Układy FPGA w systemach obliczeniowych

Podobne prezentacje


Prezentacja na temat: "Układy FPGA w systemach obliczeniowych"— 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
Profil kodu Podział algorytmu Kompilacja Synteza + implementacja Część sprzętowa Część softwarowa Magistrala Komunikacyjna

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. The Cray XT4 (codenamedHood during development) is an updated version of theCray XT3 supercomputer, which includes an updated version of the SeaStar interconnectrouter, processor sockets for Socket AM2 Opteron processors, and 240-pinunbuffered DDR2 memory. The XT4 also includes support for FPGA coprocessors that plug directly into the processor sockets. Otherwise, the interconnect, cabinet, system software and programming environment remain unchanged from the Cray XT3.

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
Od 16 do 512 procesorów Max. 256 układów programowalnych (256 Virtex-4 LX200) - 128 TB pamięci SGI Altix-4700

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"

Podobne prezentacje


Reklamy Google