Systemy operacyjne III

Podobne dokumenty
Architektura komputerów

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.

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

Architektura mikroprocesorów TEO 2009/2010

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

Nowoczesne technologie przetwarzania informacji

16. Taksonomia Flynn'a.

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Obliczenia Wysokiej Wydajności

GRIDY OBLICZENIOWE. Piotr Majkowski

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

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Systemy rozproszone System rozproszony

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

Architektura komputerów

Obliczenia Wysokiej Wydajności

3.Przeglądarchitektur

Larrabee GPGPU. Zastosowanie, wydajność i porównanie z innymi układami

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

Programowanie współbieżne i rozproszone

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

Cyfronet w CTA. Andrzej Oziębło DKDM

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

Architektura Komputerów

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH

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

Programowanie współbieżne i rozproszone

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

3.Przeglądarchitektur

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Składowanie, archiwizacja i obliczenia modelowe dla monitorowania środowiska Morza Bałtyckiego

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

Architektura komputerów

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

Systemy operacyjne III

dr inż. Jarosław Forenc

Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.

Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

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

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

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

się także urządzenia do odzyskiwania ciepła, które przy tak dużych maszynach obliczeniowych, zajmują dużo miejsca wyjaśnił Krawentek.

Budowa Mikrokomputera

Wprowadzenie do systemów operacyjnych

Komunikacja i wymiana danych

HPC na biurku. Wojciech De bski

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

Systemy wieloprocesorowe i wielokomputerowe

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Podstawy Informatyki Systemy sterowane przepływem argumentów

Infrastruktura PLGrid dla młodych naukowców

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

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

Mechanizmy pracy równoległej. Jarosław Kuchta

Wrocławskie Centrum Sieciowo-Superkomputerowe

Infrastruktura PLGrid Nowa jakość usług informatycznych w służbie nauki

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Programowanie obiektowe

Algorytmy i Struktury Danych

Komputery równoległe. Zbigniew Koza. Wrocław, 2012

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Dokumentacja techniczna

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Infrastruktura PLGrid dla młodych polskich naukowców

Infrastruktura PLGrid (nie tylko) dla młodych naukowców

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

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

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

System operacyjny System operacyjny

Programowanie procesorów graficznych GPGPU

Wprowadzenie. Dariusz Wawrzyniak 1

Architektura komputerów

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Architektura von Neumanna

Projektowanie architektury systemu. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Infrastruktura PLGrid Nowa jakość usług informatycznych dla Polskiej Nauki

Komputery Dużej Mocy w Cyfronecie. Andrzej Oziębło Patryk Lasoń, Łukasz Flis, Marek Magryś

dr inż. Jarosław Forenc

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

Dokumentacja aplikacji Szachy online

Programowanie współbieżne i rozproszone

Programowanie procesorów graficznych NVIDIA (rdzenie CUDA) Wykład nr 1

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

Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

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

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

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

1. Wprowadzenie Opis sytuacyjny Specyfikacja techniczna... 3

Introduction to Computer Science

MESco. Testy skalowalności obliczeń mechanicznych w oparciu o licencje HPC oraz kartę GPU nvidia Tesla c2075. Stanisław Wowra

Mikroprocesory rodziny INTEL 80x86

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

76.Struktura oprogramowania rozproszonego.

CUDA część 1. platforma GPGPU w obliczeniach naukowych. Maciej Matyka

Czujniki obiektowe Sterowniki przemysłowe

Transkrypt:

Systemy operacyjne III WYKŁAD 7 Jan Kazimirski 1

Komputery równoległe 2

Wydajność komputerów Rozwój technologii wiąże się z ciągłym wzrostem wydajności komputerów Pierwsze komputery 1-100 operacji/sek. Najszybszy obecnie superkomputer Tianhe-1 (Chiny) - 2,507 PFLOPS (peta = 10 15 ) 14336 CPU XEON + 7168 NVIDIA Tesla GPU 262 terabajty pamięci operacyjnej 2 petabajty pamięci dyskowej 3

Granice wydajności komputerów Szybkość zegara Ograniczenia wynikające z teorii względności Taktowanie 10 Ghz długość ścieżki < 2cm W przypadku zegara 1 Thz komputer musi mieć wielkość nie więcej niż 100 mikrometrów. Rozpraszanie ciepła Im mniejszy komputer tym trudniej odprowadzić ciepło. 4

Współczesne superkomputery Lista rekordzistów www.top500.org Na stronie znajduje się ranking najszybszych komputerów świata. Lista aktualizowana jest 2 razy do roku. Ostatnie rekordy: 11/2010 Tianhe-1A 2566000 GFLOPS 06/2010 Jaguar 1759000 GFLOPS 06/2009 Roadrunner 1105000 GFLOPS 5

Top500 Systemy wieloprocesorowe i rozproszone dominują na liście Top500 Źródło: www.top500.org 6

Top500 c.d. Czy ktoś jeszcze uważa, że nie warto uczyć się Linuksa??? DYGRESJA 7

