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



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

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

Algorytmy i Struktury Danych

PRZEWODNIK PO PRZEDMIOCIE

Obliczenia Wysokiej Wydajności

Kierunek: Informatyka rev rev jrn Niestacjonarny 1 / 5

Pytania z przedmiotów kierunkowych

Kierunek: Informatyka rev rev jrn Stacjonarny 1 / 6

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

Szczegółowy harmonogram rzeczowy realizacji prac systemu B2B

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

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

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

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.

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Systemy i sieci komputerowe, SSK studia niestacjonarne Dla rocznika:

ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów AUTOR: ADAM KOLIŃSKI ZARZĄDZANIE PROJEKTAMI I PROCESAMI. Mapowanie procesów

T2A_W01 T2A_W01 T2A_W02 3 SI_W03 Posiada szeroką wiedzę w zakresie teorii grafów T2A_W01

Rok akademicki: 2013/2014 Kod: STC s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok I, semestr I (zimowy) Liczba godzin

Projektowanie oprogramowania

E-I2S-2001-s1. Informatyka II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

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

Moc płynąca z kart graficznych

Rok akademicki: 2014/2015 Kod: EAR IS-s Punkty ECTS: 4. Kierunek: Automatyka i Robotyka Specjalność: Informatyka w sterowaniu i zarządzaniu

Architektura mikroprocesorów TEO 2009/2010

Szczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Projektowanie rozwiązań Big Data z wykorzystaniem Apache Hadoop & Family

Historia modeli programowania

Języki programowania imperatywnego

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Systemy internetowe, SI studia niestacjonarne Dla rocznika:

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

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2019/2020.

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Systemy internetowe, SI studia stacjonarne Dla rocznika: 2018/2019

STUDIA I MONOGRAFIE NR

Numeryczna algebra liniowa

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Instytut Nauk Technicznych, PWSZ w Nysie Kierunek: Informatyka Specjalność: Gry komputerowe i multimedia, GKiM studia niestacjonarne Dla rocznika:

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Obliczenia Wysokiej Wydajności

Programowanie obiektowe

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2016/17. zajęć w grupach A K L S P

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

Grafy i sieci w informatyce - opis przedmiotu

Virtual Grid Resource Management System with Virtualization Technology

Projektowanie oprogramowania

PROGRAMOWALNE STEROWNIKI LOGICZNE

Technologie informacyjne - wykład 12 -

Rok I, semestr I (zimowy) Liczba godzin

Rok I, semestr I (zimowy) Liczba godzin

