O superkomputerach. Marek Grabowski

Podobne dokumenty
Równoległość i współbieżność

Równoległość i współbieżność

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Nowoczesne technologie przetwarzania informacji

Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Wsparcie dla OpenMP w kompilatorze GNU GCC Krzysztof Lamorski Katedra Informatyki, PWSZ Chełm

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski

16. Taksonomia Flynn'a.

Programowanie Rozproszone i Równoległe

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

HPC na biurku. Wojciech De bski

Przetwarzanie Równoległe i Rozproszone

Algorytmy i Struktury Danych

10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu

Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1

Literatura. 3/26/2018 Przetwarzanie równoległe - wstęp 1

Programowanie współbieżne Wykład 2. Iwona Kochańska

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Komputerowe Obliczenia Równoległe: Wstęp do OpenMP i MPI

Zadania badawcze prowadzone przez Zakład Technik Programowania:

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

Analiza efektywności przetwarzania współbieżnego

Dr inż. hab. Siergiej Fialko, IF-PK,

Jak wygląda praca na klastrze

Kryptografia na procesorach wielordzeniowych

Komputery równoległe. Zbigniew Koza. Wrocław, 2012

Architektury równoległe

Programowanie procesorów graficznych GPGPU

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

Programowanie współbieżne Wykład 1. Rafał Skinderowicz

Architektura komputerów

Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,

i3: internet - infrastruktury - innowacje

Moc płynąca z kart graficznych

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

Obliczenia Wysokiej Wydajności

Programowanie współbieżne... (2)

System obliczeniowy laboratorium oraz. mnożenia macierzy

GSMONLINE.PL. Twój smartfon Huawei może być jeszcze szybszy Akcja. partnerska

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Obliczenia równoległe. Wojciech Kwedlo Wydział Informatyki PB pokój 205

PLD Linux Day. Maciej Kalkowski. 11 marca Wydziaª Matematyki i Informatyki UAM

Wstęp do programowania 2

Analiza ilościowa w przetwarzaniu równoległym

Architektura komputerów

ξ II.UWr Wprowadzenie do STM

Programowanie systemów z pamięcią wspólną specyfikacja OpenMP. Krzysztof Banaś Obliczenia równoległe 1

Wprowadzenie do programowania współbieżnego

Programowanie współbieżne i rozproszone

GRIDY OBLICZENIOWE. Piotr Majkowski

Programowanie współbieżne Wykład 1. Rafał Skinderowicz

Programowanie współbieżne. Iwona Kochańska

Brain Game. Wstęp. Scratch

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Podstawy programowania obliczeń równoległych

Elementy składowe: Przenośność oprogramowania Model SPMD Szczegółowe wersje (bindings) dla różnych języków programowania

Task Parallel Library

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Równoległe algorytmy sortowania. Krzysztof Banaś Obliczenia równoległe 1

Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Architektura Komputerów

Programowanie współbieżne Wstęp do OpenMP. Rafał Skinderowicz

Architektura, oprogramowanie i uytkowanie klastra PCSS. Marek Zawadzki <mzawadzk@man.poznan.pl>

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

OpenMP. Programowanie aplikacji równoległych i rozproszonych. Wykład 2. Model programowania. Standard OpenMP. Dr inż. Tomasz Olas

Zapisywanie algorytmów w języku programowania

Wprowadzenie do zrównoleglania aplikacji z wykorzystaniem standardu OpenMP

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

3.Przeglądarchitektur

Obliczenia Wysokiej Wydajności

Programowanie w języku C++ Grażyna Koba

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Wykorzystanie architektury Intel MIC w obliczeniach typu stencil

MESco. Testy skalowalności obliczeń mechanicznych w oparciu o licencje HPC oraz kartę GPU nvidia Tesla c2075. Stanisław Wowra

Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Algorytmy dla maszyny PRAM

Linux -- u mnie działa!

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

PRZEWODNIK PO PRZEDMIOCIE

Przykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:

Zegar - układ wysyłający regularne impulsy o stałej szerokości (J) i częstotliwości (f)

Klaster obliczeniowy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Raport Hurtownie Danych

Autor: inż. Wojciech Zatorski Opiekun pracy: dr inż. Krzysztof Małecki

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Podstawy Informatyki Systemy sterowane przepływem argumentów

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Architektura mikroprocesorów TEO 2009/2010

Enterprise, czyli instytutowy klaster obliczeniowy

Podstawy programowania obiektowego

Symulacje kinetyczne Par2cle In Cell w astrofizyce wysokich energii Wykład 7

Numeryczna algebra liniowa

Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Programowanie współbieżne... (4) Andrzej Baran 2010/11

Transkrypt:

O superkomputerach Marek Grabowski

Superkomputery dziś Klastry obliczeniowe Szafy (od zawsze) Bo komputery są duże Półki i blade'y (od pewnego czasu) Większe upakowanie mocy obliczeniowej na m^2 Łatwiejsze chłodzenie Można coś wyjąć lub włożyć

Stare Cray'e X1 źródło: Wikipedia

Nowy Sun Constellation źródło: SUN

