Przetwarzanie Rozproszone i Równoległe



Podobne dokumenty
Algorytmy i Struktury Danych

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

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

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

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

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

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

Systemy rozproszone System rozproszony

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

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

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.

Czujniki obiektowe Sterowniki przemysłowe

Numeryczna algebra liniowa

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

4. Procesy pojęcia podstawowe

Analiza ilościowa w przetwarzaniu równoległym

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

Historia modeli programowania

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

4. Procesy pojęcia podstawowe

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

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

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

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

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

Skalowalna Platforma dla eksperymentów dużej skali typu Data Farming z wykorzystaniem środowisk organizacyjnie rozproszonych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

Wprowadzenie. Dariusz Wawrzyniak 1

ROZWIĄZANIA KOMUNIKACYJNE CISCO IP KLASY SMB: PODSTAWA WSPÓLNEGO DZIAŁANIA

Programowanie Rozproszone i Równoległe

Sieciowe Systemy Operacyjne

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

Architektura komputerów

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

Nowoczesne technologie przetwarzania informacji

Analiza efektywności przetwarzania współbieżnego

Modelowanie procesów współbieżnych

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

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Systemy Rozproszone. Zagadnienia do egzaminu.

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

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

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)

5. Model komunikujących się procesów, komunikaty

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Wykład I. Administrowanie szkolną siecią komputerową. dr Artur Bartoszewski

Przetwarzanie i zabezpieczenie danych w zewnętrznym DATA CENTER

Co to jest system wbudowany?

Architektura komputerów

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Pamięci masowe. ATA (Advanced Technology Attachments)

Dane bezpieczne w chmurze

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Problemy rozwoju Internetu kwantowego

Architektura korporacyjna jako narzędzie koordynacji wdrażania przetwarzania w chmurze

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

Katedra Systemów Elektroniki Morskiej. Specjalność Systemy elektroniki morskiej

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

Technologie Informacyjne

Architektura mikroprocesorów TEO 2009/2010

Middleware wprowadzenie października 2010

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

16. Taksonomia Flynn'a.

Podstawa rozwiązań sterowania przemysłowego na komputerach PC. Software Controller. siemens.pl/software-controller

ZAŁĄCZNIK NR 2.14 do zapytania ofertowego SCENARIUSZE TESTOWE

Plan studiów dla kierunku:

Nazwa przedmiotu. 1 Matematyka. 2 Fizyka. 3 Informatyka. 4 Rysunek techniczny. 12 Język angielski. 14 Podstawy elektroniki. 15 Architektura komputerów

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

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

Pojęcie bazy danych. Funkcje i możliwości.

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Wprowadzenie do systemów operacyjnych

Programowanie Systemów Wbudowanych. Specjalność uzupełniająca Systemy wbudowane

Architektura i mechanizmy systemu

PRZEWODNIK PO PRZEDMIOCIE

Sieci komputerowe. Jerzy Skurczyński Instytut Matematyki Uniwersytetu Gdańskiego Gdańsk, 2002 r.

Stacja robocza TYP1A Zał. 8.1, pkt. 1.1) 2. Monitor LCD 21.3 Zał. 8.1, pkt. 1.1) 2. Zasilacz awaryjny UPS Zał. 8.1, pkt. 1.1) 2

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

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.

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

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Liczba godzin w semestrze Ogółem Semestr 1 Semestr 2 Semestr 3 E Z Sh W C L S P W C L S P ECTS W C L S P ECTS W C L S P ECTS W C L S P ECTS

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

POLITECHNIKA LUBELSKA Wydział Elektrotechniki Kierunek: INFORMATYKA II stopień stacjonarne i Informatyki PROGRAM STUDIÓW

1. Etapy rozwoju systemów komputerowych

Architektura komputerów

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

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

5 Moduył do wyboru II *[zobacz opis poniżej] 4 Projektowanie i konfiguracja sieci komputerowych Z

Architektura komputerów

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

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

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Modele sprzedaży i dystrybucji oprogramowania Teoria a praktyka SaaS vs. BOX. Bartosz Marciniak. Actuality Sp. z o.o.

Transkrypt:

WYDZIAŁ INŻYNIERII ELEKTRYCZNEJ I KOMPUTEROWEJ KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH Przetwarzanie Rozproszone i Równoległe www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Wykład 1: Wprowadzenie do PRIR Co to jest PRIR? Tradycyjne obszary przetwarzania równoległego i rozproszonego Porównanie systemów równoległych i rozproszonych Konwergencja systemów RiR Argumenty za rozwojem systemów RiR Charakterystyka systemów RiR Modele i paradygmaty Wnioski

Co to jest PRIR? Pojęcie przetwarzania RiR obejmuje homogeniczne bądź heterogeniczne systemy wieloprocesorowe zbudowane w celu : połączenia (zdalnych) zasobów w jedną całość prowadzenia obliczeń o dużej skali (np. symulacji) przyspieszenia krytycznych obliczeń (systemy obronne, loty kosmiczne, prognozy) przetwarzania dużej liczby rozproszonych danych rozwiązania trudnych problemów optymalizacji (przeszukiwania dużych przestrzeni rozwiązań)