Projektowanie logiki aplikacji

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH (W UKŁADZIE ROCZNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

PUKP Programowanie urządzeń kontrolno-pomiarowych. ztc.wel.wat.edu.pl

Informatyka- studia I-go stopnia

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

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

Architektura komputerów II - opis przedmiotu

I rok. semestr 1 semestr 2 15 tyg. 15 tyg. Razem ECTS. laborat. semin. ECTS. konwer. wykł. I rok. w tym. Razem ECTS. laborat. semin. ECTS. konwer.

Systemy rozproszone System rozproszony

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

INFORMATYKA PLAN STUDIÓW NIESTACJONARNYCH. Podstawy programowania Systemy operacyjne

SYLABUS/KARTA PRZEDMIOTU

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH 1-go STOPNIA (W UKŁADZIE SEMESTRALNYM) STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM A K L S P

PRZEWODNIK PO PRZEDMIOCIE

INFORMATYKA. PLAN STUDIÓW NIESTACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

Hadoop i Spark. Mariusz Rafało

Internet przedmiotów - opis przedmiotu

SR - kolos 1 opracowanie

Wstęp do programowania Laboratorium - wytyczne

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

PRZEWODNIK PO PRZEDMIOCIE

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. studia pierwszego stopnia

Modelowanie i Programowanie Obiektowe

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Systemy Informatyki Przemysłowej

Zaawansowane narzędzia programowania rozproszonego

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

Liczba godzin w semestrze II r o k. Nazwa modułu. PLAN STUDIÓW (poziom studiów) I STOPNIA studia (forma studiów) niestacjonarne

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

Liczba godzin w semestrze II r o k. Nazwa modułu. PLAN STUDIÓW (poziom studiów) I STOPNIA studia (forma studiów) stacjonarne

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Lista zagadnień kierunkowych pomocniczych w przygotowaniu do egzaminu dyplomowego magisterskiego Kierunek: Mechatronika

Zagadnienia egzaminacyjne AUTOMATYKA I ROBOTYKA. Stacjonarne I-go stopnia TYP STUDIÓW STOPIEŃ STUDIÓW SPECJALNOŚĆ

Szkolenie: Testowanie wydajności (Performance Testing)

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

PRZEWODNIK PO PRZEDMIOCIE

STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe

Rok akademicki: 2015/2016 Kod: IIN s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Programowanie współbieżne i rozproszone

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Wykład Ćwiczenia Laboratorium Projekt Seminarium

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

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

Motywacja wyboru Programowanie rozproszone równoległość (wymuszona) Oprogramowanie równoległe/rozproszone: Aplikacje biznesowe Obliczenia naukowe, inżynierskie (HPC) Telekomunikacyjne Pospolita równoległość: wątki Platformy komunikacyjne: CORBA, DCOM,.NET remoting, Java RMI.

Plan Wykładu 1 Podstawowe pojęcia i zagadnienia przetwarzania równoległego. Przegląd rozwiązań. Wątki użycie, rozwiązania synchronizacja Technologie wywołań zdalnych przegląd

Plan Wykładu 2 Model COM Interfejsy, IDL Rodzaje serwerów, automatyzacja, przepakowywanie, wątki Wywołania zwrotne, eventy DCOM CORBA Specyfikacja, model usług, elementy składowe Przykładowe rozwiązania

Plan Wykładu 3 Model aplikacji warstwowej COM+, transakcje Programowanie równoległe i rozproszone z użyciem Javy (Java RMI, )

Plan Wykładu 4.NET remoting Omówienie platformy Kanały, formattery Modele aktywacji, wywołania zwrotne Mosty (IIOP,.NET,COM) Klastry obliczeniowe MOSIX MPI Modelowanie procesów współbieżnych Sieci Petriego Uwaga: Zakres materiału może ulec zmianie, istnieje duża szansa że zagadnienia z tej strony nie zostaną zrealizowane

Sposób prezentacji Materiał będzie ilustrowany w oparciu o rozwiązania pod platformę Windows lub platform independent Windows PI Wątki, COM, CORBA,.NET Visual Studio: C++ i C# Java, CORBA

Warunki zaliczenia Zaliczenie ćwiczeń Otrzymanie zaliczenia od prowadzącego ćwiczenia w ustalonym terminie Wykład Egzamin testowy Ocena średnia z ćwiczeń i wyniku egzaminu

Podstawowy przetwarzania równoległego

Równoległość Obliczenia (computing) zadania wykonywane z pomocą komputeraz dla osiągnięcia zamierzonego celu Obliczenia równoległe (Parallel computing) - szybsze rozwiązywanie jednego zadania dzięki użyciu wielu jednostek obliczeniowych(procesorów) Obliczenia współbieżne są wykonywane przez wiele jednoczesnych ścieżek wykonania. (zarówno na komputerze równoległym jak i klasycznym ). Głównym zagadnieniem jest rozwiązywanie konfliktów dostępu do zasobów Definicje pojęć równoległości i współbieżności mogą silnie zależeć od definiującego

Rozproszenie Obliczenia rozproszone (Distributed computing) używają wielu (2+) niezależnych, ale połączonych, jednostek, które współpracują i współdzielą zasoby w celu rozwiązania zadania

Powód Wydajność całkowita: oszczędność czasu rzeczywistego imożliwość rozwiązania większych problemów Stosunek ceny do wydajności: dużo tanich zamiast jednego drogiego Kwestie technologiczne: np. niemożliwość umieszczenia dostatecznej liczby zasobów w jednym komputerze, istniejąca platforma wymaga równoległości Samoistnie równoległe/rozproszone aplikacje: sama istota działania aplikacji wymaga rozproszenia i równoległości Współdzielenie zasobów Dostępność: zapewnienie nieprzerwanego dostepu do usług Rozbudowa istniejącego systemu Bywa korzystne marketingowo

Równoległość danych Rodzaj równoległości implikowany przez strukturę danych. Identyczna operacja jest wykonywana jednocześnie na wszystkich elementach. Dane to na ogół wektory i macierze. Ten rodzaj równoległości często pozwala na dużą równoległość obliczeń. Może być wykorzystana przez architekturę danych równoległych (Data Parallel-architecture) Może zostać przekształcona w równoległość funkcjonalną

Równoległość funkcjonalna Wynika z logiki rozwiązania problemu. Można ją zobaczyć diagramach przepływu sterowania, danych, samych algorytmach. W odróżnieniu od równoległości danych tutaj wykonujemy różne operacje. Dane przepływają do procesów w których są potrzebne. Jest ograniczona przez wzajemne powiązania operacji. Jej schemat jest często nieregularny Poziomy równoległości funkcjonalnej (dostępnej nie mówimy tutaj jeszcze o samym wykonaniu a o elementach programu) Poziom instrukcji Poziom pętli, rekurencje Poziom procedur Poziom programu

Równoległość potokowa (pipeline) Jeżeli diagram przepływu danych jest może zostać zredukowany do prostego grafu skierowanego (najlepiej ścieżki skierowanej) wtedy obliczenia możemy podzielić na kolejne poziomy (stages). Każdy poziom może być wykonywany równolegle. Jeżeli założymy podobny czas wykonania wszystkich kroków to po wypełnieniu potoku danymi osiągamy multiplikatywny wzrost szybkości.