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

Podobne dokumenty
Systemy rozproszone. Wstęp. Krzysztof Banaś Systemy rozproszone 1

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.

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

Systemy rozproszone System rozproszony

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

Wprowadzenie. Dariusz Wawrzyniak 1

Nowe aplikacje i usługi w środowisku Grid

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Bazy danych 2. Wykład 1

Czujniki obiektowe Sterowniki przemysłowe

Systemy GIS Systemy baz danych

Middleware wprowadzenie października 2010

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

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Systemy Rozproszone. Zagadnienia do egzaminu.

SIECI KOMPUTEROWE. Podstawowe wiadomości

Sieciowe Systemy Operacyjne

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

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

Architektura i mechanizmy systemu

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

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Spis treści. O autorach... 12

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

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

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

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

Wybrane działy Informatyki Stosowanej

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

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

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Systemy operacyjne. wykład 1- System operacyjny i jego zadania. dr Marcin Ziółkowski

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

Wprowadzenie do systemów rozproszonych

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

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

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

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

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

Zintegrowany System Informatyczny (ZSI)

Beskid Cafe. Hufcowa Kawiarenka Internetowa

Przetwarzanie Rozproszone i Równoległe

Czas w systemach rozproszonych. Krzysztof Banaś Systemy rozproszone 1

16. Taksonomia Flynn'a.

Architektura komputerów

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Tworzenie aplikacji bazodanowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

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

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

Wybrane działy Informatyki Stosowanej

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

Zaawansowane narzędzia programowania rozproszonego

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Systemy Informatyki Przemysłowej

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

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

Galileo - encyklopedia internetowa Plan testów

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

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

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

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Architektura komputerów

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

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

Rozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury

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

Numeryczna algebra liniowa

PRZEWODNIK PO PRZEDMIOCIE

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

Informatyka. informatyka i nauki komputerowe (computer science)

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

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. Klastry serwerów

Rozproszone i obiektowe systemy baz danych. Wykład 4. Wymagania projektowe systemów rozproszonych

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Systemy rozproszonych baz danych 1

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

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Wykład I. Wprowadzenie do baz danych

Historia modeli programowania

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Rozproszone systemy plików wprowadzenie. Autor: Łukasz Polak

Szczegółowy opis przedmiotu zamówienia:

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum

1. Etapy rozwoju systemów komputerowych

Internet kwantowy. (z krótkim wstępem do informatyki kwantowej) Jarosław Miszczak. Instytut Informatyki Teoretycznej i Stosowanej PAN

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

INFORMATYKA Pytania ogólne na egzamin dyplomowy

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

Virtual Grid Resource Management System with Virtualization Technology

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

1. Sieć komputerowa - grupa komputerów lub innych urządzeń połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów.

Transkrypt:

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

Historia i pojęcia wstępne Przetwarzanie współbieżne realizacja wielu programów (procesów) w taki sposób, że ich trwanie od momentu rozpoczęcia do momentu zakończenia może się na siebie nakładać współbieżność pojawiła się wraz z wielozadaniowymi systemami operacyjnymi (lata 60 te, Multics 1965) i nie wymusza równoległości współbieżność związana jest z szeregiem problemów teoretycznych wynikłych z prób realizacji wielozadaniowych systemów operacyjnych istnieje wiele mechanizmów niskiego poziomu (systemowych) do rozwiązywania problemów współbieżności 2

Historia i pojęcia wstępne Obliczenia równoległe: dwa lub więcej procesów (lub wątków) jednocześnie współpracuje (komunikując się wzajemnie) w celu rozwiązania pojedynczego zadania (najczęściej z określonej dziedziny zastosowań) rozwój związany z powstaniem w latach siedemdziesiątych komputerów równoległych problemy obliczeń równoległych (poza klasycznymi zagadnieniami współbieżności) są najczęściej związane z konkretną dziedziną zastosowań obliczenia równoległe były silnie związane z dziedziną obliczeń wysokiej wydajności (i obliczeniami naukowo technicznymi) dziś, w czasach procesorów wielordzeniowych, programowanie równoległe jest koniecznością 3

Po co obliczenia równoległe? Lepsze wykorzystanie dostępnego sprzętu 4

Po co obliczenia równoległe? Zwiększenie maksymalnej mocy obliczeniowej 5

6