Tradycyjne obszary przetwarzania równoległego równoległość = skrócenie czasu obliczeń 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 rynek zbytu konsekwencja - upadek wielu doskonałych firm perspektywa - klastry jako nowa platforma

Tradycyjne obszary przetwarzania rozproszonego system rozproszony jako zbiór autonomicznych połączonych ze sobą komputerów współpracujących ze sobą i dzielących zasoby zastosowania komercyjne - od małych systemów klient-serwer poprzez sieci obejmujące całą jednostkę organizacyjną do Internetu różne stopnie powiązania systemów organiczny rozwój od LAN do WAN

Tradycyjne obszary przetwarzania rozproszonego problemy podstawowe - brak wspólnego zegara, możliwość błędów transmisji wspólny dostęp do dzielonych zasobów implikuje możliwość interferencji programów użytkowników heterogeniczność systemów rozproszonych implikuje konieczność współpracy komponentów różniących się na poziomie sprzętu, systemów operacyjnych, języków itp. stale rosnące znaczenie bezpieczeństwa

Porównanie systemów równoległych i rozproszonych podobieństwa - wiele procesorów, obecność sieci komunikacyjnej, równoczesność i współpraca wielu procesów obliczeniowych system równoległy dzieli zadanie obliczeniowe na podzadania wykonywane w tym samym czasie system rozproszony dzieli zadanie obliczeniowe na podzadania wykonywane w różnych miejscach przy użyciu różnych zasobów

Systemy równoległe - podsumowanie 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ą

Systemy rozproszone - podsumowanie obliczenie wykorzystuje wiele zasobów (takich jak procesory, pamięci, dyski, bazy danych) umieszczonych w odległych fizycznie miejscach system rozproszony wykonuje w danym czasie wiele aplikacji, które mogą należeć do wielu użytkowników Systemy rozproszone są często heterogeniczne, otwarte (hardware i software od różnych dostawców) i dynamiczne (struktura systemu jest zmienna w czasie) użytkownik widzi system jak jedną maszynę brak pamięci dzielonej (przynajmniej sprzętowej)

Konwergencja systemów od połowy lat 90. następuje szybka konwergencja systemów równoległych i rozproszonych stosowane są te same architektury - szybkie technologie sieciowe umożliwiają budowę klastrów dla systemów równoległych; maszyny równoległe są stosowane jako serwery w systemach rozproszonych zagadnienia równoległości i rozproszenia są często powiązane i dlatego są badane łącznie istnieją wspólne instytucje badawcze i wspólne spotkania/konferencje obszarem badań jest suma obu obszarów

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 (szybkie) - 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ą w jednym celu)

Argumenty za rozwojem systemów RiR rosnące zapotrzebowanie na moc obliczeniową - modelowanie klimatu/pogody, symulacje astrofizyczne, 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 sieci

Argumenty za rozwojem systemów RiR czas dostępu do pamięci w procesorze sekwencyjnym jest wąskim gardłem - ubocznym skutkiem dużej liczby procesorów jest wzrost pojemności pamięci głównej i cache, ponadto są przetwarzane bliżej miejsca gdzie są generowane, co ogranicza używanie pamięci systemowej są aplikacje inherentnie równoległe/rozproszone (modelowanie systemów rzeczywistych, systemy informacyjne firm itp.) dzielenie zasobów - w systemach rozproszonych użytkownicy dzielą zasoby sprzętowe i software (np. bazy danych, programy), mogą dzielić takie zasoby specjalizowane jak superkomputery

Argumenty za rozwojem systemów RiR osiagalność - systemy RiR posiadają wiele zasobów tego samego rodzaju, w przypadku awarii czy obsługi jeden komponent może zastąpić drugi - wymaga to odpowiedniego projektu systemu; osiągalność ma znaczenie w wielu zastosowaniach komercyjnych (bazy danych) systemy RiR są skalowalne, można dodawać procesory i inne komponenty do zakupionego/ zbudowanego systemu moc obliczeniowa wielu systemów rozproszonych jest marnowana poza godzinami pracy firmy, można udostępnić innym użytkownikom/aplikacjom współbieżna praca programów sekwencyjnych

Charakterystyka systemów RiR miary jakości prawa Amdahl a prawo Gustafsona-Barsis a : instancje problemów przetwarzane w systemach równoległych są zwykle większe niż w systemach sekwencyjnych - stąd wpływ części sekwencyjnej jest mniejszy w systemach klient-serwer - czas odpowiedzi (czas od zgłoszenia zadania do otrzymania wyniku) przepustowość - zdolność systemu do obsługi dużych obciążeń (miara - l. zadań / j. czasu) jakość serwisu (QoS) - gwarantowana liczba wymaganych zasobów (video-on-demand)

Charakterystyka systemów RiR Optymalizacja wydajności - obciążalność, komunikacja (minimalizacja czasu transmisji pomiędzy dwoma punktami, maksymalizacja przepustowości w stanie stabilnym)

