• Nie Znaleziono Wyników

Szeregowanie zadań na procesorze o zmiennej prędkości

N/A
N/A
Protected

Academic year: 2022

Share "Szeregowanie zadań na procesorze o zmiennej prędkości"

Copied!
9
0
0

Pełen tekst

(1)

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

(2)

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

(3)

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.

(4)

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 bi

i

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.

(5)

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

(6)

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,

(7)

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 o

w 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

(8)

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.

(9)

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.

Cytaty

Powiązane dokumenty

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

Znane dotychczas wyniki zdają się nie pokazywać w pełni skali trudności obliczeniowej pojawiającej się w raz z wprowadzeniem warunku szeregowania bez przestojów. W

Okazuje się, że znalezienie zwartego pokolorowania dla pewnego skończonego zbioru grafów dwudzielnych o cykliczności nie przekraczającej k implikuje istnienie takiego

[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

lem je st takie uszeregow anie zadań, aby łączny czas ich wykonyw ania był ja k najmniejszy. Będziemy rozw ażać zagadnienie dla niektórych grafów doskonałych,

Czas pobierania części, ja k i czas transportu pojem nika je st w przybliżeniu stały, jednak z jednej kolum ny regału może być pobieranych kilka części, zaś

zadanie m oże być wykonywane przez kilka procesorów jednocześnie oraz prędkość wykonywania zadania je st nieliniow ą funkcją od ilości procesorów przydzielonych