Układy FPGA w systemach obliczeniowych

Slides:



Advertisements
Podobne prezentacje
Video DR-S Cyfrowy rejestrator wideo
Advertisements

REALIZACJA REGULATORA PID W UKŁADZIE FPGA
JĘZYK VHDL Geneza: komputerowa symulacja układu cyfrowego, Departament Obrony USA opis skomplikowanego systemu w postaci schematu jest nieczytelny, szybkie.
Standardowa biblioteka języka C++
Projektowanie cyfrowych systemów w oparciu o układy PLD (i VLSI)
Idea, podstawowe parametry, cechy, charakterystyka
Wprowadzenie do C++ Zajęcia 2.
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
Implementacja algorytmów na procesory kart graficznych
Procesor.
ELEMENTY SKŁADOWE JEDNOSTKI CENTRALNEJ
Informatyka Stosowana
by Ernest Jamro Katedra Elektroniki, AGH Kraków
by Ernest Jamro Katedra Elektroniki, AGH Kraków
Wstaw tekst Płyta główna (ang. mainboard) najważniejsza płyta drukowana urządzenia elektronicznego, na której zamontowano najważniejsze elementy urządzenia,
Wykład nr 7: Synchronizacja procesów
Systemy operacyjne.
Magistrala & mostki PN/PD
Schemat blokowy komputera
Serwer obliczeniowy Instytutu Fizyki AP
Komputer, procesor, rozkaz.
Wstęp do FPGA Krzysztof Pisaniec
Eksploatacja zasobów informatycznych przedsiębiorstwa.
Techniczne aspekty wyboru komputera Paweł Pilarczyk, PCLab.pl 28 października 2005.
Project made by Bartosz Rumiński Kl. III i rok 2007/2008.
Wieloprocesowy system operacyjny dla komputerów ATARI XL/XE
Budowa Komputera.
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Heterogeniczne procesory wielordzeniowe w urządzeniach audio
Komputery macierzowe.
Komputer a system komputerowy
WinPakSE/PE Zintegrowany System Ochrony Obiektów
Opracował : Przemysław Drzymała
ARCHTEKTURA KOMPUTERA
Definicje Czujnik – element systemu pomiarowego dokonujący fizycznego przetworzenia mierzonej wielkości nieelektrycznej na wielkość elektryczną, Czujnik.
Budowa systemu komputerowego
Budowa komputera.
Dynamiczna rekonfiguracja układów FPGA
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Buforowanie D e f i n i c j a.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Architektura PC.
POZNAŃ SUPERCOMPUTING AND NETWORKING CENTER Systemy zarządzania w środowisku rozproszonym Mirosław Kupczyk
Pamięć operacyjna.
SPRZET KOMPUTEROWY.
Procesor – charakterystyka elementów systemu. Parametry procesora.
 Karta sieciowa to urządzenie odpowiedzialne za wysyłanie i odbieranie danych w sieciach LAN. Każdy komputer, który ma korzystać z dobrodziejstw sieci,
System plików.
Derekursywacja i optymalizacja kodu
Pamięć DRAM.
Budowa komputera Autor: Piotr Morawski.
Czy komputery zabiją genomikę?. Problemy Ogromne ilości danych do przechowywania Zbyt słabe komputery aby „łączyć” sekwencje Nieoptymalne formaty danych.
Metody komunikacji i synchronizacji w obliczeniach równoległych Michał Radziszewski.
Przełączniki zarządzalne w Sieciech teleinformatycznych
Platformy oraz języki HLL dla systemów HPRC Katedra Elektroniki – Seminarium
Procesor. Definicja: (ang. processor) nazywany często CPU (ang. Central Processing Unit) - urządzenie cyfrowe sekwencyjne potrafiące pobierać dane z pamięci,
Budowa komputera.
BUDOWA KOMPUTERA.. -płyta główna -procesor -ram-y -dysk twardy -karta graficzna -karta muzyczna -karta sieciowa -wentylator -cd-rom -stacja dyskietek.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Grupa bloków Systemy mikroprocesorowe i układy programowalne Katedra Mikroelektroniki i Technik Informatycznych.
Opiekun: Stanisław Toton. 1. Co to jest mikroprocesor? 2. Początki mikroprocesora. 3. Budowa typowego mikroprocesora. 4. Rozwój mikroprocesorów na przełomie.
Budowa komputera. Procesor Procesor to serce komputera. Do najważniejszych producentów procesorów należą: AMD (Athlon, Duron, Sempron, Turion, Opteron,
Schemat blokowy komputera
PAMIĘĆ RAM.
Synteza logiczna w projektowaniu układów cyfrowych
Topologie fizyczne i logiczne sieci
Podział mikroprocesorów
Budowa komputera..
Przykładowy algorytm geometryczny (geometria płaska)
Zapis prezentacji:

Układy FPGA w systemach obliczeniowych

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

Czym są FPGA (Field-Programmable Gate Array)

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

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)

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

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 Profil kodu Podział algorytmu Kompilacja Synteza + implementacja Część sprzętowa Część softwarowa Magistrala Komunikacyjna

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.

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

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.

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.

Współczesne rozwiązania HPRC dostępne komercyjnie Cray XT4 – 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 LX200) - 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 RC100 Blade

Współczesne rozwiązania HPRC dostępne komercyjnie SGI RASC RC100 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 XtremeData XD1000™ FPGA COPROCESSOR MODULE for SOCKET 940

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

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

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

Ś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)

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 3 + 2 in first iteration } s;

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

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

Obszary ekspansji systemów HPRC Meteorologia Dynamika płynów Biologia, genetyka Chemia teoretyczna Analiza obrazu 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. OpenFPGA).

Szacunkowe koszty akceleracji Na postawie operacji MAC

Szacunkowe koszty akceleracji Na postawie operacji MAC