Algorytmy i Struktury Danych

Podobne dokumenty
Przetwarzanie Rozproszone i Równoległe

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

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

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

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

Zadania badawcze prowadzone przez Zakład Technik Programowania:

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

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

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

PRZEWODNIK PO PRZEDMIOCIE

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

61 Topologie wirtualne

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

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

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

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

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

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

Technologie Informacyjne

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Projektowanie i Analiza Algorytmów

Nowoczesne technologie przetwarzania informacji

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

Programowanie Rozproszone i Równoległe. Edward Görlich goerlich@th.if.uj.edu.pl

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Systemy rozproszone System rozproszony

Poziom kwalifikacji: I stopnia. Liczba godzin/tydzień: 2W E, 2L PRZEWODNIK PO PRZEDMIOCIE

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

HPC na biurku. Wojciech De bski

4. Procesy pojęcia podstawowe

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

INŻYNIERIA OPROGRAMOWANIA

Obliczenia rozproszone MPI

4. Procesy pojęcia podstawowe

Programowanie w modelu równoległości danych oraz dzielonej globalnej pamięci wspólnej. Krzysztof Banaś Obliczenia równoległe 1

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

16. Taksonomia Flynn'a.

Obliczenia rozproszone MPI

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

2. Charakterystyka obliczeń współbieżnych i rozproszonych.

Architektura komputerów II - opis przedmiotu

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Bazy danych 2. Wykład 1

SYSTEMY WBUDOWANE CZASU RZECZYWISTEGO. Specjalność magisterska Katedry Systemów Elektroniki Morskiej

Numeryczna algebra liniowa

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.

Technologie informacyjne - wykład 12 -

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Metody Programowania

Architektura komputerów

SYSTEMY OPERACYJNE. kik.pcz.czest.pl/so. (C) KIK PCz Materiały pomocnicze 1 PROWADZI: PODSTAWOWA LITERATURA: ZAJĘCIA: STRONA

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Metody Programowania

Historia modeli programowania

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

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

Informatyka. informatyka i nauki komputerowe (computer science)

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

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

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

HARMONOGRAM EGZAMINÓW - rok akademicki 2015/ semestr zimowy. Kierunek ENERGETYKA - studia inżynierskie środa

Przetwarzanie Równoległe i Rozproszone

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

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

Algorytmy dla maszyny PRAM

Analiza ilościowa w przetwarzaniu równoległym

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Budowa komputera Komputer computer computare

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

Wstęp do Informatyki dla bioinformatyków

Programowanie współbieżne Wstęp do obliczeń równoległych. Rafał Skinderowicz

PRZEWODNIK PO PRZEDMIOCIE

4. Procesy pojęcia podstawowe

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

Metody optymalizacji soft-procesorów NIOS

Przetwarzanie Równoległe i Rozproszone

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Projektowanie i analiza algorytmów

Obliczenia równoległe w zagadnieniach inżynierskich. Wykład 4

Systemy Informatyki Przemysłowej

O superkomputerach. Marek Grabowski

Katedra Mikroelektroniki i Technik Informatycznych

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

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

Wstęp do programowania 2

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Obliczenia Wysokiej Wydajności

Transkrypt:

POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Wykład 12: Wstęp do obliczeń równoległych Dlaczego obliczenia równoległe? Charakterystyka systemów równoległych Pojęcia pokrewne Organizacja obliczeń równoległych Przykład obliczeń równoległych sito Eratostenesa Jak ocenić jakość obliczeń równoległych? definicje miar jakości Zależności pomiędzy miarami jakości Przykład oceny jakości systemu równoległego Bariera: inherentna sekwencyjność problemów Programowanie równoległe. Języki. Przenośność. Dalszy rozwój systemów równoległych

Dlaczego obliczenia równoległe? równoległość = skrócenie czasu obliczeń obliczenia równoległe (parallel computing) są domeną obszaru informatyki zwanego przetwarzaniem równoległym (parallel processing) budowa równoległego sprzętu o różnych architekturach od końca lat 80 główna trudność - środowiska programowania równoległego główne obszary zastosowań - obliczenia naukowe i inżynierskie bariera rozwoju - zbyt mały przez lata rynek zbytu, a w konsekwencji upadek wielu doskonałych firm perspektywa procesory wielordzeniowe (multicore processors) i klastry obliczeniowe jako nowa platforma obliczeń równoległych