Wektoryzacja na poziomie procesora Klasyczny komputer architektura szeregowa Wzrost taktowania nie jest wystarczający do efektywnego wzrostu wydajności Techniki wektoryzacji na poziomie procesora potoki, jednostki superskalarne, out-of-order execution 8

Potoki Linia montażowa procesora Rozkaz podzielony na fazy (pobranie, dekodowanie, pobranie operandów, wykonanie itp.) Poszczególne podzespoły jednostki wykonawczej wykonują poszczególne fazy rozkazu. Kolejny rozkaz może być pobrany zanim skończy się wykonywanie rozkazów poprzednich Pentium4 potoki 20 fazowe. 9

Superskalarność Zwielokrotnienie liczby jednostek wykonawczych. Przykład: PowerPC 970 4 jednostki ALU 2 jednostki FPU 2 jednostki SIMD Procesor może wykonywać kilka rozkazów jednocześnie. Zwykle łączona jest z potokami. 10

Inne techniki Out-of-order execution zmiana kolejności wykonywania rozkazów w celu eliminacji zależności i lepszego wykorzystania jednostek wykonawczych Wykonywanie spekulatywne wykonywanie instrukcji za skokiem warunkowym (z wyprzedzeniem). 11

Taksonomia Flynna Klasyfikacja architektur komputerów ze względu na sposób przetwarzania: SISD Single Instruction, Single Data komputer skalarny SIMD Single Instruction, Multiple Data komputer wektorowy MISD Multiple Instruction, Single Data MIMD Multiple Instruction, Multiple Data system wieloprocesorowy, klaster 12

Model pamięci Pamięć dzielona pamięć wspólna dla wszystkich jednostek wykonawczych Pamięć rozproszona poszczególne jednostki mają osobne obszary pamięci Architektury UMA/NUMA UMA Uniform Memory Access NUMA Non-Uniform Memory Access 13

Komputery równoległe Procesory wielordzeniowe Symetryczna multiprocesorowość (SMP) System wieloprocesorowy z rozproszoną pamięcią Klastry komputerowe MPP masowa równoległość Środowiska gridowe 14

Oprogramowanie Rozproszone systemy operacyjne Ukrywanie szczegółów architektury przed użytkownikiem końcowym Aplikacje równoległe Jawne pełna kontrola programisty. Częściowo jawne pod kontrolą programisty i kompilatora Niejawne pod całkowitą kontrolą kompilatora 15

Model MPI Message Passing Interface Architektura z pamięcią rozproszoną klaster komputerów. Program zbiór niezależnych procesów Komunikacja między procesami za pomocą wymiany komunikatów Model MPI określa wygląd API biblioteki do obsługi przesyłania komunikatów 16

Elementy MPI Funkcje służące do rozpoczęcia, obsługi i zakończenia komunikacji. Funkcje przesyłające komunikaty między parami procesów Funkcje przesyłające komunikaty między grupami procesów Funkcje do tworzenia specyficznych typów danych 17

MPI przykład 1/2 #include<iostream> #include<stdio.h> #include<mpi.h> using namespace std; int main(int argc,char* argv[]) { int np,id; int slave; MPI_Status stat; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD, &id); MPI_Comm_size(MPI_COMM_WORLD, &np); 18

