Algorytmy dla maszyny PRAM

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.

16. Taksonomia Flynn'a.

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

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

Podstawy Informatyki Systemy sterowane przepływem argumentów

Przetwarzanie potokowe pipelining

Wprowadzenie do złożoności obliczeniowej

Zarządzanie pamięcią operacyjną

Architektura mikroprocesorów TEO 2009/2010

Budowa Mikrokomputera

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

Nowoczesne technologie przetwarzania informacji

Analiza ilościowa w przetwarzaniu równoległym

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Metody optymalizacji soft-procesorów NIOS

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

dr inż. Jarosław Forenc

Architektura komputerów

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Stronicowanie w systemie pamięci wirtualnej

21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine

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

Problemy rozwoju Internetu kwantowego

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

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

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

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

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Projektowanie. Projektowanie mikroprocesorów

Architektura komputerów

Budowa komputera Komputer computer computare

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Mikroprocesory rodziny INTEL 80x86

3.Przeglądarchitektur

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

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

Algorytmy i Struktury Danych

Technologie informacyjne (2) Zdzisław Szyjewski

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

Zarządzanie pamięcią operacyjną

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

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

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Budowa systemów komputerowych

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

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

Programowanie procesorów graficznych GPGPU. Krzysztof Banaś Obliczenia równoległe 1

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

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych

Programowanie równoległe

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

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

ANALIZA EFEKTYWNOŚCI MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ

PSO Rój cząsteczek - Particle Swarm Optimization. Michał Szopiak

Przykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:

Obliczenia równoległe

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

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

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

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

Architektura Systemów Komputerowych. Bezpośredni dostęp do pamięci Realizacja zależności czasowych

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

Programowanie współbieżne Wstęp do obliczeń równoległych. Rafał Skinderowicz

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

Informatyka. Michał Rad

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Architektura komputera

PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

Magistrala systemowa (System Bus)

Redis, skrypty w języku Lua

Procesory. Schemat budowy procesora

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

3.Przeglądarchitektur

Projektowanie i analiza algorytmów

Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak

Architektura i administracja systemów operacyjnych

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Opracował: Jan Front

UKŁADY MIKROPROGRAMOWALNE

PR sprzęt (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: jesień 2016

EFEKTYWNOŚĆ MNOŻENIA MACIERZY W SYSTEMACH Z PAMIĘCIĄ WSPÓŁDZIELONĄ

Budowa komputera. Lubię to! - podręcznik

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Algorytmy Równoległe i Rozproszone Część IV - Model PRAM

Piotr Majkowski. Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji

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

PRZEWODNIK PO PRZEDMIOCIE

Maszyna Turinga języki

Budowa i zasada działania komputera. dr Artur Bartoszewski

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

Architektura komputerów

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Organizacja typowego mikroprocesora

Transkrypt:

Instytut Informatyki 21 listopada 2015

PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań teoretycznych przyjmuje się, że zbiór procesorów oraz zasoby pamięci są potencjalnie nieskończone, jednak w skończonych obliczeniach wykorzystuje się jedynie skończony ich podzbiór.

Cechy maszyny: 1 Wszystkie procesory są taktowane jednym zegarem systemowym. PRAM może być maszyną typu SIMD2 a lub MIMD3 b, przy czym standardowe algorytmy są projektowane na pierwszy z wymienionych typów. Oznacza to, że w danej chwili wszystkie procesory wykonują dokładnie taki sam program operując na różnych danych lub pozostają w stanie oczekiwania. W implementacjach sprzętowych to założenie zazwyczaj jest realizowane programowo, ponieważ nie można zapewnić synchronizacji lepszej niż na poziomie pojedynczego rozkazu procesora. a ang. Single Instruction, Multiple Data b ang. Multiple Instruction, Multiple Data

Cechy maszyny: 2 Każdy procesor jest identyfikowany przez swój numer, zwany także indeksem. Jest on unikatowy w skali danej maszyny. Jest on także dostępny dla kodu programu (najczęściej jako stała) i na jego podstawie zazwyczaj określa się zakres prac przewidzianych dla danego procesora. 3 Każdy procesor posiada własną pamięć podręczną o dostępie swobodnym.

Cechy maszyny: 4 Wszystkie procesory mogą komunikować się bezpośrednio z globalną pamięcią dzieloną dostępną dla wszystkich jednostek. W zależności od potrzeb zapewnia się przy tym możliwość jednoczesnego dostępu do tej samej komórki pamięci (przy zapisie wprowadza się strategie określające, które dane zostaną w takiej sytuacji zapisane) lub np. zabrania jednoczesnego odczytu i/lub zapisu przez kilka procesorów (maszyny typu EREW, CREW, CRCW ).

Podstawowe oznaczenia: 1 EREW algorytmy z wyłącznym odczytem i wyłącznym zapisem, 2 CREW algorytmy z jednoczesnym odczytem i wyłącznym zapisem, 3 ERCW algorytmy z wyłącznym odczytem i jednoczesnym zapisem, 4 CRCW algorytmy z jednoczesnym odczytem i jednoczesnym zapisem.

Zalety: 1 Istnieje wiele technik i metod pozwalających rozwiązywać problemy pochodzące z różnych klas algorytmów. 2 Nie ma potrzeby zajmowania się problemami synchronizacji i komunikacji. Pozwala to na skoncentrowanie się na istotnych elementach algorytmu. 3 W prosty sposób można ocenić efektywność danego algorytmu.

Przykłady Algorymtów Równoległych: W przypadku dostępu CRCW dla PRAM można założyć, że procesory, które wpisują jednocześnie do tej samej komórki pamięci, to wpisują tą samą wartość. Na przykład jeśli output=0, to wówczas następujący algorytm obliczy logiczną alternatywę w czasie stałym na maszynie CRCW PRAM: for each 1 i n do in parallel if A[i]=1 then output =1;

Przykłady Algorymtów Równoległych: Innym przykładem dla dostępu typu CREW jest liczenie kolejnych wierszy trójkąta Pascala. Początkowo zakłada się, iż A=[0;0;0;0;0;1]: A[i]:=A[i]+A[i+1]; for each 1 i 5 do in parallel A[i]:=A[i]+A[i+1]; 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 2 1 0 0 1 3 3 1 0 1 4 6 4 1 1 5 10 10 5 1

Przykłady Algorymtów Równoległych: Następujący algorytm oblicza pierwszą pozycję najmniejszego elementu w tablicy C[1...n] w czasie O(1). for each 1 i n do in parallel M[i]:=0; for each 1 i, j n do in parallel if i!= j and C[i] C[j] then M[i]:=1; for each 1 i n do in parallel if M[i]=0 then output:=i; Algorytm korzysta z O(n 2 ) procesorów.

Algorytm List-Rank

Algorytm List-Rank

Algorytm Fast-Max

Koniec Dziękuję za uwagę :)