Historia i pojęcia wstępne Przetwarzanie rozproszone realizacja programów na systemach (najczęściej odrębnych komputerach) połączonych siecią, z zasobami lokalnymi rozwój związany z popularyzacją sieci komputerowych i Internetu w latach osiemdziesiątych i dziewięćdziesiątych XX wieku problem wspólnego korzystania z rozproszonych zasobów luźniejsze powiązanie współpracujących procesów niż w przypadku obliczeń równoległych (niekonieczna synchronizacja czasowa, zastępowana przez przyczynowo skutkową) wykorzystanie infrastruktury sieciowej (protokoły, bezpieczeństwo) 7

Systemy rozproszone Możliwa definicja: Co najmniej dwa zasoby, z których co najmniej jeden jest komputerem, połączone siecią, komunikujące się ze sobą i realizujące usługi jako całościowy system Uwagi: zasoby są względnie autonomiczne (posiadają własne systemy operacyjne, mogą funkcjonować także niezależnie od rozważanego systemu rozproszonego) wrażenie całościowego systemu ma istnieć po stronie użytkownika, dla którego fakt rozproszenia zasobów powinien pozostać w jak największym stopniu niewidzialny komunikacja odbywa się przez przesyłanie wiadomości działanie elementów systemu jest współbieżne 8

Systemy rozproszone Systemy rozproszone muszą posiadać specyficzne oprogramowanie (poza oprogramowaniem systemowym zasobów i oprogramowaniem sieci łączącej) gwarantujące osiągnięcie podstawowego celu: realizacji usług jako całościowy system Czym jest Internet, czy jest systemem rozproszonym? Przykłady systemów rozproszonych rozproszony system plików rozproszona baza danych system obsługi bankomatów systemy urządzeń mobilnych system GIS systemy gridowe 9

Sieć lokalna jednolity dostęp do każdej stacji roboczej pojedynczy system plików przeźroczystość realizacji niektórych usług 10

Sieć obsługi bankomatów konieczność zagwarantowania bezpieczeństwa i niezawodności transakcji spójność danych odporność na uszkodzenia 11

System informacji geograficznej 12

Wzorcowe środowisko gridowe Grid Information Service Grid Resource Broker R2 R3 R5 Application database R4 RN Grid Resource Broker R6 R1 Resource Broker Grid Information Service 13

Zalety systemów rozproszonych Oferowanie usług niedostępnych w systemach lokalnych Zwiększenie stopnia wykorzystania sprzętu Wydajność możliwa wysoka wydajność bezwzględna bardzo często dobry stosunek wydajności do ceny Niezawodność Zwiększenie możliwości użytkowników systemów informatycznych Polepszenie jakości oferowanych usług systemy rozproszone mogą tolerować uszkodzenia pojedynczych elementów Możliwość stopniowego wzrostu 14

Problematyka systemów rozproszonych Współdzielenie zasobów (z założenia współbieżne) Rozproszenie zasobów konieczność niezawodnej komunikacji, często o dużym zasięgu Niejednorodność sprzętowych (komputery, sieci, rozmaite urządzenia) programowych (systemy operacyjne, programy w różnych językach) danych (w rozmaitych formatach, na nośnikach różnych typów) konieczność wprowadzania warstw pośrednich ujednolicających interfejsy różnych systemów operacyjnych Skalowalność możliwość ekonomicznego wzrostu systemu i liczby użytkowników efektywność w sytuacji wzrastającej liczby zasobów i klientów 15

Problematyka systemów rozproszonych Niezawodność działania Otwartość dostępność nieprzerwane dostarczanie usług mimo uszkodzeń (konieczność replikacji i nadmiarowości) wykrywanie usterek i ich tolerowanie zdolność do rozszerzania o nowe usługi, zasoby pomocne oparcie na standardach i publicznych interfejsach przydatne odpowiednie oprogramowanie warstwy pośredniej (middleware) Bezpieczeństwo ochrona dostępu do przechowywanych i przesyłanych danych ochrona przed szkodliwymi działaniami 16

Problematyka systemów rozproszonych Przezroczystość jednolity obraz systemu z punktu widzenia użytkownika przezroczystość: dostępu taki sam z każdego miejsca lokalizacji zasobów migracji zasobów replikacji danych współbieżności współużytkowania systemu uszkodzeń wydajności wydajność niezależna od obciążenia 17