MPI przykład 2/2 if(id==0) { // master for(int i=1;i<np;i++) { MPI_Recv(&slave,1,MPI_INT,MPI_ANY_SOURCE, 1,MPI_COMM_WORLD,&stat); cout << slave << '\t' << stat.mpi_source << '\t' << stat.mpi_tag << endl; }; } else { // slave MPI_Send(&id,1,MPI_INT,0,1,MPI_COMM_WORLD); }; MPI_Finalize(); return 0; }; 19

Beowulf Klaster komputerowy dający dużą wydajność niewielkim kosztem Budowany ze standardowych komputerów PC połączonych siecią Ethernet Zazwyczaj pod kontrolą systemu Linuks Wykorzystuje biblioteki MPI lub PVM 20

Mosix Oparty na jądrze Linuksa Realizuje model SSI (Single System Image) użytkownik widzi klaster jako jedną maszynę Zawiera mechanizmy równoważenia obciążenia potrafi przenosić zadania pomiędzy węzłami (migracja zadań) 21

Rozproszony system plików Umożliwia połączenie przestrzeni dyskowych wielu komputerów (klaster) Dane są dostępne dla dowolnego węzła w klastrze w sposób przezroczysty Przykład: system plików Lustre (stosowany m.in. w klastrach Tianhe-1A i Jaguar 22

Technologia klient/serwer Klient komputer osobisty lub stacja robocza. Środowisko graficzne, wygodne w użyciu. Serwer wydajny system z zestawem usług dla klientów. Usługi mogą być współdzielone np. serwer bazodanowy obsługujący pracowników firmy 23

Architektura 2-warstwowa KLIENT SERWER 24

Klasy aplikacji klient serwer Przetwarzanie na głównym komputerze Przetwarzanie po stronie serwera Przetwarzanie po stronie klienta Przetwarzanie zespołowe 25

Przetwarzanie na głównym komputerze Całość lub większa część przetwarzania odbywa się na głównym komputerze Klient jest tylko terminalem Przykład praca zdalna na komputerze mainframe. 26

Przetwarzanie po stronie serwera Serwer odpowiada za przetwarzanie danych Klient odpowiada za prezentację uzyskanych danych. Obciążenie przypada w większości na serwer. Klient w zasadzie udostępnia tylko interfejs graficzny Architektura tzw. cienkiego klienta 27

Przetwarzanie po stronie klienta Przetwarzanie danych po stronie klienta Serwer zawiera tylko podstawowe procedury obsługi i weryfikacji danych Obciążenie przypada w większości na klienta Architektura tzw. grubego klienta 28

Przetwarzanie zespołowe Przetwarzanie danych rozkładane jest pomiędzy serwer i klienta w celu optymalizacji obciążenia Rozwiązanie najtrudniejsze do realizacji ale zapewniające największą elastyczność i wydajność. 29

Architektura 3-warstwowa SERWER (BACKEND) KLIENT SERWER POŚRED NICZĄCY SERWER (BACKEND) 30

Zdalne wywoływanie procedur (RPC) Komunikacja programów na różnych komputerach za pomocą wywoływania procedur w sposób zdalny Prosta składnia. Przejrzystość. Wywołanie niewiele różni się od wywołania lokalnego Przejrzyste, przenośne interfejsy. 31

Powiązanie klienta i serwera Powiązanie nietrwałe połączenie zestawiane tylko na czas wykonania procedury. Powiązanie trwałe zestawiane raz i podtrzymywane. Może być wykorzystane ponownie do wywoływania tej samej lub innych zdalnych procedur. 32

Synchroniczne i asynchroniczne RPC Synchroniczne RPC po wywołaniu procedury klient czeka na rezultat. Asynchroniczne RPC nie blokuje klienta. Klient i serwer mogą niezależnie realizować zadania. 33

Mechanizmy zorientowane obiektowo Obiekty na zdalnych komputerach komunikują się poprzez wymianę komunikatów. Klient wysyła żądanie do obiektu brokera (katalog dostępnych usług) Broker wywołuje odpowiedni obiekt i przekazuje mu dane. Odpowiedź zdalnego obiektu zwracana jest klientowi. 34

Mechanizmy zorientowane obiektowo c.d. COM Component Object Model (Microsoft) CORBA Common Object Request Broker Architecture (IBM, Apple, Sun) DCOP Desktop Communication Protocol (stosowany w KDE) SOAP Simple Object Access Protocol (standard W3C korzysta z XML i zwykle protokołu HTTP). 35

Grid System integrujący dużą liczbę urządzeń znajdujących się w różnych lokalizacjach (często odległych) Obejmuje komputery, infrastrukturę sieciową, nośniki danych oraz różnorodne sensory. Widziany jako wirtualny superkomputer (przezroczysty dostęp do rozproszonych zasobów). Otwarte standardy łączenie różnorodnych technologii. Architektura oparta o usługi. 36

SETI@home Jeden z pierwszych nieoficjalnych gridów Uruchomiony w 1999 roku w celu poszukiwania śladów obcych cywilizacji w kosmosie Ogólnie dostępny program klienta (Windows, Linux, Mac OS). Porcje danych wysyłane z serwera i przetwarzane przez klienta (screensaver) 37

SETI@home c.d. Liczba uczestników projektu (w całym okresie trwania) to ponad 5 mln. Projekt jest posiadaczem rekordu Guinnessa za największe obliczenia w historii. W 2009 roku moc obliczeniowa projektu wynosiła ponad 769 TFLOPS (RoadRunner 1105 TFLOPS) 38

World Community Grid Oryginalny projekt SETI@home obejmował tylko jedno zagadnienie WCG jest publicznym środowiskiem gridowym służącym do różnorodnych obliczeń. Statystyki: ponad 500 tys. użytkowników ponad 1.5 mln komputerów całkowity czas pracy ponad 400 tys. lat 39

World Community Grid c.d. Aktywne projekty: Computing for Clean Water The Clean Energy Project Help Cure Muscular Dystrophy Help Fight Childhood Cancer Help Conquer Cancer Human Proteome Folding FightAIDS@Home 40

EGI European Grid Initiative (EGI) europejskie środowisko gridowe Status na 2010 r. 10000 użytkowników prawie 250 000 procesorów (rdzeni) 40 petabajtów przestrzeni dyskowej 317 węzłów w 52 krajach 41

PL-Grid Polskie środowisko gridowe Uczestnicy Cyfronet AGH (Kraków) ICM (Warszawa) Poznańskie Centrum Superkomputerowe Akademickie Centrum Komputerowe, Gdańsk Wrocławskie Centrum Superkomputerowe 42

PL-Grid c.d. Planowane zasoby (koniec 2011) moc obliczeniowa 215 TFLOPS przestrzeń dyskowa 2500 TB Obszary zastosowań biologia chemia kwantowa fizyka symulacje numeryczne... 43