Wprowadzenie System rozproszony jest kolekcją niezależnych, autonomicznych komputerów, które dla użytkownika prezentują się jak jeden komputer. Można wyróżnic.

Slides:



Advertisements
Podobne prezentacje
Przykład liczbowy Rozpatrzmy dwuwymiarową zmienną losową (X,Y), gdzie X jest liczbą osób w rodzinie, a Y liczbą izb w mieszkaniu. Niech f.r.p. tej zmiennej.
Advertisements

I część 1.
Funkcje tworzące są wygodnym narzędziem przy badaniu zmiennych losowych o wartościach całkowitych nieujemnych. Funkcje tworzące pierwszy raz badał de.
Joanna Sawicka Wydział Nauk Ekonomicznych, Uniwersytet Warszawski
Wykład Zależność pomiędzy energią potencjalną a potencjałem
Reinhard Kulessa1 Wykład Środek masy Zderzenia w układzie środka masy Sprężyste zderzenie centralne cząstek poruszających się c.d.
Podstawowe pojęcia programowania współbieżnego
Zadania jednorodne 5.A.Modele przetwarzania równoległego
Rachunek prawdopodobieństwa 2
Wykład 06 Metody Analizy Programów System Hoare
Złożoność obliczeniowa
Materiały pochodzą z Platformy Edukacyjnej Portalu
Amdahl’s Law ©WK2003.
ZŁOŻONOŚĆ OBLICZENIOWA
Budowa komputera Wstęp do informatyki Wykład 15
Od algebry Boole’a do komputera
ZŁOŻONOŚĆ ALGORYTMÓW RÓWNOLEGŁYCH
LITERATURA M.Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WN-T, 1996 I.Foster, Designing and Building parallel programs, Cocepts and.
Rozwiązywanie układów
Magistrala & mostki PN/PD
Test 1 Poligrafia,
Elementy Rachunku Prawdopodobieństwa c.d.
ZNAKI LICZEBNIKÓW GŁÓWNYCH
Wzory ułatwiające obliczenia
ZARZĄDZANIE PROCESAMI
Zapis informacji Dr Anna Kwiatkowska.
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Komputery macierzowe.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Wyrażenia algebraiczne
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Problem kodowania stanów w układach sekwencyjnych (automatach)
Cyfrowe układy logiczne
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
MECHANIKA 2 Wykład Nr 11 Praca, moc, energia.
Topologie sieci lokalnych.
POLA FIGUR PŁASKICH.
ZASADY PODZIAŁU SIECI NA PODSIECI, OBLICZANIA ADRESÓW PODSIECI,
Układy cyfrowe.
Budowa i rodzaje procesorów.
Minimalizacja funkcji boolowskich
Minimalizacja funkcji boolowskich
Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Programy różne w C++
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
PROCESORY (C) Wiesław Sornat.
1. ŁATWOŚĆ ZADANIA (umiejętności) 2. ŁATWOŚĆ ZESTAWU ZADAŃ (ARKUSZA)
Liczby całkowite dodatnie BCN
  Prof.. dr hab.. Janusz A. Dobrowolski Instytut Systemów Elektronicznych, Politechnika Warszawska.
Ile rozwiązań może mieć układ równań?
Stało- i zmiennopozycyjna reprezentacja liczb binarnych
Logistyka Transport.
Opracowanie ćwiczeń dotyczących zapewniania niezawodności baz danych na przykładzie Oracle Opiekun : dr inż. Agnieszka Landowska Dyplomant : Tomasz Krzyżanowski.
EcoCondens Kompakt BBK 7-22 E.
Reprezentacja liczb w systemie binarnym ułamki i liczby ujemne
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Procesor – charakterystyka elementów systemu. Parametry procesora.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Bramki logiczne i układy kombinatoryczne
WYKŁAD 3 Temat: Arytmetyka binarna 1. Arytmetyka binarna 1.1. Nadmiar
Działania w systemie binarnym
Procesor, pamięć, przerwania, WE/WY, …
NIM gra Beata Maciejewska Monika Mackiewicz.
Elementy geometryczne i relacje
Algorytmy równoległe Algorytm równoległy pozwala na wykonywanie w danej chwili więcej niż jednej operacji. EREW - wyłączny odczyt i wyłączny zapis; CREW.
Rodzaje systemów operacyjnych
Zapis prezentacji:

