• Nie Znaleziono Wyników

Szeregowanie zadań wieloprocesorowych z ograniczeniami zasobowymi

N/A
N/A
Protected

Academic year: 2022

Share "Szeregowanie zadań wieloprocesorowych z ograniczeniami zasobowymi"

Copied!
8
0
0

Pełen tekst

(1)

'¿¿s z y t y n a u k o,’.b p o l i t e c h n i k i ś l ą s k i e j__________________________________ 19B6

Seria: AUTOMATYKA z. 84 Nr kol. 894

Jacek Błażewicz^ ..ileczysław Drabowski+ , Jan Węglarz*

'Politechnika Poznańska +Zakłedy WERA,Kraków

SZEREGOWANIE ZADAŃ WIELOPROClSORCATCK Z OGRANICZENIA!.! ZASCBC.YYt!

Streszczenie. W pracy przeanalizowano problem szeregowania zadań wieloprocesorowych,to znaczy żądających więcej niż jednego procesora do swego w y k onania,przy ograniczeniach ze strony dodatkowych zasobów. Roz­

patrzono minimalizację długości uszeregowania dla przypadku zadań podzieł- nych.

1. W s tę p

W ostatnich latach ukazało się szereg prac poświęconych nowemu kie­

runkowi w dziedzinie teorii szeregowania,związanemu z problemami szere­

gowania zadań wieloprocesorowych,to jest żądających więcej niż jednego procesora do swego wykonywania [5,4,2,1 1,1 3] . Problemy to znajdują isto­

tne zastosowanie,między innymi,przy analizie i projektowaniu nowoczesnych struktur systemów wielomikroprocesorow‘y ch |_2,y,14] . V. niniejszej pracy poszerzymy powyższy model zakładając,że zadania mogą żąaać do sv,ego wy­

konania także dodatkowych zasobow,którymi w systemach komputorowych mogą na przykład być: pamięć operacyjna,kan a ł y ,pamięć masowa itp. Rozpatrzono zostanie minimalizacja długości uszeregowania dla przypadku zacań pc- dzialnych.

ii ogólności rozpatrywać będziemy zbiór m identycznych rrocosorow P s ,Pg,... ,Pm ^ , zbiór s rodzajów dodatkowych zasobow R =

.. ,Rg ^ d ostępnyoh odpowiednio w liczbie r^,r2,...jrs jednostek, oraz zbiór u niezależnych i Dodzieinych zadań Z.

1 f 1 1 1 i <- | Zbiór Z skłaua się z k podzbiorow Z = i Z - , Z->, .. . ,Z d , z = ł

? ? i k f k k k ") .1. 1 J 1

Z2 ,..., *^2 = l 1 * * * * * ^n^- j ’ Es zie n^ + n2

Każde zadanie 1-procesorowe Z^, i = 1 , 2 , ...,n^; 1 = 1 , 2 , ...,k, potrzebuje do swego wykonania 1 procesorów,które wykonają to zudanio pracując jed­

nocześnie w ciągu t^ jednostek czasu. Oprócz odpowiedniej liczby proce­

