usmpw, WAT, IV SEM, PW, koloPW, kolos materiały

Nie obrażaj więc mojej inteligencji poprzez czynione na pokaz zaniżanie własnej.
PROGRAMOWANIE WSPÓŁBIENE
Cz
,
e
±¢ I
Dr in». Wojciech Mikanik
wojciech.mikanik@polsl.pl
pokój 503 (V p.)
Wprowadzenie
Luty 2009
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Wprowadzenie
Program przedmiotu
Wykład
I
Wiadomo±ci podstawowe
I
Specyfikowanie współbie»no±ci
I
Programowanie w modelu z pami¦ci¡ wspóln¡
I
Wła±ciwo±ci programów współbie»nych i równoległych
I
Programowanie w modelu z pami¦ci¡ rozproszon¡
I
Przykłady
1.
Program przedmiotu
2.
Literatura
3.
Informacje ró»ne
4.
Procesy sekwencyjne i współbie»ne
5.
Modele programowania współbie»nego
Laboratorium
I
Pthreads:
I
Uruchamianie w¡tków
I
Muteksy
I
Zmienne warunkowe (monitory)
I
OpenMP
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
 Literatura
Wiadomo±ci pomocnicze
1.
M. Ben-Ari:
Podstawy programowania współbie»nego i
rozproszonego
, Warszawa, WNT 1996.
2.
Z. Czech (red.):
Systemy operacyjne i j¦zyki oblicze«
równoległych
, wyd. I, Politechnika l¡ska, skrypt uczelniany
nr 2121, Gliwice 1998.
3.
Z. Weiss, T. Gru¹lewski:
Programowanie współbie»ne i
rozproszone
, Warszawa, WNT 1993.
Slajdy wykładowe:
http://sun.aei.polsl.pl/pub/wmikanik/usmpw/usmpw.html
1.
Algorytmy sekwencyjne:
I
sortowania
I
numeryczne (np. mno»enie macierzy)
I
algorytmy kombinatoryczne (np. problem komiwoja»era)
I
inne
2.
J¦zyk C oraz C++ (Programowanie Komputerów)
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Pseudokod
Proces sekwencyjny
Oznaczenia:
P
— proces
o
i
— operacja i-ta
t
(
o
i
)
— czas rozpocz¦cia operacji
o
i
t
(
o
i
)
— czas zako«czenia operacji
o
i
Dl
a
procesu sekwencyjnego zachodzi
t
(
o
i
)
t
(
o
i
+
1
)
t
(
o
i
)=
t
(
o
i
+
1
)
I
Oparty na C/C++
I
Dodane deklaracje i instrukcje, które b¦d¡ stopniowo
wprowadzane podczas wykładu
I
Krótki opis składni dost¦pny przez WWW
http://sun.aei.polsl.pl/pub/wmikanik/usmpw/usmpw.html
I
Notacja
, a nie j¦zyk programowania
I
rodek, nie cel
o
1
o
2
o
3
o
4
o
5
o
6
o
7
P
-
t
proces P jest aktywny
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
 Proces sekwencyjny
Procesy współbie»ne
Oznaczenia:
P
k
— k-ty proces
o
k
i
— i-ta operacja k-tego procesu
Sekwencja operacji procesu
P
1
:
o
1
1
;
o
1
2
;
o
1
3
;
o
1
4
;
o
1
5
;
o
1
6
Sekwencja operacji procesu
P
2
:
o
2
1
;
o
2
2
;
o
2
3
;
o
2
4
;
o
2
5
;
o
2
6
Mo»liwe sekwencje operacji współbie»nego wykonania
P
1
i
P
2
:
I
o
1
1
;
o
2
1
;
o
1
2
;
o
2
2
;
o
1
3
;
o
2
3
;
o
1
4
;
o
2
4
;
o
1
5
;
o
2
5
;
o
1
6
;
o
2
6
I
o
1
1
;
o
1
2
;
o
1
3
;
o
1
4
;
o
1
5
;
o
1
6
;
o
2
1
;
o
2
2
;
o
2
3
;
o
2
4
;
o
2
5
;
o
2
6
I
o
1
1
;
o
1
2
;
o
1
3
;
o
1
4
;
o
2
1
;
o
2
2
;
o
1
5
;
o
1
6
;
o
2
3
;
o
2
4
;
o
2
5
;
o
2
6
I
:::
t
(
o
i
)<
t
(
o
i
+
1
)
o
1
o
2
o
3
o
4
o
5
o
6
o
7
P
-
t
– – – proces P jest nieaktywny
NIC NIE WIEMY O WZGLDNEJ SZYBKOCI
WYKONANIA PROCESÓW WSPÓŁBIENYCH
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Procesy współbie»ne
Równoległo±¢ operacji procesów
Procesy współbie»ne
Przeplatanie operacji procesów
o
2
1
o
2
2
o
2
3
o
2
4
o
2
5
o
3
1
o
3
2
o
3
3
o
3
4
o
3
5
o
3
6
o
3
7
o
3
8
o
3
9
o
3
10
P
2
P
3
o
1
1
o
1
2
o
1
3
o
1
4
o
1
5
o
1
6
o
2
1
o
2
2
o
2
3
o
2
4
o
2
5
o
2
6
o
2
7
o
2
8
o
2
9
o
2
10
P
1
P
2
o
1
1
o
1
2
o
1
3
o
1
4
o
1
5
o
1
6
o
1
7
o
1
8
o
1
9
o
1
10
-
t
P
1
-
t
t
(
o
1
1
)=
t
(
o
2
1
)
NIC NIE WIEMY O WZGLDNEJ SZYBKOCI WYKONANIA
PROCESÓW WSPÓŁBIE»NYCH
t
(
o
1
1
)<
t
(
o
2
1
)<
t
(
o
1
1
)
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
 Modele programowania współbie»nego
Pami¦¢ wspólna (jedna przestrze« adresowa)
Modele programowania współbie»nego
Pami¦¢ rozproszona (wiele przestrzeni adresowych)
Sie¢ poł¡cze«
Pami¦¢ wspólna
P
0
P
1
P
n
1
. . .
. . .
M
n
1
M
0
M
1
P
0
P
1
P
n
1
Swobodny dost¦p do dowolnej komórki pami¦ci
Ka»dy proces ma swoje własne dane, do których ma wył¡czny dost¦p.
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Omawiane zagadnienia
Cz
,
e
±¢ II
1.
Instrukcje
fork
,
join
,
quit
2.
Instrukcja
cobegin
3.
Instrukcja
parfor
Specyfikowanie współbie»no±ci
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
 Instrukcje:
fork
,
join
,
quit
voidP(void){
...//instrukcje
...
...
quit;
}//P
voidM(void){
...
forkP();
...
joinP;
...
...
}//M
main(void){
M();
Instrukcje:
fork
,
join
,
quit
M
czeka na
P
fork P()
join P
fork P()
join P
M
?
?
M
?
?
P
6
quit
P
6
-
t
quit
-
t
}
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Instrukcje:
fork
,
join
,
quit
P
czeka na
M
Nazwy procesów
voidP(void){
...//instrukcje
...
...
quit;
}//P
voidM(void){
...
forkP();
forkP();
...
joinP;//nazakonczeniektoregoprocesu
... //czekamy?
}//M
main(void){
M();
fork P()
join P
M
?
?
P
6
quit
-
t
}
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
Dr in». Wojciech Mikanik
PROGRAMOWANIE WSPÓŁBIENE
 
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • alter.htw.pl
  • Powered by WordPress, © Nie obrażaj więc mojej inteligencji poprzez czynione na pokaz zaniżanie własnej.