Charakterystyka systemów RiR Techniki minimalizacji czasu transmisji : redukcja (np. nadmiarowości protokołu) optymalizacja lokalności w dostępie do pamięci(cache, pamieć lokalna, pamięć zdalna) replikacja danych i obliczeń (praca z wieloma kopiami danych, lokalne powtarzanie obliczeń) ukrycie czasu transmisji (prefetching - dostęp do zdalnych danych z wyprzedzeniem, multithreading - przełączanie sterowania pomiędzy zadaniami)

Charakterystyka systemów RiR kompromis w optymalizacji wydajności : obciążalność <-> optymalizacja lokalności optymalizacja krytycznych sekcji programu za pomocą narzędzi profilowania i wizualizacji oszacowanie wydajności na wczesnym etapie projektowania oprogramowania

Charakterystyka systemów RiR Czynniki złożoności projektowania programu granulacja (rozmiar zadań) - mała, średnia, gruba szeregowanie zadań (w czasie i przestrzeni) dystrybucja danych pomiędzy procesory koordynacja (zarządzanie komunikacją i synchronizacją) poprawność ( zjawisko wyścigu - różne wyniki przy tych samych danych wejściowych) blokada (deadlock) - procesy obl. wzajemnie oczekują na siebie, a program zatrzymuje się

Charakterystyka systemów RiR problemy trudne obliczeniowo mapowanie grafu problemu na graf architektury systemu przy kryterium minimalizacji pewnej funkcji jakości (dla wielu istotnych z punktu widzenia praktyki funkcji jakości problem mapowania jest NP-trudny i nieaproksymowalny) języki programowania nowe lub rozszerzenia istniejących

Charakterystyka systemów RiR transparentność (dla użytkownika) lokalizacji współbieżności (dzielenia zasobów z innymi użytkownikami) błędów (transmisji, czasowej nieosiągalności pewnego procesora) równoległości systemu (w przyszłości) Uwaga: automatyczna transparentność może być wadą, gdy użytkownik chce skorzystać z określonego zasobu

Charakterystyka systemów RiR przenośność kodu i wydajności (program jest przenośny, gdy działa w wielu architekturach, również tych, które pojawią się w przyszłości) przenośność kodu (te same wyniki w różnych architekturach) zapewniają stabilne standardy przenośność wydajności (wydajność programu mierzona miarami jakości odzwierciedla potencjał właściwy dla danej architektury systemu)

Charakterystyka systemów RiR skalowalność system jest skalowalny jeżeli jego zasoby mogą być rozbudowane/wymienione tak aby uzyskać wiekszą moc obliczeniową) poziom sprzętu (procesory + komunikacja, skalowalność architektury) poziom systemu operacyjnego (nowa wersja) poziom oprogramowania (więcej procesorów/ mocniejsza maszyna, wzrost rozmiaru danych) skalowalność może oznaczać wzrost wydajności skalowalność nie idzie w parze z centralizacją

Charakterystyka systemów RiR heterogeniczność (system jest zbudowany z różnorodnego sprzętu i oprogramowania - możliwość kombinowania specjalizowanych komponentów) heterogeniczność a przenośność systemy rozproszone są często heterogeniczne programy równoległe są często pisane na maszyny homogeniczne klastry powodują wzrost znaczenia heterogeniczności

Charakterystyka systemów RiR interoperacyjność zdolność do współpracy komponentów systemu pochodzacych od różnych producentów w tym części programów napisanych w różnych językach) - systemy otwarte niezawodność software u (dependability) i sprzętu (reliability) (kontynuacja pracy w obecności błędów, maksymalizacja osiągalności czyli części czasu pracy, w której system jest użyteczny) unikanie/detekcja/naprawa błędów

Charakterystyka systemów RiR techniki naprawy : nadmiarowość (redundancja), checkpointing przywracanie stanu programu zachowanego okresowo w wyznaczonych punktach) bezpieczeństwo (safety ) - zapobieganie błędom katastrofalnym odporność na ataki (security) - istotna zwłaszcza w systemach rozproszonych, gdzie wielu użytkowników ma dostęp w wielu punktach systemu

Charakterystyka systemów RiR systemy ogólnego przeznaczenia systemy specjalizowane (czasu rzeczywistego, DSP, przetwarzania informacji, przetwarzania pewnych wąskich klas problemów) - w innych zastosowaniach wykazują brak użyteczności lub ograniczoną (nieoptymalną) funkcjonalność/ wydajność

Modele i paradygmaty model ( uproszczony lub wyidealizowany opis systemu) - łatwość operowania zbiorem najważniejszych własności, stabilność w czasie modele rzadko odpowiadają sobie 1:1 paradygmat - model opisujący typowe struktury/wzory programów aplikacyjnych (modele programistyczne systemu a API -(application programming interface), modele abstrakcyjne stosowane w projektowaniu algorytmów)

Literatura Leopold C. : Parallel and distributed computing. A survey of models, paradigms, and approaches, John Wiley & Sons, Inc., 2001

Modele i paradygmaty