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



Podobne dokumenty
16. Taksonomia Flynn'a.

Architektura komputerów

Obliczenia Wysokiej Wydajności

Architektura Komputerów

3.Przeglądarchitektur

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

3.Przeglądarchitektur

Algorytmy i Struktury Danych

Architektura mikroprocesorów TEO 2009/2010

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc

Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.

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

Architektura von Neumanna

21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine

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

dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

Systemy wieloprocesorowe i wielokomputerowe

Nowoczesne technologie przetwarzania informacji

Wstęp. Przetwarzanie współbieżne, równoległe i rozproszone

dr inż. Jarosław Forenc

Obliczenia Wysokiej Wydajności

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

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

Budowa Mikrokomputera

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

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

O superkomputerach. Marek Grabowski

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.

Programowanie Rozproszone i Równoległe

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

dr inż. Jarosław Forenc

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

GRIDY OBLICZENIOWE. Piotr Majkowski

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

dr inż. Jarosław Forenc

Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona

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

Analiza ilościowa w przetwarzaniu równoległym

Klasyfikacja systemów komputerowych. Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż. Jarosław Forenc

Architektura komputerów

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Architektura von Neumanna. Jak zbudowany jest współczesny komputer? Schemat architektury typowego PC-ta. Architektura PC wersja techniczna

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

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

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Systemy wieloprocesorowe i wielokomputerowe

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16

Wstęp. Przetwarzanie równoległe. Krzysztof Banaś Obliczenia równoległe 1

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

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Mikroprocesory rodziny INTEL 80x86

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

Architektura komputerów

System mikroprocesorowy i peryferia. Dariusz Chaberski

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

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

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

Systemy rozproszone. Państwowa Wyższa Szkoła Zawodowa w Chełmie. ** Instytut Fizyki Uniwersytet Marii Curie-Skłodowskiej w Lublinie

Programowanie współbieżne i rozproszone

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

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

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

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

Dostęp do europejskich systemów obliczeniowych Tier-0 w ramach PRACE

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

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

Projektowanie. Projektowanie mikroprocesorów

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

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Budowa komputera Komputer computer computare

Systemy operacyjne III

Podstawy programowania obliczeń równoległych

Architektura komputerów

SSE (Streaming SIMD Extensions)

Programowanie procesorów graficznych GPGPU

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

Przetwarzanie Równoległe i Rozproszone

Welcome to the waitless world. Inteligentna infrastruktura systemów Power S812LC i S822LC

Wrocławskie Centrum Sieciowo-Superkomputerowe

HPC na biurku. Wojciech De bski

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Programowanie Równoległe i Rozproszone

Projektowanie nowoczesnych mieszadeł elektromagnetycznych dla pieców łukowych z wykorzystaniem HPC. Mirosław Kupczyk (PCSS) Poznań

ARCHITEKTURA PROCESORA,

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

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

Zarządzanie rozproszoną siatką obliczeniową w równoległych symulacjach adaptacyjną metodą elementów skończonych

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

i3: internet - infrastruktury - innowacje

Transkrypt:

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

Po co komputery równoległe? Przyspieszanie obliczeń np. diagnostyka medyczna; aplikacje czasu rzeczywistego Przetwarzanie większej liczby danych

Przykład: prognoza pogody Założenia: Siatka obliczeniowa: 700 km x 700 km x 15 km Komórki sześcienne o krawędzi 100 m 6 liczb na komórkę 100 operacji na komórkę na jednostkę czasu Krok symulacji: 2 minuty Prędkość procesora: 4 Gflops Cel symulacji: prognoza 4-dniowa

Przykład: prognoza pogody Wynik: Czas obliczeń: 6 dni Zapotrzebowanie na dane: 350 GB W rzeczywistych warunkach potrzebne by było minimum 3,5 TB

Przykład: prognoza pogody Jaki komputer zakończy symulacje w pół godziny? 1 Tflops (10 12 operacji na sekundę) Dane nie mogłyby być odległe od procesora dalej niż 0,12 mm W technologii planarnej bajt musiałby być kodowany na obszarze mniejszym od atomu

Dlaczego komputery równoległe? 10 lat temu w ciągu 5 lat procesory przyspieszały 10 razy Obecnie wydajność pojedynczego (rdzenia) praktycznie się już nie zmienia; główny postęp spowodowany jest zwiększeniem wielkości i szybkości buforów podręcznych (cache); za to szybko rośnie liczba dostępnych rdzeni The free lunch is over! (Herb Sutter, Dr. Dobb's Journal, 30(3), March 2005)

The free lunch is over

Zastosowania Prognoza pogody dla Europy; świata Globalne zmiany klimatyczne Dynamika płynów, zwłaszcza turbulencje Google search Dane astronomiczne CERN Technologie nuklearne (moratorium na wybuchy) Biologia, chemia, fizyka obliczeniowa, nowe materiały Projektowanie układów scalonych Etc.

The third pillar of science obserwacja symulacje numeryczne eksperyment teoria

Definicje Komputer równoległy Komputer składający się z wielu procesorów Multikomputer SMP (symmetrical multiprocessor) Wiele komputerów połączonych siecią Procesory mają dostęp do wspólnej pamięci

Programowanie równoległe Programowanie w języku, który w sposób jawny pozwala wskazać, w jaki sposób różne fragmenty programu mogą się wykonywać jednocześnie na różnych procesorach Nie istnieją metody efektywnego, automatycznego zrównoleglania kodu szeregowego...

Obliczenia równoległe Obliczenia wykonywane na komputerach równoległych :-) Obliczenia współbieżne (ang. concurrent) Obliczenia, w których pewne obliczenia zaczynają się, zanim inne się skończą. Mogą być wykonywane na 1 procesorze Obliczenia rozproszone (ang. distributed) Obliczenia w systemach bez globalnej przestrzeni adresowej

