• Nie Znaleziono Wyników

Algorytmy dla maszyny PRAM.  P13-DanielGolubiewski

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy dla maszyny PRAM.  P13-DanielGolubiewski"

Copied!
14
0
0

Pełen tekst

(1)

Algorytmy dla maszyny PRAM

Daniel Golubiewski

Instytut Informatyki

21 listopada 2015

(2)

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.

(3)

Cechy maszyny:

1 Wszystkie procesory są taktowane jednym zegarem

systemowym. PRAM może być maszyną typu SIMD2a lub MIMD3b , 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.

aang. Single Instruction, Multiple Data

bang. Multiple Instruction, Multiple Data

(4)

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.

(5)

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 ).

(6)

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.

(7)

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.

(8)

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;

(9)

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

(10)

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;

(11)

Algorytm List-Rank

(12)

Algorytm List-Rank

(13)

Algorytm Fast-Max

(14)

Koniec

Dziękuję za uwagę :)

Cytaty

Powiązane dokumenty

Podać przykład ciągu zmiennych losowych określonych na tej samej przestrzeni Ω, zbieżnego według rozkładu, który nie jest zbieżny według prawdopodobieństwa.. będą

Podać przykład ciągu zmiennych losowych określonych na tej samej przestrzeni Ω, zbieżnego według rozkładu, który nie jest zbieżny według prawdopodobieństwa.. W nocy

Poprawa odbywać będzie się na dotychczasowych zasadach (wskazanych w Harmonogramie) przy czym forma zaliczenia może ulec zmianie

Na samochód o masie 1 tony, jadący z prędkością 72 km/h w pewnej chwili zaczęła działać siła o wartości 5000 N przeciwnie do zwrotu prędkości, zmniejszając ją do 36

Udowodnić, że jeśli dla macierzy przejścia nieprzywiedlnego łańcucha Markowa istnieje j takie, że p jj > 0, to łańcuch nie jest

73. Tak więc otrzymujemy A, B, AB, BAB, ABBAB,. Czy wśród słów tego ciągu można znaleźć słowo okresowe, to znaczy słowo, które da się zapisać w postaci P P. Wszystkie

Pamięci tego typu nie są obecnie wykorzystywane, gdyż firma Intel nigdy nie dokonała implementacji tego typu pamięci do swoich układów, nastawiając się od początku na

• CAS przed RAS (ang. Sterownik DRAM wytwarza aktywny sygnał CAS, a następnie RAS. W odpowiedzi na taką sekwencję układy pamięci DRAM odświeżają wiersz wskazany przez