Wprowadzenie System rozproszony jest kolekcją niezależnych, autonomicznych komputerów, które dla użytkownika prezentują się jak jeden komputer. Można wyróżnic dwa aspekty tej definicji: sprzętowy – komputery są autonomiczne użytkownika – dla użytkownika system sprawia wrażenie jakby pracował na jednym komputerze.  

Klasyfikacja Architektur Równoległych ze względu na mechanizm sterowania - SIMD - MIMD ze względu na organizacje przestrzeni adresowej - architektura message-passing - architektura ze współdzielona pamięcią - UMA - NUMA Ze względu na charakter sieci połączeniowej - statyczne - dynamiczne ze względu ziarnistość procesora - coarse-grain - medium-grain - fine-grain

Architektura ze współdzieloną pamięcią Sieć połączeniowa Sieć połączeniowa P M M P P M M M P P M UMA NUMA

Typowa architektura message-passing Sieć Połączeniowa P M ............. P - Procesor M - Pamięć

Dynamiczne sieci połączeniowe System z przełącznicą krzyżową Architektura szynowa Wielostanowa sieć połączeń

System z przełącznicą krzyżową Pp-1 M0 M1 M2 M3 Element przełączający P4

Architektura Szynowa Pamięć Główna Szyna Procesor Procesor Procesor

Wielostanowa sieć połączeń Banki Pamięci Stan 1 Stan 2 Stan n 1 p-1 b-1 Procesory

Koszt & Wydajność Wydajność Liczba procesorów przełącznica wielostanowa szyna Koszt

Sieć Omega Przełączenie proste Przełączenie krzyżowe 000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111

Sieć typu Mesh – krata (2D, 3D, z zapętleniami) Sieci Statyczne Sieć pełna Sieć typu gwiazda Sieć typu magistrala Sieć typu Ring Sieć typu Mesh – krata (2D, 3D, z zapętleniami) Sieć typu Hypercube (Hiperkostka)

Dwu-wymiarowa siec typu Mesh Dwu wymiarowa sieć Mesh z zapętleniami Sieci Statyczne Sieć typu gwiazda Siec pełna Sieć typu magistrala Sieć typu ring Dwu-wymiarowa siec typu Mesh Dwu wymiarowa sieć Mesh z zapętleniami

Trzy wymiarowa sieć typu Mesh (krata) Sieć typu drzewo binarne Sieci Statyczne Trzy wymiarowa sieć typu Mesh (krata) Procesor Element przełączający Sieć typu drzewo binarne

Sieć Hypercube (hiperkostka) 000 001 011 100 101 110 111 00 10 010 1 01 11 0-D hypercube 1-D hypercube 2-D hypercube 3-D hypercube 0100 1100 0110 1110 0000 0010 1000 1010 0101 0111 1101 1111 0001 0011 1001 1011 4-D hypercube

Miary Wydajności Czas wykonania równoległego (Tpar) jest czasem pomiędzy momentem rozpoczęcia obliczeń do momentu gdy ostatni procesor zakończy obliczenia Przyspieszenie (S) jest definiowane jako stosunek czasu niezbędnego do rozwiązania problemu z wykorzystaniem jednego procesora (Tseq) do czasu potrzebnego do rozwiązania tego samego problemu z wykorzystaniem systemu równoległego o "p" procesorach (Tpar) względne - Tseq jest czasem wykonania algorytmu równoległego na jednym z procesorów systemu wieloprocesorowego rzeczywiste - Tseq jest czasem wykonania „najlepszego” algorytmu sekwencyjnego na jednym z procesorów systemu równoległego bezwględne - Tseq jest czasem wykonania „najlepszego” algorytmu sekwencyjnego na „najlepszym” komputerze sekwencyjnym