Architektury systemów rozproszonych Architektura określa strukturę systemu sposób powiązania jego elementów Cechy systemu rozproszonego istotnie zależą od zastosowanej architektury Elementami systemu są zasoby (sprzętowe, programowe i danych), sposobami łączenia są mechanizmy (sprzętowe i programowe) wymiany komunikatów pomiędzy elementami Konkretna, często bardzo złożona architektura systemu, może być zgodna z jedną z typowych architektur modelowych (lub być kombinacją takich architektur) 18

Modelowe architektury systemów rozproszonych Modelowe architektury dotyczą układu komponentów systemu, przy czym najczęściej komponent jest rozumiany jako proces Najbardziej typowymi architekturami systemów rozproszonych są: architektura klient-serwer architektura trójwarstwowa i wielowarstwowa architektura równy-z-równym (peer-to-peer, p2p) Określenie klient, serwer, peer odnosi sie do roli jaką dany komponent oprogramowania odgrywa w systemie Na bazie pojęć klient, serwer, peer można opisywać funkcjonowanie bardziej złożonych architektur 19

Funkcjonowanie systemów rozproszonych Można wyróżnić dwa podstawowe sposoby funkcjonowania systemów rozproszonych: synchroniczne i asynchroniczne Systemy synchroniczne to takie, dla których lokalny pomiar czasu może odbiegać od rzeczywistego w określonym, ograniczonym zakresie określono górne i dolne ograniczenia czasowe na: wykonanie pojedynczego kroku przetwarzania przesłanie pojedynczego komunikatu Systemy nie posiadające ograniczeń czasowych dla powyższych operacji i odstępstw lokalnego pomiaru czasu są systemami asynchronicznymi 20

Niezawodność systemów rozproszonych Niezawodność systemów rozproszonych można określać w kategoriach dostępności (availability) świadczonych przez nie usług (wyrażanej w procentach czasu) W celu zagwarantowania dostępności usług system powinien móc świadczyć dalej usługi w przypadku usterki (awarii elementów jednego z omawianych wcześniej typów) efektywność świadczenia usług może ulec zmniejszeniu nie może dojść do utraty lub niespójności danych zasoby krytyczne (także zasoby danych), których awaria powodowałaby awarie całego systemu, powinny być powielane i móc być zastępowane lub rekonstruowane Konieczność zarządzania powielanymi zasobami zwiększa złożoność i zmniejsza wydajność systemu 21

Typy awarii w systemach rozproszonych Rozróżnia się kilka typów awarii w systemach rozproszonych awarie pominięcia (omission failures) pewne działania nie są realizowane awarie serwerów załamania systemów (crash failures), serwer przestaje działać i nie wznawia więcej działania awarie komunikacyjne niedostarczenie komunikatu awarie odmierzania czasu przekraczanie limitów czasowych (time-out), stosowane w systemach synchronicznych awarie dowolne (bizantyńskie, arbitrary (byzantine) failures) działania mogą nie być realizowane, mogą być błędnie realizowane, mogą pojawiać się nieplanowane działania, może dochodzić do przekraczania limitów czasowych 22

Wydajność systemów rozproszonych Wydajność pojedynczych zasobów Wydajność łączy komunikacyjnych Skalowalność Równoważenie obciążenia Wpływ mechanizmów bezpieczeństwa i niezawodności na wydajność 23

Motywacja Rozwój sprzętu komputerowego: procesory wielordzeniowe komputery wieloprocesorowe klastry sieci Rozwój systemów komputerowych: symetryczna wieloprocesorowość rozproszone systemy operacyjne rozproszone systemy plików programy usługowe warstwy pośredniej (middleware) 24

Motywacja Rozwój programów użytkowych architektura klient serwer programy peer to peer programy równoległe programy gridowe Korzyści z przetwarzania równoległego i rozproszonego zwiększenie stopnia wykorzystania sprzętu zwiększenie wydajności programów zwiększenie niezawodności systemów 25

Cel zajęć Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów równoległych i rozproszonych Przedstawienie sprzętu wykorzystywanego do obliczeń równoległych i rozproszonych Nauczenie sposobów tworzenia i implementacji programów równoległych i rozproszonych Zapoznanie z technikami analizy programów równoległych Przedstawienie wybranych dziedzin zastosowań przetwarzania równoległego i rozproszonego oraz występujących tam algorytmów 26