IBM Roadrunner Los Alamos:) źródło: Wikipedia

MareNostrum źródło: Wikipedia

Zastosowania Symulacje fizyczne Prognozy pogody Zmiany klimatu Testowanie materiałów Najstarsze, czyli Bioinformatyka Produkcja bomb atomowych Badanie białek Testowanie leków inne

Architektura ogólnie Dużo niezależnych jednostek obliczeniowych Potrzebne szybkie łącza Potrzeba DUŻO energii i dobrego chłodzenia Infiniband, Myrinet, 100GB Ethernet(?) EarthSimulator miał własną elektrownię.. TOP500 i benchmarki Linpack

Trochę szczegółów Procesory Intel AMD SUN Spark IBM Cell Akceleratory Nvidia ATI ClearSpeed

Co mamy Dużo procesorów, każdy z własnym cachem Dużo półek/bladów każda z własną pamięcią dość szybie połączenia między procesorami problemy ze spójnością cache'a znośna prędkość odczytu z pamięci NUMA stosunkowo wolna komunikacja między półkami Dużo miejsca na dyskach o prędkości lepiej nic nie mówić

Co chcemy Wyżyłować kod tak jak się da przy obliczeniach idących w godziny, dni, lub tygodnie stała MA znaczenie Maksymalnie wykorzystywać cach'e Jak najlepiej używać pamięci (NUMA) Rozpraszać obliczenia na wiele procesorów Łatwo pisać współbieżne programy

Wracamy na ziemię CHCEMY to co było na poprzednim slajdzie. Może za kilka lat chociaż częściowo będzie to możliwe... Prawo Amdahla na maksymalne przyspieszenie programu 1 1 P P S P - część programu dająca się zrównoleglić S przyspieszenie części równoległej

Smutna rzeczywistość Java raczej się nie nadaje Biblioteki obliczeniowe są napisane w Fortranie Obiektowość ogólnie jest zła szczęśliwi ci, którzy nigdy nie widzieli tego języka Automatyczne wykorzystywanie rozmieszczenia pamięci to bajka Kompilatory czasami działają gcc wcale nie jest fajne

Jak się pisze programy Dwie biblioteki: MPI i OpenMP DARPA sponsoruje prace nad innymi językami dużo różnych, różnie działających kompilatorów wersje do C i Fortranu SUN Fortress IBM X10 Cray Chapel Jest źle, może będzie lepiej

MPI Message Passing Interface jak sama nazwa wskazuje polega na przekazywaniu komunikatów Zakładamy, że każdy proces ma prywatną pamięć Program jest powielany na wszystkie procesy (coś a'la SIMD) Chyba jest na jednym z labów na Sieciach...

MPI Na początku inicjalizujemy MPI Każdy proces dostaje swój unikalny numer Potem, w chwilach kiedy chcemy się skomunikować używamy MPI_Send MPI_Bcast MPI_Recv Na koniec wymeldowujemy się z systemu

MPI Są różne wersje standardowych poleceń Można łączyć procesy w grupy (np. dla broadcasta) Różne mechanizmy synchronizacji blokujące/nieblokujące probe'y bariery Programy trzeba uruchamiać poleceniem mpiexec

MPI Popularne Jak się dobrze napisze program, to szybko działa Pełna kontrola nad tym co się dzieje Łatwo kontrolować skalowalność Strasznie się w tym pisze Kompilatory czasem wariują

OpenMP Procesy mają wspólną pamięć Mają też obszar pamięci prywatnej Mechanizmy synchronizacji bariery redukcje Ma postać dyrektyw dodawanych do kodu Ogólnie polega na forkowaniu procesu na czas wykonania części równoległej Także SIMD

OpenMP Bierzemy program sekwencyjny W miejscach, które chcemy wykonywać równolegle dodajemy dyrektywę typu #pragma omp parallel W dyrektywie deklarujemy, które zmienne chcemy mieć prywatne (np. akumulator), a które dzielone (np. licznik pętli) Można dodawać różne bajery, jak warunkowe zrównoleglanie

OpenMP Każdy z procesów wykonujących część równoległą dostaje unikalny numer Po zakończeniu zrównoleglonego kawałka programu, możemy chcieć wykonać redukcję, czyli np. jakąś zmienną ze wszystkich procesów Możemy używać barier, żeby szybsze procesy czekały na wolniejsze

OpenMP Wolniejsze niż dobrze napisane MPI Automatycznie zarządzana komunikacja i synchronizacja Łatwiejsze w użyciu niż MPI Podobno dobrze się skaluje (podobno) IMHO jeszcze nie dopracowane jakieś problemy z zagnieżdżeniami itp. Kompilator też czasami potrafi robić dziwne rzeczy

Na zakończenie HPC to jeszcze dziki zachód na początku kolonizacji właściwie nic nie jest zrobione dostatecznie dobrze ciągle pojawiają się nowe problemy jak NUMA automatyzacja czegokolwiek kuleje różne firmy i rządowe instytucje bardzo chętnie wpuszczają w to pieniądze:) bardzo brakuje ludzi

Dziękuję za uwagę