Miary Wydajności Efektywność programu równoległego (E) jest definiowana jako stosunek przyśpieszenia do liczby procesorów Koszt jest zwykle definiowany jako iloczyn równoległego czasu przetwarzania i liczby procesorów. Skalowalność systemu równoległego jest miarą jego zdolności do zwiększenia przyśpieszenia proporcjonalnie do liczby procesorów.

Amdahl’s Law – software approach Kiedy wykonujemy program równoległy możemy wyróżnić dwie części: część sekwencyjną (Pseq), która musi się wykonywać tylko na jednym procesorze oraz część równoległą (1-Pseq), która jest wykonywana niezależnie na wielu procesorach. Załóżmy, że jeśli wykonujemy ten program na jednym procesorze czas jego wykonania wynosi t1 (czas wykonania sekwencyjnego). Niech p oznacza liczbę procesorów użytych podczas równoległego wykonania programu, wtedy jego czas wykonania równoległego wyraża się wzorem: Stąd przyspieszenie wyraża się wzorem

Gustafson Speedup Załóżmy, że czas wykonania programu równoległego z uzyciem p procesorów wyraża się wzorem Pseq + Ppar = 1, gdzie Pseq oznacza sekwencyjną część programu, a Ppar równoległą. Czas wykonania sekwencyjnego (z użyciem jednego procesora) wynosi Pseq + p*Ppar Stąd otrzymujemy następująca formułę na przyspieszenie

Skalowalność Systemów Równoległych Rozważmy problem dodawania n liczb z wykorzystaniem architektury Hypercube W pierwszym kroku każdy z procesorów dodaje lokalnie n/p liczb, w kolejnych krokach połowa z wyliczonych sum częściowych jest przesyłana do sąsiednich procesorów i następnie wykonywana jest operacja dodawania. Procedura się kończy gdy jeden wyróżniony procesor wyliczy sumę końcową (p oznacza liczbę procesorów) Załóżmy, że czasy dodania dwóch liczb oraz komunikacji pomiędzy sąsiednimi procesorami są równe i wynoszą jedną umowną jednostkę czasu. Stąd dodanie n/p liczb na każdym z procesorów wynosi n/p - 1 Podobnie „p” sum częściowych jest dodawanych w log2p krokach (jedno dodawanie i jedno przesłanie)

Skalowalność Systemów Równoległych Stąd łączny czas przetwarzania równoległego może być aproksymowany przez: Ponieważ czas wykonania sekwencyjnego można aproksymować przez n wzory na przyspieszenie i efektywność są następujące: Powyższe równania mogą być użyte do wyliczenia przyspieszenia i efektywności dla każdej pary n i p.

Skalowalność Systemów Równoległych zależność liniowa n = 512 n = 320 n = 192 n = 64 S p Przyśpieszenie w funkcji liczby procesorów

Skalowalność Systemów Równoległych Efektywność jako funkcja n i p n p = 1 p = 4 p = 8 p = 16 p = 32 64 1.0 0.80 0.57 0.33 0.17 192 1.0 0.92 0.80 0.60 0.38 320 1.0 0.95 0.87 0.71 0.50 512 1.0 0.97 0.91 0.80 0.62 Dla danego problemu o stałym rozmiarze, przyspieszenie nie rośnie liniowo wraz ze zwiększającą się liczba procesorów Dla stałej liczby procesorów rośnie przyspieszenie i efektywność gdy zwiększamy rozmiaru problemu.

Skalowalność Systemów Równoległych System równoległy jest skalowalny jeśli utrzymuje stałą efektywność przy jednoczesnym zwiększanie się liczby procesorów oraz rozmiaru problemu. Skalowalność systemu równoległego jest miarą jego zdolności do zwiększenia przyśpieszenia proporcjonalnie do liczby procesorów. Skalowalność odzwierciedla zdolność systemu równoległego do efektywnego wykorzystania zwiększającej się liczby procesorów.

Który z komputerów jest lepszy ? O ile ? Inne problemy Który z komputerów jest lepszy ? O ile ? Czy każdy z programów jest równie ważny ?