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.

Slides:



Advertisements
Podobne prezentacje
ALGORYTMY I STRUKTURY DANYCH
Advertisements

PRAM.
STRUKTURY DANYCH.
Schemat blokowy M START KONIEC
Zaawansowane techniki algorytmiczne
ALGORYTMY GRAFOWE.
Dynamiczne struktury danych Listy, Kolejki, Stosy
Grażyna Mirkowska PJWSTK 15 listopad 2000
Wykład 06 Metody Analizy Programów System Hoare
Algorytmy – zapis struktur programowania
Wykład 6 Najkrótsza ścieżka w grafie z jednym źródłem
Minimalne drzewa rozpinające
Programowanie I Rekurencja.
typy całkowite (całkowitoliczbowe)
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Współprogramy II W tym wykładzie pogłębimy naszą znajomość z współprogramami. Omówimy współpracę procedur rekurencyjnych i współprogramów, wprowadzimy.
pseudokody algorytmów
ZŁOŻONOŚĆ OBLICZENIOWA
Turbo pascal – instrukcje warunkowe, iteracyjne,…
TWIERDZENIA WOKÓŁ NAS A. CEDZIDŁO.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Podstawy informatyki Wirtotechnologia Grupa: 1A Wydział Inżynierii Metali i Informatyki Przemysłowej Wydział Odlewnictwa Akademia Górniczo – Hutnicza im.
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Dodawanie i odejmowanie wektorów
INFORMATYKA Wykładowca: mgr Tadeusz Ziębakowski p. 126 I piętro (naprzeciw dziekanatu)
Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem.
Algorytmy grafowe Reprezentacja w pamięci
Rzędy wielkości funkcji
Analiza kosztu zamortyzowanego
Semantyki programów współbieżnych " Determinizm programów sekwencyjnych, " Nie-determinizm programów współbieżnych, " prawdziwa równoległość vs.przeploty.
Dr Anna Kwiatkowska Instytut Informatyki
FP-Growth Adam Pieśkiewicz Kamil Niezręcki Krzysztof Grześkowiak
Schemat Hornera Mgr inż. Michał Szucki.
Algorytmy i struktury danych
Podstawy programowania II
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Instrukcje sterujące część 2
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
T Zsuwanie się bez tarcia Zsuwanie się z tarciem powrót.
Semantyczna poprawność algorytmów – dowodzenie za pomocą niezmienników
PHP: warunki, pętle, switch, break, continue
Złożone typy danych Listy Tworzenie elastycznych baz danych
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
MECHANIKA 2 Wykład Nr 10 MOMENT BEZWŁADNOŚCI.
Algorytmika Iteracje autor: Tadeusz Lachawiec.
Algorytmy i Struktury Danych
Grafika i komunikacja człowieka z komputerem
ALGORYTMY I STRUKTURY DANYCH WYKŁAD 03 cd. Wyszukiwanie Grażyna Mirkowska PJWSTK, 2003/2004.
Iteracje w C# Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
WYKŁAD 06 Programowanie dynamiczne Grażyna Mirkowska.
Algorytmy grafowe Minimalne drzewa rozpinające
Przeszukiwanie wszerz
Sortowanie: kopce Parent(i)
Pętle Zajęcia 6.
METODY REPREZENTOWANIA IFORMACJI
Zbiory dynamiczne.
ALGORYTMY I STRUKTURY DANYCH
Algorytmy. Co to jest algorytm? Przepis prowadzący do rozwiązania zadania.
Indeksy drzewiaste. ISAM ISAM - INDEXED SEQUENTIAL ACCESS METHOD Problem: –Dany jest plik uporządkowany – w jaki sposób zrealizować efektywnie zapytanie.
Listy.
Kolejka priorytetowa.
Algorytm Dijkstry Podano graf Zdefiniowano jego listę sąsiedztwa 1 2 3
Zbiory rozłączne.
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

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 - jednoczesny odczyt i wyłączny zapis; ERCW - wyłączny odczyt i jednoczesny zapis; CRCW - jednoczesny odczyt i jednoczesny zapis Oszacowywać można: czas działania algorytmu; pracę, wykonywaną przez algorytm: sumaryczny czas działania wszystkich procesorów.

Ustalanie porządku obiektów na liście Jest dana n-obiektowa lista L, chcemy dla każdego obiektu obliczyć jego odległość od końca listy. Algorytm sekwencyjny potrzebuje czasu  (n) LIST-RANK(L) 1for każdy procesor i in parallel {równolegle wykonaj} 2do if next[i] = NIL 3then d[i] := 0 4else d[i] := 1 5while istnieje obiekt i taki, że next[i]  NIL 6do for każdy procesor i in parallel 7do if next[i]  NIL 8then d[i] := d[i]+d[next[i]] 9 next[i] := next[next[i]]

Ustalanie porządku obiektów na liście / a) / b) / c) / /// / d) /////

Analiza algorytmu ustalania porządku W algorytmie jest zachowywany następujący niezmiennik: dla każdego obiektu i na początku każdej iteracji pętli while suma wartości d w podliście o początku w i jest równa odległości obiektu i od końca pierwotnej listy L. W każdej iteracji przeskoki wskaźników powodują przekształcenie każdej listy na dwie: z obiektów na pozycjach parzystych i nieparzystych. Każdy krok podwaja liczbę list i zmniejsza o połowę ich długości. Dlatego po wykonaniu lg n iteracji wszystkie listy zawierają po jednym obiekcie. Czas działania procedury wynosi  (lg n), a liczba zastosowanych procesorów wynosi  (n), więc procedura wykonuje pracę  (n lg n).

Algorytm typu CREW Niech jest dany las drzew binarnych, w którym każdy węzeł ma wskaźnik do swojego ojca, i chcemy znaleźć dla każdego węzła identyfikator korzenia drzewa, do którego ten węzeł należy. FIND-ROOTS(F) 1for każdy procesor i in parallel 2do if parent[i] = NIL 3then root[i] := i 4while istnieje węzeł i taki, że parent[i]  NIL 5do for każdy procesor i in parallel 6do if parent[i]  NIL 7then root[i] := root[parent[i]] 8 parent[i] := parent[parent[i]]

Znajdowanie korzeni w lesie drzew binarnych