Obliczenia równoległe Obliczenia wykonywane na komputerach równoległych :-) Obliczenia współbieżne (ang. concurrent) Obliczenia, w których pewne obliczenia zaczynają się, zanim inne się skończą. Mogą być wykonywane na 1 procesorze Obliczenia rozproszone (ang. distributed) Obliczenia w systemach bez globalnej przestrzeni adresowej

Historia 1943: ENIAC 350 flops 1976: Cray-1 100 Mflops 1981: Cosmic Cube 5-10 Mflops, 64 Intel 8086 1994: Beowolf, klastry linuksowe 1 Gflops / 50000$ 1997: ASCI Red 1 Tflops, 9000 x Intel Pentium II 2012: Sequoia 16 Pflops 1 572 864 rdzeni 7.8 MW 1.6 PB 1572864 (peta bajtów) Linux Cel na 2020: 1 Eflops (exaflop/s) / 20 MW

Rodzaje równoległości DLP (data level parallelism) równolegość na poziomie danych TLP (task level paralleism, functional parallelism) równoległość na poziomie zadań Pipelining przetwarzanie potokowe ILP (instruction level parallelism) równoległość na poziomie instrukcji (na poziomie procesora)

Ziarnistość Równoległość gruboziarnista (Coarse-grained parallelism) Na poziomie funkcji Równoległość drobnoziarnista (Fine-grained parallelism) Na poziomie pojedynczych instrukcji

Paradygmaty programowania równoległego Zrównoleglający kompilator Fortran OpenMP Rozszerzenie istniejącego sekwencyjnego języka programowania MPI, pthreads, CUDA Dodanie warstwy zrównoleglającej zadania szeregowe Stworzenie specjalnego języka programowania równoległego Occam, Fortran 90, C*

Paradygmaty programowania równoległego Nie ma jednego paradygmatu Sposób programowania zależy od sprzętu lub innych czynników, np. zgodności z istniejącym oprogramowaniem

Bariery Suddenly, even simple tasks, programmed by experienced programmers who were dedicated to the idea of making parallel programming a practical reality, seemd to lead inevitably to upsetting, unpredictable, and totally mystifying bugs

Bariery The behavior of even quite short parallel programs can be astonishingly complex. The fact that a program functions correctly once, or even one hundred times, with some particular set of inputs, is no guarantee it will not fail tomorrow with the same inputs

Architektury równoległe Komputery połączone w sieci Macierze procesorów Multiprocesory Multikomputery

Komputery połączone w sieci Sposób komunikacji: Łącze współdzielone Przełączniki

Komputery połączone w sieci Przełączniki (switches): są szybsze gwarantują lepsze skalowanie umożliwiają jednoczesną komunikację między wieloma węzłami lub w obu kierunkach zwykle łączą ze sobą tylko kilka z setek/tysięcy komputerów topologia sieci!

Parametry sieci Średnica Szerokość bisekcji Liczba połączeń na węzeł Długość łącza (stała lub nie) Liczba przełączników

Główne rodzaje topologii sieci: Siatka 2D Drzewo binarne Hypertree network Sieć typu motyl (butterfly) Sieć typu shufle and exchange

Macierze procesorów Do zadań równoległych na poziomie danych Danych musi być dużo Ograniczone pole zastosowań Tylko 1 instrukcja na raz! (drastyczny spadek wydajności w instrukcjach warunkowych)

Multiprocesory Są to komputery z wieloma jednostkami centralnymi przyłączonymi do tej samej pamięci, tzw. pamięci współdzielonej (shared memory) Powszechne na rynku (procesory Intel, AMD) UMA = Uniform Memory Acces SMP Symmetric multiprocessor Bufory pamięci podręcznej (cache) <-> pamięć główna Cache coherence problem Synchronizacja procesorów Mutex Bariera

Multiprocesory NUMA NUMA Nonuniform Memory Access Multiprocesory typu NUMA dzielą spólną przestrzeń adresową, ale dostęp do różnych jej obszarów może wymagać innego czasu ccnuma Cache Ceherent Nonuniform Memory Access

Multikomputery Klastry komputerów połączonych siecią, każdy komputer ma osobną przestrzeń adresową. Symetryczne Asymetryczne

Taksonomia Flynna SISD kalkulatory? SIMD np. processor arrays MISD np. W cyfrowej obróbce obrazów MIMD niemal wszystkie współczesne komputery