Seria: AUTOM ATY KA z.117 Nr kol. 1337
Stanisław GAW IEJNOW 1CZ
U niw ersytet im. A. Mickiewicza, Poznań
S Z E R E G O W A N I E Z A D A Ń N A P R O C E S O R Z E O Z M I E N N E J P R Ę D K O Ś C I S tr e s z c z e n ie . W pracy rozważany jest problem m inimalizacji długości uszerego
w ania n a jednym procesorze o zmiennej prędkości, opisanej funkcją od ilości już wykonanych zadań. Podano kilka wielomianowych algorytmów znajdujących o p ty m alne uszeregowania w zależności od własności tej funkcji.
M A K E S P A N S C H E D U L I N G O N A S IN G L E P R O C E S S O R W I T H V A R Y IN G S P E E D
S u m m a r y . In the paper the makespan scheduling problem on a single processor is considered. T h e speed of a processor depends on th e num ber of already processed jobs and is described by a function. Several polynom ial-tim e algorithm s for finding an optim al schedule in dependency of features of th e function are given.
1. W s t ę p
W wielu zagadnieniach praktycznych często spotykamy się z sytuacją, kiedy ten sam zbiór zadań (prac, czynności itp.) wykonywany w identycznych (lub bardzo podobnych) warunkach różni się, niekiedy dość znacznie, czasami wykonywania poszczególnych zadań.
Zjawisko to, nazywane w literaturze wydłużaniem (ang. deterioration) czasu wyko
nyw ania zadania, je st ostatnio przedm iotem intensywnych badań. W literatu rze repre
zentow ane są różne podejścia do opisanego problem u, z których dw a są dom inujące:
szeregowanie zadań o zmiennych czasach wykonywania oraz szeregowanie zadań na procesorach o zm iennej prędkości.
W pierwszym przypadku czas wykonywania zadania je st opisany pew ną funkcją za
leżną od czasu rozpoczęcia danego zadania. Problem y tego typu były rozw ażane w pracach Browna i Yechialiego [2], Gawiejnowicza i Pankowskiej [4], G upty i G upty [5], Ho i innych [7], K ubiaka i van de Veldego [8], Mosheiova [9],
Lista zagadnień, w których znajd u ją wykorzystanie m odele opisujące w ydłużanie czasu
¿ a S. Gawiejnowicz
w ykonywania zadań, obejm uje problem atykę prac medycznych (rozdział zasobów w czasie epidem ii, szeregowanie żądań obsługi zespołów szybkiej pomocy m edycznej), prac porząd
kowych i pielęgnacyjnych, zagadnień naprawy urządzeń, walki z ogniem, procesów uczenia się itp. Jednym z przykładów ściśle informatycznych je st model obsługi cyklicznej kolejki przez pojedynczy serwer (ang. single scrvcr-cyclic queque).
O pisując zbiór procesorów przyjm uje się zazwyczaj, że używane procesory należą do jednego z trzech rodzajów: P (m aszyny identyczne), Q (m aszyny jednorodne) lub R (m a
szyny dowolne) oraz że prędkość procesora jest zawsze stal a (por. np. Błażewicz i inni [l]).
W pewnych zastosowaniach naturalne jednakże w ydaje się przyjęcie założenia, że pręd
kość procesora (maszyny) m oże się zm ieniać w czasie. Kilku autorów rozważało m odele, w których zadania są przetw arzane ze zm ienną prędkością. P rzykładam i są prace D rora i innych [3] oraz W ęglarza [10], gdzie prędkość przetw arzania (ang. processing rate) zależy od ilości aktualnie wykonywanych zadań (Dror i inni) lub podzielnego w sposób ciągły zasobu (W ęglarz).
Idee tego typu legły u podstaw drugiego podejścia do problem u w ydłużania czasu wykonywania zadania, które opiera się na spostrzeżeniu, że zm ienność czasu wykonywania zadania może być skutkiem zmienności prędkości procesora.
M odele szeregowania na procesorach o zmiennej prędkości znajd u ją zastosowanie w za
gadnieniach dotyczących pracy zespołów urządzeń o wspólnym źródle zasilania, maszyn z w łasnym i, odnaw ialnym i źródłam i zasilania (wózki akum ulatorowe, urządzenia o napędzie elektrycznym ) czy w analizie pracy zespołów ludzkich (grupy robotników, pielęgniarek) itp .
Celem niniejszej pracy jest zbadanie modelu szeregowania zadań, w którym prędkość procesora je st opisana pew ną funkcją. v. Bez straty ogólności możemy przyjąć, że prędkość ta zm ienia się w przedziale [0,1]. S tartując od pewnej wartości początkowej, zm ienia się po zakończeniu każdego zadania i staje się równa pewnej wartości końcowej po wykona
niu pewnej liczby zadań. Wówczas następuje przerwa (procesor w tedy nie pracuje), po czym znowu v zm ienia się pomiędzy 0 a 1 ild. Specyficzne własności funkcji v zależą od postawionego problem u.
Powyższy model m ożna form alnie opisać następująco: niech dany będzie zbiór n niezależnych, niepodzielnych zadań, z których każde składa się tylko z jednej operacji.
W celu uproszczenia zapisu zdefiniujemy dodatkowo dwa zadania, o num erach 0 i n + 1, z zerowymi czasami wykonywania. Niech J — { 1 , 2 , . . . , n} oznacza zbiór numerów zadań, a J* będzie jednym ze zbiorów J , J lub J , gdzie J — {0} U J, J = J U {n -f 1). Niech v : J* —* [0,1] będzie funkcją, która określa prędkość procesora, w chwili rozpoczęcia j- e go zadania, w zależności od liczby ju ż wykonanych zadań. Przyjm ujem y, że prędkość ta nie zm ienia się w trakcie wykonywania danego zadania i jest opisana przez warunki p odane oddzielnie dla każdego konkretnego przypadku.
Niech k oznacza liczbę zadań, które mogą być wykonane bez przerw ania pracy proce
sora, tj. do chwili, kiedy jego prędkość osiągnie wartość końcową (tzn. 0 lub 1).
Niech p j, p(j) i p[y] oznaczają, odpowiednio, początkowy czas wykonywania j -ego za
dania, j -ty największy czas wykonywania oraz j -ty w uszeregowaniu czas wykonywania, j 6 J . Niech b będzie długością przerwy w pracy procesora. W zagadnieniach praktycznych om awianego typu przerwy są stałej długości; stąd, bez straty ogólności, możemy założyć, że b = 0 (w przeciwnym przypadku powinniśmy do ostatecznej długości uszeregowania dodać s ta łą b tyle razy, ile było przerw w pracy).
Przy powyższych założeniach względny czas wykonywania py] j- e go zadania w uszeregowaniu je st równy
gdzie j £ J ; w dalszym toku będziemy pisać vj zam iast v (j).
Interesować nas będzie kolejność zadań m inim alizująca długość uszeregowania n
C m a i = P U ]' J = 1
P rzykładam i problemów praktycznych, w których może znaleźć zastosowanie prezen
tow any model są np. ciężka praca fizyczna ludzi, kiedy wykonanie każdego kolejnego zadania powoduje zmęczenie pracujących, tak że następne zadanie jest wykonywane z m niejszą prędkością, co w cfckcic powoduje wydłużenie czasu wykonywania tego za
dania (przypadek, kiedy v sta rtu je od 1 i jest malejąca) lub przetw arzanie n a m aszynie, której te m p e ra tu ra rośnie w trakcie pracy aż do m om entu krytycznego, po którym dalszy w zrost te m p e ra tu ry m ógłby ją zniszczyć (przypadek, kiedy v sta rtu je od 0 i je st rosnąca).
W obu przypadkach po pewnym czasie w ym agana jest przerwa.
2 2 S. Gawiejnowicz
2. A lg o r y tm y w ie lo m ia n o w e
W dalszym toku podam y kilka algorytmów o wielomianowym czasie wykonania, oddzielnie dla dwu możliwych przypadków w zależności od relacji pom iędzy n i k.
2.1. Przypadek k > n
O czywiste je st, że w tym przypadku w ystarczy rozważyć sytuację, kiedy n = k.
L e m a t ([6]). Niech dane będą dwa ciągi liczb (aj) oraz (bj). Suma
E
ai bii
iloczynów odpowiadających sobie elementów obu ciągów je st najmniejsza wtedy, kiedy ciągi (aj) i (6j) są m onotoniczne w przeciwnym sensie.
Udowodnimy teraz następujące
T w ie r d z e n ie 2 ..1 . Niech k = n oraz v : J —> [0,1] będzie malejącą funkcją taką, że
o( 1) — 1, v(k + 1) = 0. (1)
W tedy uszeregowanie o m inim alnej długości je st otrzym ywane przez uporządkowanie zadań w nierosnącej kolejności początkowych czasów wykonywania p y .
D o w ó d . Jako ciąg (a j) weźmy ciąg odwrotności prędkości procesora ( T ) , a jako ciąg (Łj) - ciąg czasów wykonywania (p(jj). Ponieważ w tym przypadku
n k
O m a r =
E
PUJ ~E
P (j) ' ~j= 1 j=l VZ
oraz ciąg (^-) je st niem ałejący, więc C moI będzie najm niejsze (na mocy lem atu) wtedy, gdy ciąg (;j(j]) będzie nierosnący. O
Z powyższego wynika, że len przypadek je st rozwiązywany przez algorytm (równo
ważny powszechnie znanem u L P T ) o czasowej złożoności O (nlogn).
T w ie r d z e n ie 2. 2. Niech k = n oraz u :J—> [0,1] będzie rosnącą funkcją taką, że
u (0) = 0, v(k) = 1. (2)
W tedy uszeregowanie o m inim alnej długości je st otrzymywane, przez uporządkowanie zadań wg nierosnącej kolejności początkowych czasów wykonywania p^j.
Dowód je st analogiczny jak w poprzednim przypadku. Zauważmy, że algorytm ten je st równoważny algorytm owi S P T , także o czasowej złożoności 0 (n lo g n ).
2.2. Przypadek k < n
Załóżmy, że ciąg (pj) jest dany w postaci listy wejściowej L oraz że v je st monofo
niczna. Poniew aż istnieje dokładnie m — (n m od k) + I momentów czasu, kiedy prędkość procesora je st równa 1, możemy podzielić listę L na m podlist, L i,1 ^ ,..., Lm, w których zadania są uporządkowane odpowiednio do prędkości procesora.
A lgorytm A oparty na tej idei m ożna sformułować następująco:
b e g in sorl(L);
m := div(n,k)-f-\;
fo r j := 1 to m d o Lj
:= 0 ;
w h ile L ^ 0 d o b e g in f o r j := 1 to m do
if L 0 t h e n b e g in
weź ja k o p pierw szy element listy L;
Lj Lj U { p };
L : = L \ { p };
e n d e lse e x i t;
e n d ; fo r j := 1 to rn do
L := L U Lj;
e n d
gdzie sort(L ) oznacza sortowanie nierosnąco (niem alejąco) elementów listy L, jeżeli v je st m alejąca (rosnąca), 0 - zbiór pusty oraz d i v ( n ,k ) — iloraz całkowity z dzielenia n przez k. N a wyjściu algorytm u lista L zawiera początkowe czasy wykonywania zadań we w łaści
wym (optym alnym ) porządku. Agorytm ten, tak jak poprzednie, m a złożoność czasową rzędu 0 [n lo g n ). Oznaczmy przez Ai (A?) wersję algorytm u A z sortowaniem nierosnącym (niem alejącym ). Zachodzą wówczas następujące
24 S. Gawiejnowicz
T w ie r d z e n ie 2. 3. Niech k < n oraz v : J —> (0,1] będzie kawałkami stalą, malejącą funkcją taką, żc v je s t malejąca w każdym przedziale między rozpoczęciem (m jfc + 1 )-ego zadania a zakończeniem (rtij -+ 1 )k-eyo zadania oraz
v(rri\k + 1) = 1, (3)
0 < v ((m , + 1 )k) < ł, (4) gdzie nij = 0 , 1 , 2 , . . . , (n mod k). W tedy algorytm A) znajduje uszeregowanie o m inim al
nej długości.
T w ie r d z e n ie 2. 4. Niech k < n oraz v : J —* (0,1] będzie kawałkami stałą, rosnącą fu n kcją taką, żc v je s t rosnąca w każdym przedziale między rozpoczęciem (m i k + \)-ego zadania a zakończeniem (m \ + 1 )k-ego zadania oraz
0 < t)(m jŁ + 1) < 1, (5)
V((77»l + \ ) k) - 1, (6)
gdzie m \ = 0 ,1 ,2 , mod k). W tedy algorytm A? znajduje uszeregowanie o m inim al
nej długości.
D o w ó d . Niech v będzie ka.walka.mi stalą, m alejącą funkcją określoną jak w tw ierdzeniu 2..3. oraz n = m k 4- r. Przedstaw m y C max jako sum ę m + 1 sum w następujący sposób:
h 2 k m k + r
Cmoi = 5Z p(j] + P[j) = Sl .i + s* + l,2fc + . . . + Smfc+l.mt+r,
j f = l j s z k + l j = m k+ 1
gdzie S;,,;, oznacza sum ę £}=;, V\j\- Ponieważ p y] = py] ■ T oraz ciąg ( T ) je s t kawał
kami rosnący, zatem Ctnax będzie najm niejsza wtedy, gdy w sum ach S,-,.,-, (dla ii = 1, Jk + 1 , . . . , m k+1 oraz i2 — k, 2 k , . . . , m k + r ) m największych wartości spośród p yj będzie pom nożonych przez v: = 1; kolejnych m (co do wielkości) wartości pyą - przez następne, najbliższe 1, wartości prędkości itd. K ontynuując to postępowanie otrzym am y m + 1 ciągów uporządkowanych odpowiednio do wartości V j w taki sposób, że łączna sum a wszystkich pyj (rów na Cmax) będzie m inim alna. Dowód dla przypadku, kiedy v je st kawałkami sta ła i rosnąca, je s t podobny. □
Rozważmy te ra z przypadek, kiedy u, w : J —* (0,1] jest dowolną funkcją. Możemy o trzym ać o ptym alne uszeregowanie poprzez posortowanie początkowych czasów wykony
w ania zadań, a następnie poprzestaw ianie ich odpowiednio do wartości v w taki sposób,
aby su m a ]C"=i Py]4 była m inim alna. Algorytm B oparty na tej idei m ożna sform ułować następująco (— oznacza kom entarz):
b e g in
posortuj nierosnąco p y — u tw o rz e n ie l i s t y p^y fo r j := 1 t o n d o b e g in
s uj v y 3U • - j en d ,’
posortuj nierosnąco s xj ;
p rzenum eruj listę s odpowiedni o do wartości S|,(j)i fo r j 1 to n d o
Lj
:= 0; fo r j := 1 to n d ow staw py) na -te miejsce w liście L — u tw o rz e n ie l i s t y py]
e n d
A lgorytm B także m a złożoność czasową O (nlogn). Zachodzi następujące
T w ie r d z e n ie 2. 5. Niech v : J —» (0,1] będzie dowolną funkcją. W tedy algorytm B , zdefiniowany ja k wyżej, znajduje uszeregowanie o m inim alnej długości.
Dowód wynika bezpośrednio z lem atu oraz analizy algorytm u B . Zauważmy, że ponie
waż w algorytm ie B nie w ystępuje k , to twierdzenie 2..5. zachodzi d la obu, k > n oraz k < n , przypadków.
3. P o d s u m o w a n ie
M odele teorii szeregowania zadań, w których pewne p aram etry zbioru zadań czy też m aszyn są opisane zależnościami ciągłym i, odgryw ają coraz większą rolę, zw łaszcza w zastosowaniach.
W pracy przedstaw iono nowy model szeregowania zadań na procesorze o zm iennej prędkości, opisanej pew ną funkcją zależną od liczby już wykonanych zadań. Pokazano, że dla m onotonicznych oraz dowolnych funkcji prędkości, ja k również dla dowolnej relacji
26 S. Gawiejnowicz
pom iędzy liczbą zadań a liczbą przerw w pracy procesora istnieją wielomianowe algorytm y optym alne.
D odając nowe założenia dotyczące np. wag zadań, czasów gotowości, podzielności itp.
m ożna otrzym ać model o bogatszych własnościach. Interesujące także w ydaje się prze
niesienie idei procesora o zm iennej prędkości do zagadnień szeregowania n a procesorach dedykowanych.
LITER A TU R A
1. Błażew icz J., Ecker K., Schm idt G., Węglarz J.: Scheduling in C om puter and M anufacturing System s. Springer-Verlag 1!)(J3.
2. Browne S., Ycchiali U.: Scheduling deteriorating jobs on a single processor. O pera
tions Research, vol. 3S, 1990, pp. 495-498.
3. Dror M ., Stern II.J., L enstra Parallel machine scheduling: processing rates dependent on num ber of jobs in operation. M anagment Science, vol. 33, 1987, pp. 1001-1009.
4. Gawiejnowicz S., Pankowska L.: Scheduling jobs with varying processing tim es.
Inform ation Processing Letters, vol. 54, 1995, pp. 175-178.
5. G u p ta J.N .D ., G u p ta S.K.: Single facility scheduling w ith nonlinear processing tim es.
C om puters and Industrial Engineering, vol. 14, 1988, pp. 387-393.
6. H ardy G.H., Littlew ood J.E ., Polya G.: Inequalities. University Press 1934.
7. Ho K.I.-.L, Leung J.Y .-T ., Wei W.-D.: Com plexity of scheduling tasks w ith tim e-dependent execution tim es. Inform ation Processing Letters, vol. 48, 1993, pp. 315-320.
8. K ubiak W ., van de Velde S.L.: Scheduling deteriorating jobs to m inim ize m akespan.
R eport LPOM-94-12, Labolatory of P roduction and O perations M anagm ent, D ep art
m en t of M echanical Engineering, University of Twente 1994.
9. Mosheiov G.: Scheduling jobs under sim ple linear deterioration. C om puters and O perational Research, vol. 21, 1994, pp. 653-659.
10. Węglarz J.: M ultiprocessor scheduling with memory allocation - a determ inistic approach. IEEE T ransactions on C om puters, vol. C-29, 1980, pp. 703-710.
Recenzent: Dr hab. inż. Mirosław Zaborowski, prof. Pol.Śl.
W płynęło do Redakcji do 30.06.1996 r.
A b s t r a c t
In some applications it seems natural to assume th a t th e speed of a processor can change in tim e. In th e literatu re exist several possible approaches to the problem . T he approach presented by us is based on th e assumption th a t th e change of the speed of th e processor is due to th e num ber of already completed jobs.
In the pap er is presented the new model of scheduling in which the speed of a processor is described by a function i> . W ithout loss of generality we can assume th a t th e speed varies in (0,1] interval. S tarting from an initial value it changes after com pletion of each job and becomes equal to an end value after executing some num ber of jobs. T hen there is a break for some tim e, when the processor does not work, after th a t th e speed again varies between 0 and 1, etc.. Specific properties of the function v depend on th e sta te d problem.
T he above model can be prcciscd as follows: wc are given n independent, not preemp- table jobs, each of which consists of one operation only. Let J = { 1 , 2 , . . . , n} denote a set of jo b indices and let u : J —> [0,1] be a function which specifies th e speed of th e processor (at th e m om ent of th e beginning of th e j'-th job) in the dependence on the num ber of al
ready executed jobs. We assume th a t the speed does not change during execution of a job and is described by th e set of conditions separately for each p articular case. L et k denote a num ber of jobs which can be executed without breaking th e work of the processor, i.e.
up to th e tim e when its speed reaches an end value (0 or 1). Let b be the length of each break in the work of th e processor. We assume th a t the length b of th e break is constant and thus, w ith o u t loss of generality, we can suppose th a t 6 = 0. Let pj and p[j] denote, respectively, th e sta rtin g processing tim e of the j - lh job and the processing tim e of th e j - t h job in a schedule, j S J.
U nder th e above assum ptions th e relative processing time, pyj of the j - t h job in a schedule is equal to pyj = ^ where j € J • We are interested in an order of the jobs which minimizes th e m axim um completion tim e of all jobs C m a x — PM-
Using a well-known lem m a about minimizing the sum of products of the corresponding elem ents of two num ber sequences (a /),(6 j) we prove theorem s concerning th e optim al schedule for a single processor of the above type and as foT m onotonic as for any function u, separately for th e case n > k and n < k. For the each case we give th e polynom ial-tim e algorithm for finding th e optim al schedule.