Charakterystyka systemów równoległych 1

Charakterystyka systemów równoległych 2

Pojęcia pokrewne przetwarzanie współbieżne - concurrent computing (wiele ścieżek sterowania, konkurencja o zasoby) przetwarzanie wysoce równoległe - highly parallel computing (powyżej 100 lub 1000 procesorów) przetwarzanie wysoce wydajne - high-performance computing/supercomputing przetwarzanie sieciowe - networked computing (użytkownik widzi zbiór maszyn a nie jedną) przetwarzanie zdecentralizowane - decentralized computing ( brak centralnej jednostki sterującej) przetwarzanie wspólne - collaborative computing (użytkownicy ściśle współpracują ze sobą w jednym celu)

Organizacja obliczeń równoległych zadanie jest dzielone na podzadania rozwiązywane równolegle, najczęściej przez procesory ściśle ze sobą współpracujące system równoległy wykonuje w danym czasie tylko jedno zadanie i jego celem jest przyspieszenie przetwarzania tego zadania programy równoległe są zwykle wykonywane w homogenicznych architekturach, które mogą być wyposażone w pamięć dzieloną (ang. shared memory)

Przykład 1 sito Eratostenesa

Przykład 1 modele obliczeń

Przykład 1 modele obliczeń

Przykład 1 obliczenia z równoległym sterowaniem

Jakość obliczeń równoległych definicje miar jakości (1)

Jakość obliczeń równoległych definicje miar jakości (2)

Jakość obliczeń równoległych zależności pomiędzy miarami jakości

Przykład 2 równoległe dodawanie 16 liczb (operacja jednostkowa : dodawanie)

Przykład 2 równoległe dodawanie 16 liczb (operacje jednostkowe : dodawanie+ skośne przesyłanie danych )

Inherentna sekwencyjność problemów graf zależności kolejnościowych

Programowanie równoległe - zagadnienia równoległość niejawna kompilatory automatycznie zrównoleglają niezależne od siebie obliczenia na podstawie zwykłej sekwencyjnej specyfikacji oraz języków operujących na tablicach takich jak High- Performance Fortran (1992), zaprojektowany na bazie Fortran-90 równoległość jawna równoległe języki programowania zawierają instrukcje równoległe; są to rozszerzenia popularnych języków sekwencyjnych lub języki dedykowane takie jak : jezyki z równoległymi danymi (C*, pc++), języki z dzielonymi zmiennymi (Concurrent Pascal, Sequent C), języki oparte na komunikujących się procesach (Ada, Occam oraz C i Fortran z interfejsem MPI), języki oparte na programowaniu funkcjonalnym (projekty uniwersyteckie)

Przenośność programów równoległych HPF poprawna implementacja gwarantuje przenośność MPI (Message Passing Interface) środowisko z wymianą komunikatów, zapewnia: 1. komunikację pomiędzy parami procesów obliczeniowych (blokujące/nieblokujące wysyłanie/odbiór); 2. komunikację zbiorową pomiędzy procesami(nadawanie, zbieranie itp.); 3. agregację obliczeń; 4. zarządzanie grupami procesów (tworzenie i modyfikacje grup); 5. specyfikacja komunikatorów (interkomunikatory, intrakomunikatory); 6. wirtualne topologie (siatka, drzewo). PVM (Parallel Virtual Machine) platforma programistyczna umożliwiająca wykonywanie równoległych aplikacji na niezależnych od siebie, heterogenicznych komputerach o różnych konfiguracjach.

Argumenty za dalszym rozwojem systemów równoległych rosnące zapotrzebowanie na moc obliczeniową - modelowanie klimatu/pogody, symulacje astro-fizyczne, materiałoznawstwo, projektowanie nowych pojazdów - w zadaniach symulacji istnieje korelacja między dokładnością a kosztem obliczeń stosunek ceny do mocy obliczeniowej - komputery równoległe są obecnie tańsze niż komputery sekwencyjne o tej samej mocy - nie ponosi się kosztu projektu procesora i ryzyka rynkowego bariery technologiczne rozwoju procesorów sekwencyjnych w połączeniu z jakością i niskim kosztem klastrów oraz efektywnością energetyczną procesorów wielordzeniowych (!)

Literatura 1. Leopold C. : Parallel and distributed computing, Wiley-Interscience 2001. 2. Parhami B. : Introduction to parallel processing, Plenum Press 1999.