sorów zadanie z j[, i = 1 , 2 , . . . , ^ ; 1 =1,2,...,k potrzebuje do swego v.ył:o- nnnia także określonych liczb jednostek dodatkowych zasobow podanych w postaci wektora R (Z^) = (Z^), R2 (Z^),...,RS (Z^)J •

W kolejnych paragrafach pracy zostaną przedstawione: ulepszony algo­

rytm szeregowania zadań bez ograniczeń zasobowych o złożoności C(n) sta­

nowiący podstawę do dalszych rozważań (paragraf 2); algorytmy wielomiano­

we dla poszczogóinych przypadków żądań zasobowych zero-jedynkowych (pa­

t V n.

(2)

23 Jacek Błażewicz.kieczysław Drabowskl.Jan Węg l a r z

ragraf 3)» podejście programowania liniowego do ogólnego przyj.adku dowol­

nych żądah zasobowych (paragraf 4).

2. Algorytm szeregowania zadań 4- i k-srocesorowych o złożoności 0 ( n ) . Y( pracach [3»4\J przedstawiono algorytm szeregowania na m identycz­

nych procesa.-n zadań podzielnych i niezależnych jedno- i k-procesoro":y ch nie żądających dodatkowych zasobów o złożoności C(n log n + k n ) . Ostatnio w pracy !"5] podano ulepszoną wercję tego algorytmu o złożoności 0 (n).

Opiszemy krótko jeg(^ dz i a ł a n i e ,gdyż będzie on wykorzystany w dalszej części pracy przy szeregowaniu z.. .oń żądających dodatkowych zasobów.

Algorytm ten,podobnie jak jego wersja pierwotna [4] .wykorzystuje p o ­ jęcie A-uszeregowania,to znaczy uszeregowania,w którym najpierw do kolej­

n y c h p r o c e s o r ó w w p r z e d z i a l e c za su ¡_0,CHax Z8dania k- p r o c e s o r o w e z g o dn i e z regułą Lic

przydzielane są wszystkie Ughtona H2] (p o r . t a k ż e [8]), a następnie w pozostałej części uszeregowania

zbioru Z^ '— — '

umieszczone są zadania ze

P, PZ

Pi

pitk

II

nadania Z k ! i

i 1

1

i i

h Crnax

Hys.1 Przykład A-uszeregowania A n example A-schedule

¡¿ożna wykazać £3] tże wśród uszeregOYiań o minimalnej długości dla zbioru zadań o powyższych właściwościach,istnie je A-uszeregowanie. Korzys­

tając z tego wyniku poszukuje się optymalnego A-uszeregowania.

Y/prowadzimy teraz następujące oznaczenia.

X =

■ £ i!' „1

t

i=1

Z = X + kY

max = max [tl : Zj £ ’ tiax' = 5 2* e z k } Ograniczenie na długość CB a x dane jest wzorem

°max > C = nax £z/n>, Y/ j_m/kj , tmax / v

(3)

Szeregowanie zadań wieloprocesorowych . 29

Następująco rozumowanie prowadzi do znalezienia uszeregowania o minimal­

nej długości [5] • Niech p = Długość optymalnego uszeregowania C* musi spełniać następującą nierówność :

max

C s C* Y max - —

Z poprzednich rozważań wiemy,że istnieje optymalne A-uszeregowanie ,w

, \r

którym k*p procesorow wykonuje jedynie zadania Z , k procesorów -wykonuje zadania Zk w przedziale

[o,h]

,a zadania lA przydzielone są w pozostałej części uszeregowania (por,rys.1). Niech liczba procesorów,które mogą wykonywać zadania Z1 w przedziale [o.h^ wynosi

m^ = m - ( p + 1 ) * k

Dla A-uszoregowania o długości D,gdzie , h będzie dane wzorem h = Y - Dp.

Zatem minimalna wartość C* będzie najmniejszym D ( D > C ) , takim że

- IH3X

zadania Z mogą być uszeregowane na m<] -t- k procesorach w przedziale

¡Y - Dp, dJ i na m^ procesorach w przedziale [0,D_] . Poniżej określimy konieczny i dostateczny warunek takiej uszeregowalności. V. tym celu za-

1 i". 1 1

łóżmy na' razie,że zadania Z są uporządkowane tak,by t,, ? ii-. 2- >t

*1 'I * * * *1 * Teraz dla danej pary D,h (h = Y - D p ) , niech t^, t2 ,...t j będą jedynymi

czasami wykonywania zedań większymi od D - h. 'Wówczas zadanie Z1 można uszeregować na m procesach (łącznie z zadaniami Z^) w przed ziele [c,hj wtedy i tylko wtedy,gdy

2 [ fci ~ ( D_hJ

~ m 1h

/2 /

Dowód poprawności tego warunku zamieszczono w JjjJ . •

Opiszemy teraz w jaki sposób możno znaleźć minimalną wartość C*mQX . Niech

W j = d i^1~

taoi '

VJj = ? t?. Nierówność /'¿/ można zapisać w następującej pos-

0 i

Wj - j (D -|X - Dp| ) i ( Y - Dp ), Rozwiązując tę nierówność względem D uzyskujemy

D “li1 Y. źJŁj.

(J - m-i) P + J Zdefiniujmy teraz

p = LA - S i U - ł J4 J ( j - m 1 ) p + j Możemy zetem napisać

C^nax ' Hax (C. C1* ° 2 » * ” CQ 1 ^

(4)

22. -Jacek ołażewicz.iłieczysław Srabowskt.Jan Węglarz

■ Najbardziej oczywistą metodą znalezienia powyższego maksimum byłoby posortowanie zadań Z względem ich czasów wykonywania t^ i następnie określenie maksymalnej wartości Cj. Złożoność tego podejścia byłaby 0 (n,, log n^). Można jednak wyKonać to szybciej £5] ,biorąc pod uwagę następujące fakty.

1. c j - ^ d - nui oraz j > in') + k

Cj nie mav,lokalnych maksimów dla j=m-i + 1,...,mą + k - 1.

Stąd,aby znaleźć maksimum wśród Cmy) + ^ ,.. .,Cm^ + oraz C należy ze3toeować liniowy algorytm znajdowania mediany [lj i przeszukiwanie binarne,co prowadzi do algorytmu określanie C*fflajc o złożoności 0 (n^).

Aynike to z faktu,że znajdowanie mediany po raz p i e r w s z y ,wymaga czasu 0 (n,,),po raz drugi - 0 (n-j/2)., po raz trzeci - 0 (n^/ą).-. Zatem łączny czas jest 0 (n^).

łożemy teraz przedstawić algorytm szeregowania badań podzielnych na­

leżących do zbiorów Z 1 oraz Zk , w celu minimalizacji długości uszerego­

wanie. . algorytm 1

1. Oblicz minimalną długość uszeregowania C*m a x .

Z'. Przydziel zadania ze zoioru Z* (w dowolnej kolejności) w przedziale [C, C*m a x '] , korzystając z reguły lic NaMghtona.

3. Przydziel nadmier(przekracz8jący C* ' - h) długich zadań należących

-1 DQa

do Z i być może krótsze zadania do mą .procesorów w przedziale [o,b] . Uszereguj pozostałe zadania (lub ich ozęść) w przedziale jh, C*ax] zgodnie z regułą Mc Naughtona.

Nietrudno zauważyć,że złożoność powyższego algorytmu jest 0 (ną + n p

= 0 (n);

3. Szeregowanie zadań 1- 1 k-prpcescrowych przy 0 - 1 żądoniach zasobowych W paragrafie tym rozpatrzymy pewne szozególne przypadki ogólnego pro­

blemu szeregowanie zadań wieloprocesorowych przy ograniczeniach zasobo­

wych,dla których istnieją proste algorytmy znajdujące uszeregowania o mi­

nimalnej długości.

Założ y m y ,podobnie jak w peragrafie k,że zadania należą do dwóch zbiorów Z1 i ZK ,a v, systemie znajduje się jeden rodzaj dodatkowego zasobu np.ka­

nały. Żądania zasobowe zadań są zero-jedynkowe,to znaczy zadanie może żądać jednostki zasobu bądź nie żądać go wcale, Zetem zadania należące do zbioru Z 1 można podzielić na dwa pozbiory: zadań żądających jednostki zasobu i oznaczanych przez Z i nie żądających dodatkowego zasobu ozna-

*1qv k kr

czonych przez Z . Podobnie zbiór Z dzieli się na dwa podzbiory: Z oraz ZK & .

Woźna wyróżnić następujące przypadki szcz e g ó l n e ,dla których stosunkowo

(5)

Szerer.ow o n le zedań wieloprocesorowych . 31

iatwo konstruuje się uszeregowania optymalne [6] ,wykorzystując podsta­

wowi algorytm 1.

Przyonaer: 1 . H systemie występują zadania należące do zbiorów Z'1“' ,

■¿i:0 oraz z”1^1. Vi tym przypadku należy zastosować poniższy algorytm.

Algorytm Z 1.Podstaw

Cs w b b x C z / n ,(Y° + Y r ) / [ _ c / k j , t ^ , t ^ x , Y r /r,j J >

guzie Y° a 'n 4.k0

Z i r z k o 3

Yr = 2 A r

Z L C Zkr ti

2 . Uszereguj zadania zgodnie z algorytmem 1 (zadania ze zbioru ZkT są przydzielane jako pierwsze).

Przypadek 2. it systemie występują zadania należące do zolorow ZA ‘ i Z1 r .

Poniższy algorytm znajduje uszeregowanie optymalne.

Ąjgorytm 3 1 .Podstaw

• • C ; = m a x ^ Z / m , Yr/ [m/kj , t ^ , t ^ x , ( Y r + Xr )/ r.,,)

gdzie Xr = 2 ^ i 1 r - Z t £ Z1r

¿.Przydziel zadsnia zgodnie z algorytmem 1.

Frzypadek 3 . W systemie występują ZBdania należące do podzbiorów ZM i Z1 r . W tym przypadku należy testować poniższy algorytm

Algorytm d 1.Podstaw

C:=max ^Z/m, Y 0/ [_m/kj , t ^ , t * B X , Xr/r1 jj .

¿.Przy obliczaniu C*cax *oż pod uwagę,że po prawej stronie linii h w u- szeregowaniu A tylko rą procesów może wykonywać zadania ze zbioru ^ . 3.Uszereguj zadania zgodnie z algorytmem 1.

Nietrudno zauważyć, ze powyższe algorytmy znajdują uszeregowanie op­

tymalne dla odpowiednich przypadków,a ich złożoność wynosi 0 (nj. Ear-

(6)

32 Jacek Błażewicz,Uieczysław Drabowskl, Jan gęglarz

dziej skomplikowane problemy szeregowania,różniące się od powyższych, rod za j a m . żądań zasobowych zaaań,bądż stopniem ich wieloprocesorowości, należy rozwiązywać stosując ogólne podejście programowania liniowego, opisane w paragrafie 4.

4.Ogólny algorytm szeregowania.

H ponkcle tym rozpatrzymy ogólny problem szeregowania zadań podzie- lnych wieloprocesorowych dla dowolnych ograniczeń i żądań zasobo-wych. Do jego rozwiązania w y k o r z y s t a m y 'zmodyfikowane podejście opispne w |"15j >

służące do rozwiązania ogólnych zagadnień przydziału zasobów.

Zdefiniujmy zbiór zasobowo-dopuszczalny jako podzbiór Z9dań,które mogą być wykonywane równolegle ze względu na ogranicząnis dotyczące procesorów i dodatkowych zasobów. Miech liczba różnych zasobowo-dopuszczalnych zbio­

rów będzie równa Ii. Przez oznaczymy czas wykonywania, i-tego zbioru zasobowo-dopuszczalnego,a przez zbiór indeksów tych zbiorów zasobowo- dopuszczalnychjktóre zawiersją zadsnie Jj

J j £ i Z1 Z1 * * ’*»Zn2 ,**,,Z1 ,* * " Zn k li * Stąd wynika następujący problem programowania liniowego:

Minimalizować

K Z * 1 i=1 przy ograniczeniach

i | g Xi = ^ e { z ^ , . . . , z ^ 1 ] , i = i,2,...,k J

Rozwiązując powyższy problem programowania liniowego,uzyskujemy optymal­

ne wartości , długości części uszeregowania optymalnego. Zadania wyko­

nywane w każdej z tych części uszeregowania są elementami odpowiadających zbiorów zasobowo-dopuszczalnych. Analizując złożoność obliczeniową powyż­

szego podejścia widzimy,że liczba ograniczeń jest równa n, natomiast licz­

ba zmiennych jest równa 0 (n1"), zatem dla ustalonej liczby procesorów m, jest ograniczona, przez wielomian od rozmiaru instancji (czyli od liczby zadań). Korzystając następnie z.wielomianowych algorytmów programowania liniowego uzyskujemy łącznie wielomianowy algorytm rozwiązania wyjściowego problemu szeregowania.

L I T E H A T U M

pi 3 Aho A.V.,Hopcroft J.E.,Ullman J.D.: Projektowanie i analiza algoryt­

mów komputerowych,FWN.Warśzawa.1933. . . .

(7)

Szeregowanie zadań wieloproce s o r o w y c h . 33

|2j Avizienis A.: Fault tolerance: the survival attribute of digital systems ,Proo. of the IEEE 66, Ho 10,1973,pp.1109-1125.

[31 Błażewicz J. ,Drabov;ski M . ,Węglarz J.: Scheduling independent Z-pro- ccssor tasks to minimize schedule length, Information Processing Letters,18,Ho 5 ,19S4,pp.267-273•

t4l Błażewicz J.,Drabov;ski K.,Węglarz J . : O niektórych problemach szere­

gowania zadań wieloprocesorowych, Zeszyty naukowe Politechniki Ślis­

kiej ,s.Autccetyka,Ho 74,1984,pp.59-48.

[5} Błażewicz J. ,Drabovvski ii. /węglarz J . : Scheduling multiprocessor tasks to minimize schedule length, IEEE Trans.on Computers,w druku.

[6J Błażewicz J.,Drabowski H. ,Ecker K . , Węglarz J.: Multiprocessor task scheduling with single resource constraints, Proo. 1st European Workshop on Parallel Processing Techniques,Manchester,19 8 5.

[7] Chaczijon L.G.: Polinomialnyj elgoritm w liniejnom prcgramirowanii, Dokłady Akademii Nauk 3SSR 244,No 5>1 9 7 9 >PP.1093-1096.

[8j Coffman E . G . J r . : Teoria szeregowania zadań, ‘.VHT,Warszawa ,1980.

[93 Hakimi S . L . ,Amin A.T.: Characterization of connection assignment of diagnosable systems, IEEE Trans.on Computers C-2J,00 1,1974,pp.86-88.

[10] Karmerkar N . : A new polynoaial-time algorithm for linear prcgroaai:g, Combinatorica 4, No 4,1984, p p . 373-395»

[11] Krawczyk H . ,KubałE M . ; An approximation algorithm for diagnostic test scheduling in multicomputer systems, IEEE Trans, Coaput. C-34,1985, pp.869-872.

[12] Kc Naughton R . : Scheduling with deadlines and loss functions, Management Sci.12,1959,p»1-12.

Flil Mon.ce C . L . : A scheduling problem with simultaneous machine requirement, TIMS XXVI, CopenhaBen.1984.

fl4] P r e parata,F . ? t ze G.,Chien R.T.: On the connection assignment p r o ­ blem of diagnosable system, IEEE Trans.on Electronic Coaput.EC-16, Ho 6,19&7, pp.848-854.

¡15) Węglarz J.,Błażewicz J.,Cellary iV.,Słowiński R . : Ar. automatic revised simplex method for constrained resource network scheduling, ACM Trans, on Mathematical Software 3,Ko.3,1977,pp.295-300.

Recenzent: Doc.dr h.inż.Józef Grabowski Wpłynęło do Redakcji do 1936.04.30

(8)

Jacek Błażewicz.Nleczysław Drabowski.Jan '.7ef:lerz

COCTABIEHHE PACUHCAHHH IfflOIWOUECCOPHfcC 3 kflAV HRi H&MTOi J0E4B0HHUX PJ3C7PC0B

P e 8 d u e

B paflOTe paccMOTpena npo&neMa cocmaneHJiH pacnHcaHoa aa^an, KOTopae HeodxosEMO BanojfflHTB sa spyx am <5onee npoqeocopax npz mxzvzz notfaBOHHHx pecypoDB. PaccuoTpeHa Mscuaiz3aiiHii jpthhh paciracaEafi jyw nepsinHHX sa^aa.

SCHEDULING OF MULTIPROCESSOR TASKS UNDER RESOURCE CONSTRAINTS S u ra ei a r y

The problem to be considered is one of scheduling of multiprocessor tasks under resource constraints. It is assumed that certain tasks [nay re­

quire more than one processor at a time .Tasks are to be scheduled preemti- vely in order to minimize schedule lenght.

Cytaty

Powiązane dokumenty

Restrykcyjne transform acje zadań harmonogram owania produkcji z ograniczeniam i... Restrykcyjne transform acje zadań harinonogram owania produkcji z

[r]

W klasycznej teorii szeregowania zakłada się. Ze ka 2 de zadanie jest wykonywane na jednym procesorze w danej chwili czasu. Wraz z szybkim rozwojem

Łatwo zauważyć, że dla przypadku, gdy wszystkie czasy wykonywania zadań p , są równe, powyższy silnie NP-trudny problem redukuje się do problemu

Dla oznaczenia tego typu zadań zastosow ano symbol rs w drugim polu standardowej notacji [4], Należy odróżnić ten typ zadań od zazwyczaj występujących w teorii

Istnieją pewne odmiany zagadnienia szeregowania z przezbrojeniami, wynikające z przyjętych założeń: 1) Grupowanie zadań (batching) w grupy (batches) - grupa

[r]

Natomiast, jeżeli f t T jest generowany przez przesunięcie zadania g E&amp;, wówczas z podzbiorem Y(pr) związane jest zdanie logiczne, że zadanie Jj ma być wykonywane