Optimal schedule for works running on machines, in a general case, is a hard problem and there is no complete optimal deterministic algorithm in polynomial time.. In this paper, we apply
Trang 1Journal of Computer Science and Cybernetics, V.27, N.3 (2011), 218-228
DURATION AUTOMATON IN SCHEDULING PROGRAMS FOR A CLUSTER COMPUTER SYSTEM*
BUI VU ANH
Faculty of Mathematics, Mechanics and Informatics
VNU University of Science
T d m t i t L§,p lich toi Uu cho cac cdng viOc: ch9,y tr6n cdc mdy, trong trUdng hpp ting qudt, \h mOt bdi to4n khd va khong c6 thu(it todn thUc hifn trong thdi gian da thflc Cdc giai phdp t i i Uu vk xip
xi toi Uu (lli giai qnyh cho cac trUdng hpp riSng vdi cdc rdng buOc hgn che Thugt toan Igp ljch trgn
1 va 2 may dupc cong l)o d [I 16] dUpc xem nhU nhiing khdi diu Trong [16], tdc g i i giai bdi toliii
cong vice qud hQ,n co tinh den thdi gian chuan bj [4] gidi bdi todn cdn^f vi$c den hg,n tren trudng hpp hai may, \k c6 the nid rpng cho trUdng hpp 3 mdy vdi mpt so dieu kign trSn cong vifc Cac tic
gia khdc cung xcni xet cac bdi todn Igp ljch d cdc trUdng hpp rifng nhU trong [5, 8, 17] Bdi bdo utng dung mo hinh otomat khoang (Duration Automaton DA) [1, 2] giai quyet bai todn Igp ljch dpng cho cac cong vifc vdi thdi gian xfl ly khong chic chin tren may tinh ghep cym hf thong gim nliieu mdy tfnh (not tinh todn) phoi hpp ldm vifc vdi nhau Chiing toi xet cum may tinh trong hai tnfdng hdp: cdc may giing nhau va khdc nhau ve ciu hinh (tdi nguyen ciia mdy tinh, mpt cdch hinh thutc dupc quy ve cau hinh, the hifn qua thdi gian xfl ly cong vifc) Do khong biet trUdc thdi gian hoan thanh mdi cong vifc, cac thuat todn toi Uu da cd se khong dupc dp dyng mpt each hifu qua Th6ng qua viec mo hinh hda va sfl dung tifu chuan ve thfl tU ciia otomat khoang, chiing toi de xuat thuat todn lap lich va thUc nghiem cho t h i y cd ket qua t i t ve thdi gian hoan thanh cdc cong vifc so vdi cdc phUdng phdp truyin thong nhu FIFO (hang dpi t u nhien), hdng dpi cong vifc vdi tieu chuin hoan
thanh nhanh trudc (tiep can tham lam), hodn thanh lau trudc (tiep cgn an toan) khong ding bo
A b s t r a c t Optimal schedule for works running on machines, in a general case, is a hard problem and there is no complete optimal deterministic algorithm in polynomial time Optimal and approximated solutions were issued for some specific cases with constraints One can find the solutions for the
cases 1 and 2 machines [4, 16] as the initial algorithms In [16], author solved late works problem using algorithm with setup times included [4] solve the due works problem on two machines, and
can be extended for the case of 3 machines with some conditions on works Other authors looked at schedule problems in specific cases like [5, 8, 17] In this paper, we apply duration automata [1, 2]
to solve the schedule problem dynamically for the works with uncertain processing time in a cluster computer, which is a system consisting of many computers (computing nodes) co-working together
We solve the schedule problem in a cluster with m machines for two cases: all machines are the same and different in configurations (machine's resources are formally considered as a configuration information, represented by the time need to finish the works) Because of uncertainly processing time, tranditional algorithms can not be used effectively By using DA model with DA's order criterion,
we issue schedule algorithms and practically prove to be better in time consuming compare to FIFO (natural order), the fastest first (greedy) and the longest first (safety) methods without synchronized points
*This paper was supported by Hanoi University of Science (grant TN-10-05)
Trang 2DURATION AUTOMATON IN SCHEDULING PROGRAMS FOR A CLUSTER COMPUTER SYSTEM 219
1 I N T R O D U C T I O N
Formal tools are usually used to model systems [1, 2, 3, 9, 10] DA is a traditional automaton which is augmented with a clock variable and a timed duration constraint on each transition [1, 2]
The labels (or actions) of transitions are separated into three types: input, output, and internal comparing to internal and external actions of the 10 automata [11, 12, 13] This automaton is
less complex than timed automaton [9] but more flexible in reality comparing to 10 automata [11]
We have used DA to model component-based real-time systems, real-time objects modeling, and embedded systems with timed and untimed specifications [2], priority networks [1] In this paper,
we use DA to model a cluster computer system where its nodes can be controlled by a master one (head node) or worked independently, and solve the scheduling problem
Scheduling works on machines, with many kind of constraints on work's order, is a difficult problem and there is no optimal solution in polynomial time Some special cases had been risen
by [4, 16] and there were good solutions (gready approach) but they are really simple to be widely used Recent reseaches have been moved to the application aspect in serveral cases Authors in [5] concentrated on the problem of two machines in which works came over the time There is an improved issue [7] works on two machines with the availability constraint In [8], authors solved problem on two machines with the view of fuzzy-set theory; and author in [17] developed a 3/2—algorithm to solve the problem in [16] again In this paper, we look at the problem with the view of DA, and consider the problem in a different aspect: schedule uncertain processing time works for machines In special cases, our problems will turn into the problem in [16, 8, 7] when the processing times are defined We also issue criteria which is used to develop algorithms solving these problems
2 D U R A T I O N A U T O M A T O N
D e f i n i t i o n 2 1 A d u r a t i o n a u t o m a t o n is a tuple M = {S, E, A , V, q, R, F) where:
• 5" is a finite set of states, g G 5 is an initial state In a general case, q can be a set
• E , A , V are internal, input and output alphabet of actions (or labels) We denote t h e set of actions of DA b y > l = S U A U V There is an empty action e G S
• RC S X A X domain x S is a set of transitions, where
domain = {[l,u],{l,u],[l,u),{l,u) \ I, u E Z + , / < u} For each transition e = (s, a, d, s') E R, a will be an o u t p u t action of s and input action of s' as well If
s = s' t h e n e is a ring
• F C 5 is a set of final (or accepted) states
We denote by 5 ( M ) , E ( M ) , A ( M ) , V ( M ) , R{M), F ( M ) the corresponding components of M , and A{M) = E ( M ) U A ( M ) U V ( M ) For s G S{M), E ( s ) , A ( s ) , V ( s ) are the internal, input and output actions of the state s respectively
A configuration of M is a couple {s,t), where s E S,t E R"^ which shows that M reaches the state s and stays there at the time t So that, initial configuration of M is {q, 0) As the time passes, the changes of M are of the following forms:
Time-change: {s,t) - ^ {s,t-\- a) where a E R"*", a E Il(s) Automaton stays at state s and does its internal actions
Trang 3220 I*'" VU ANH
State-change: {.s,t) ^ {s'j + a) where a E R + , a G A(s), using transition {s,a,d,s') € R{M), t-\-o Ed The transition can take |)la,ce if the time constraint on the arc between s and s' be satisfied We make an extra assumption that internal act.ions takes no time It can finish at a small
enough time that can be ignored and we only concentrate on input and output actions
Hinh 2.1 Example of duration automaton
Definition 2.2 Let M be a DA and p be a sequence (so,0), {s\,di), (52,^2), • • {sn,dn),
p = {si, di)i=o„n in short, be a sequence of changes
If p satisfies SQ = 9 is the initial state, and for each 1 < i < n, 3ei E R : Ci = {si-i, a,, dj, Sj) which makes M move from Sj_i to Si, then it is called a d-path from SQ to Sn in M
p is a d-path If there is a strictly increasing sequence to = 0,^1,^2, ,*n such that for alH, 1 < i < n: ti - ti-x E di then p = (SQ, 0), (si, ti), (s2, ^2), • • (sn, U), {si, «i+i)i=o n '^ short, is ealled an t-path of p d-path with t-path and Sn E F is ealled a successful path of M.w= (ai, dl), (02, di), (03, ds), • • (^n, dn), {oi, di)i=i n in short, where a^ is the action of the transaction Ci of p, is a d-word and ti; = (oi, fi), (02, ^2), ("3, *3)> • • • {o-n^ tn), (ot,*i)i=i ii
in short, is ealled a t-word of p
- A d-word {y is acceptable (or d-word of M) if there is at least one t-word W of w We say
w takes M from SQ to s^, and ty can take M from SQ to Sn- Each {a,.di) is called an atom The d-word VJ without t-word is called unacceptable
The d-word HJ is accepted by M if it is a d-word of a successful path All accepted words
of M is called a d-language of M, denoted by C{M)
Definition 2.3 Given a DA M — (5, E, A, V,g,/?, F ) The projection of M over a
real-time value t is M ' = (5, E, A, V,?, i?', F) where the transitions relationship specified as
R'= {{s,a,s')\{s,a,d,s') E R, t E d}
As the time passes, the projection operator will give an imagination of DA at a time we observe
Assume M = (5, E, A, V, q, R, F) is a DA We add a global clock x, which runs regularly, auto-matically and can be reset to the initial state, and a function / defined as: for each e = (s, a, d, s') €
R, /(e) = (s, a, s', A, 5e) where A = {x} and 6e = {x E d) Let R' be {/(e) | Ve G R} Because /
is an 1-1 function between R and R', so that T = (EU AU V, S, q, X, R', S, F) for S = {6e, e E R},
X — {x} is a unique corresponding time automaton accepting the same language as DA Thus, DA
is a specific class of time automaton [9] We can use time automaton's tools to check for every tim^ properties of DA As a consequence of [9], we will have the following theorem
Theorem 2 1 The reachable and emptiness problems of DA is decidable
Trang 4DURATION AUTOMATON IN SCHEDULING PROGRAMS FOR A CLUSTER COMPUTER SYSTEM 2 2 1
3 C L U S T E R S Y S T E M M O D E L I N G
A computing node (computer) can be modeled with a DA, where states of the node will be the states of DA, and the changes between states of the node are the arcs of DA Nodes can have their own internal actions which are separated from one other physically That results internal actions of nodes belong to themselves and they can do the same (shared) action at a time but independently
Each node can execute a compiled program (called a work) which is modeled as an atom, which can not be divided into the smaller one, {id, d) where id is a work identifier, d = [l,u], I < u, l,u E
Z Ms an estimated amount of time to finish the work, and u is the maximum amount of time that
work must finish, it can be infinitive to show that work can run as long as it needs The program
should finish at time t inside d and {id, t) is called a transition of a node at time t When a node is
ready to receive a work, we said that the node is in ready state If a node is doing a work, the state
will be busy In case a node can not receive any work, it is in /ailure state and can only be ready
again by doing reset action This action can be taken place at any time to make the node from any
state to ready state and is not in the action set of any node Each node has an empty action £, i e
the node stays at the ready state (or does its internal actions) which is supposed can be finished at
any time, empty work has the special form {id, [0, oo)), which means that it takes 0 time to finish
Practically, we do not have to care much about this action because it can be considered as internal
to that node The state before the first time in ready is initial at time ^o = 0
D e f i n i t i o n 3 1 Suppose t h a t there is a computing node M Let x = {idi, d i ) , {id2, di), • • ,
{idn,dn) If there exists an instance x = {idi,ti),{id2,t2),-• ,{idn,tn) which makes M change from a r e a d y s t a t e t o a r e a d y s t a t e and ti G d i , ti — ti E di, tn — i n - i £ d„
t h e n x is said t o be a word of M All t h e word of M is called a language of M and denoted
by £ ( M )
For two words x, y of M, we denote x'~"y as a word generated by appending y after x (connect
operator)
C o r o l l a r y 3 1 Ifx, y are words of M then x^y is also a word of M
Chiing minh Assume x and y are words of M but x'^y is not, so t h a t there is a work {id, d)
in x""y which does not bring M from r e a d y s t a t e t o ready state, (id, d) in x""y implies {id, d) in x or {id, d) in y It means {id, d) can not bring M from ready state t o ready s t a t e
in either x or y (conflicts with assumption x and y are words of M)
By corollary 3.1, if x and y are the words which run on M one after another, then we can append
y after x to make a new compound word and run it on M
D e f i n i t i o n 3 2 ( l ^ o r k relationship) For two works w = (id, \l, u]) and w' — {id', [V, u'])
• w = ^ ^ w' iff {V = 1) A {u = u')
• w is smaller t h a n w' (written as w < ^ ^ w' or w' >^^ w) m ( — - — > —^) V
'^ 2 2 '
• ISw = p ^ w' a n d w < ^ ^ w', we write w <£,^ w' or w' >^^ w
Trang 5222 BUI VU ANH
Theorem 3.1 <o^ is a totally ordered in A x domain and {{A x domain), <u^) is a lattice
whenever domain is bounded
Chttng minh Given three works x = {idx, [l,u]), y = {idy, [l',u']) and z = {idg, [l",u"\) of
M
Reflexive: x = x because {1 = 1) A {u = u)
Antisymmetric: If {x <^^ y) and {y <o^ ••^) then /' = / and u = u', implies that x =^^ y Transitive:
,u' + l' U + l ,u' + l U + l , ,/x „ r ,
x<aAy => i^^— > —^) V {—IT- ^ -^r- ^ ' < ^ )• ^ ^ ^^^^ ^ ^^®^=
tx" + r u' + /\ ^u" + i" u' + i'
2
u'-^-i' ti + r ,,u"-h/" u'-\-i\ ,u" + i" tt + /,
y<DA^ ^ ( — X — > — T 7 - ) V ( ^ ^ — = - ^ ^ A / ' < / " )
• ( - 2 — > - y - ) and ( ^ — = — ^ A /' < /") => ( — y — > - ^ ) => x <^^ z ,u' + l' u + l , „ ^ u" + /" u' + l\ n" + l" U + L
• (—2— = -Y~ A / < /') and =^ {^^— > -^—) => ( — 2 " > ^ - ) ^ ^ ^o>» ^•
Because of domain with points Z, u are in Z (bounded), so that in a set of works, we can find max and min ones Thus, ( ( ^ x domain), <^^ ) is a lattice
Note: If w = Z then <^^ and <^^ becomes traditional order < and <
Definition 3.3 (W^ord comparison) Suppose x = {idi, [Ixi, Wxi])i=i n and y = {idj, [lyyUy.])j=i
are words of a node M We define:
fi
^ ^ X E C{M) ^ y E C{M)
"^ \iti.=ti,) A {tu.=tu,)
'xEC{M)^yEL{M)
X <DA y ^ { ^ 2 — 2 — ^
, °^ \ 2 ~ 2 ^ ^ '^ '"^
where t;^ = E^x^, *z„ = E ^ y , ' ^n = E ^ i i , *% = E % ,
_ i j i j
When a; <o^ y or x = ^ ^ ^, we have x <^^ y
Lemma 3.1 The relation <^^ is a totally ordered
The proof can be done in the same way as in the proof of the theorem 3.1
^ ^ ^ ^ ^•?,' ? ^ ' ^' ^ ^^^ words of a node M, e is an empty word then
^y^^DAV^x^
x^y^z = ^ ^ fi^^y^Z^ ""^^ x^{y-z)
- x e =jyj^ £ X =jjji^ X
Trang 6DURATION AUTOMATON IN SCHEDULING PROGRAMS FOR A CLUSTER COMPUTER SYSTEM 2 2 3
Because we do not consider the priority order of words, lemma 3.2 shows that if x and y are two words of the node M then we can run x before yoxy before x Moreover, we can group some words
together to make a new one
L e m m a 3 3 Suppose x, y, J, are words of M
Ifx < ^ ^ y and y < o ^ z then x < o ^ z
- Ifx < o ^ y then xr''z <^^ y^z and z^x < o ^ J ^ y
A cluster computer system (cluster in short) consists of some computing nodes connected by a network and worked together with or without the control of a master node The actions belong to a group of nodes (share actions) can be synchronized Formally, the system can be modeled as a parallel
product of DAs Let M i , Mi, , M^ be DAs corresponding to nodes We call parallel product of DAs a cluster on M i , M2, • • • , M„, written as M = M i X M2 • • • Mn- A configuration of M is a tuple C = (ci, C2, Cn) where Cj, i = l n is a configuration of Mj Configuration C of M is: initial if 3cj, 1 < i < n is the initial configuration of Mi and others are in initial or ready states ready if Vi, i = l n, Cj are the ready states of Mj
busy if 3i, 1 < i < n : Cj is the 6usy state, others are not in /ailure states of correlative Mj
- failure if 3i, 1 < i < n : Cj is the /ailure state of Mj
Suppose M = M l X M2 X Mn is a cluster Let id E Ui=iA{Mi) and dom{id) = {i \
id E A{Mi)} Transition ( ( s i , t i ) , •,{sn,tn)) ^ {{s[,t'i), ,{s!^,t'J), where a > 0 and
id E UjLi.A(Mt) U {e} is a transition of M if there is a transition (sj, id, di, s") E R{Mi) satisfying
ij + cr G dj for any i G dom{id)
{si,ti + a) ii i ^ dom{id) {s'i, t'i) = < {s", ti + a) if i G dom{id) and 3(sj, id, di, s")
E R{Mi) where tj -|- cr G dj
D e f i n i t i o n 3 4 A sequence of transitions leads cluster from a ready s t a t e t o the other
r e a d y s t a t e is called a word of t h e cluster
For two words with different length, we can add empty works to the end of the shorter to make
it as long as the longer So we always can assume that two words have the same length, starting with not empty works in every comparison
D e f i n i t i o n 3 5 (5chedule) Suppose t h a t there is a set of works X = {(i, [Zj,Uj])i=i n} and
a cluster M = M i x M2 x • • x Mm- A permutation oi X: x = (i, [k, Wi])j=i n is called a schedule for t h e works and t{x) = [ti{x), ty,{x)] is t h e duration time requirement for x where
n n
tl{x) = E k, tu{x) = E
^i-1=1 i = l
Let Sh = {shi,sh2, ,shm), shi E { 0 , 1 } " where shi[j] = 1 if work j is arranged
t o r u n on node Mi, otherwise shi\j] = 0 is called a works schedule on M and Xi = [{j, [lj,Uj]) I shi\j] = 1,^' = l n] is a node schedule T h e t i m e needed by a cluster schedule
is t h e t i m e d u r a t i o n needed t o finish all cluster schedule T{Sh) = [Ti, Tu] :
Ti= min {ti{xi)}, T^ = max{tu{xi)}
i=l m i=l m
Trang 7224 BUI VU ANH
D e f i n i t i o n 3 6 Suppose t h a t i is a word with length n a n d m is the number of machines
T h e work j of r runs on tlu^ machine / takes the constraint djj Sh = {sh\,shi, , shm) is
a schedule
Sh is a good schedule if:
m
+ E « ^ » b ' ] = 1 for j = 1 7(
1=1
-I- if s/ij[ji] = 1 then d,j = min dkj (using <^^ order)
k=\ Tn
- shi is a non zero vector, means t h a t 3k : shi[k] = 1 Schedule Sh' = {shi, , sh'^, • • , sh'j, • • • shm) is conclused by moving a work k^^ in shi t o shj Sh' is b e t t e r t h a n Sh if T{Sh') <^^ T{Sh) Sh will be (one of) the best schedules if there is no b e t t e r one
4 S C H E D U L I N G A L G O R I T H M S
4 1 M a c h i n e s a r e t h e s a m e in c o n f i g u r a t i o n
• P r o b l e m : Assume that there is a set of n works x = {j, [Ij, Uj]), j = l n where Ij is at least
time work j can be finihed and Uj is the deadline of time that work must finish or being failure since
a node takes that work Given a time value t, scheduling to finish as many works in x as po^ible (late work, maximun time flow) using one node: m a x k
where tj is the time work j finishes
Algorithm 1: Late work problem
/nput: m works in the queue x
Output: Done works and consumed time
1 Sort all works in x increasing by < ^ ^ order
2 Mark the all works undone and set time = 0
3 Start from the work (at position) i = 0 in x
4 While {time < t) and (i < m)
+ Do the work i and get consumed time dime
+ If {time + dime < t) then mark the work i is done and try the work i+1
+ Otherwise, the work i is failure and break
5 Return time and done works
This problem is solved by selecting small works to do first (greedy approach) and minimize waiting time (total and on average) The algorithm can be expanded for the case m > 1 nodes with
the same configurations by finding first ready node k before delivering the work to k In that case, we will have m time variables denoted by time[j], j = l m which are used to sum the time consumed
by each node The condition in while loop (step 4) will change to max{timeW) < * and the condition
in if statement will change to time[j] + dime < t
Most of schedulers only use the criterion on maximum time to finish a work If that amount of time passes but the work does not finish (because of wrong estimated or some unawared reasons), that node still returns to ready state and leaves the work undone That results all the schedule or the works after a tracked point will have to do again Our criterion will make the estimate progress more flexible, accept some wrong estimation in time Further more, if a job was submitted with open
Trang 8DURATION AUTOMATON IN SCHEDULING PROGRAMS FOR A CLUSTER COMPUTER SYSTEM 225 access policy, nodes of the cluster can be seen and accessed, we can send works directly to nodes If computing nodes are managed by a /lead node then every access must be allowed In this case, we can not see nodes inside and the cluster will be considered as a compound node (represented by /lead node); we have to schedule works for one node
4 2 M a c h i n e s a r e different in c o n f i g u r a t i o n s
• P r o b l e m : Assume that there is n works x = {j, [Ij, Uj]), j = l n, where Ij is at least time work
j can be finihed and Uj is the deadline of time that work must finish or being failure since a node taJces that work Schedule to finish works in x using m > 2 nodes in a as small time as possible If time[i] is the time node i finish all its works in a schedule S then we have to find: minmax<ime[il
S i Assume that work j , j = l n, running on node i, i = l m, takes constraint dj^
Algorithm 2: Scheduling works on m > 2 general nodes
/nput: X is a queue of works, and m computing nodes
Output: All done works and time consumed the schedule
1 Enable all nodes Set consumed times on nodes to 0
2 Find a good schedule 5 on x for nodes Xj are works for nodes i, i = l m (work-queue
i)
3 Sort Xj, i = l m, ascending by < ^ ^ order
4 For any enabled node i with empty work-queue, re-schedule S as following:
-I- Try undone work j (from small to big when running on i), suppose j is in the Xjt with
at least 2 works
-I- If dkj ^oA T{xk) then move j from Xfc to Xj
Otherwise, try an other work
-I- If there is no movable work, disable node i
-I- Repeat re-schedule process until there is no enabled node with empty work-queue
5 Deliver the works in Xj to node i if i is ready and update the time consumed by node i
until there is an empty work-queue on enabled node
6 Repeat step 4 and 5 until all node schedules are empty
7 Return the maximum consumed time on nodes
A smaller work will be done first on node that work consumes the smallest time, so that it will minimum the waiting time of works In case there is any free node, it can share work firom other if the time the free node needs to finish a share work is smaller than the time the node to be shared finishs all its works (include the work will be shared) Each time we move a work from one queue
to another, the required time by the schedule for that node will be reduced by the time that work requires on the to be shared node When there is no more movement, no more share is needed This approach gives the dynamic optimal on both flow and make span time of the schedule
5 E X P E R I M E N T
We performed 10 tests on the same input data, and got the average value with the number of
machines sire 5, 10, 20, 50, 100 respectively Initial time I of each work is between 0 and 50, time upper bound u and actually finish time of each work are different in 4 cases:
Trang 9226 BUI VU ANH
Case 1: Time upper bound and finish time arc the same, it means I = u = t where t is an actually
finish time
Case 2: Upper limit is initial time plus a random number between 0 and 25 (50% of initial time) Case 3: Upper limit is initial time plus a random number between 0 and 50 (100% of initial time)
5.1 Machines are the s a m e
We compare schedules using <„^ order with schedule using F I F O , /ongest first and shortest
first approach After scheduling, works will be delivered to nodes using Round-Robin method We run each test for 10 times on 10000 works Earning points for each case about time among DA and FIFO schedule, Zongest-first, shortest-first as follow We omit case 1 because it will show the same result in all sclicdnles 'ral)le,s show the time percentage saved using DA approach with < p ^ criteria comparing to the otIKMS
Case 1: I E
Machines
5
10
20
50
100
DA/Fifo (%) 0.38 1.05 1.86 5.89 12.28
0,50],u = Z*1.25 DA/U 1st (%) 4.7
1.33 2.56 7.64 14.23
DA/L 1st (%) 4.0
1.12 1.74 6.23 12.28
Case 2: I E [0, 50], u = Z * 1.5
Machines
5
10
20
50
100
DA/Fifo (%) 0.24 0.61 1.55 4.73 8.27
DA/U 1st (%) 0.27 0.70 1.55 4.31 8.22
DA/L 1st (%) 0.20 0.60 1.56 4.81 8.19
5.2 Machines are different
We performed 10 tests on 1000 works for 3 cases and get the average We compare result between FIFO queue, good schedule and DA schedule with dynamic re-arrangement works This is the time consumed in each case
6 C O N C L U S I O N
We have used DAs to model and define the behavior of cluster systems, languages that accepted
by the system and proposed algorithms to solve scheduling problem for uncertain precessing time works In the future, we can develop algorithms to schedule programs with synchronization, shared actions, develop tools to schedule work for clusters using DA
Trang 10DURATION AUTOMATON IN SCHEDULING PROGRAMS FOR A CLUSTER COMPUTER SYSTEM 2 2 7
C a s e 1: Z G [0,bO],l = u = t
Machines
5
10
20
50
100
Fifo schedule 4932.0 2489.0 1305.0 558.0 281.0
Good schedule 1937.0 597.0 200.0 63.0 35.0
DA schedule 1819.0 544.0 172.0 44.0 19.0
Case 2: Z G [0,50], u = Z * 1.25 Machines
5
10
20
50
100
Fifo schedule 6597.1 3315.3 1680.3 707.3 382.5
Good schedule 4153.1 1100.2 388.1 93.8 33.0
DA schedule 2927.3 763.3 257.4 61.1 20.2
Case 3: Z G Machines
5
10
20
50
100
Fifo schedule 6956.8 3489.7 1752.5 739.3 408.3
0 , 5 0 ] , u = Z * 1.5 Good schedule 5457.0 1469.5 549.9 102.0 35.0
DA schedule 3443.7 929.4 280.4 64.9 20.1
R E F E R E N C E S
[1] Bui Vu Anh, Nondeterministic duration automata in modeling priority network, Proceeding of National Conference on Discovery Knowledge from Data, Vietnam, 5-6, August 2009 (vol
210156B00) 315-325
[2] Dang Van Hung, Bui Vu Anh, Model checking component based systems with black-box testing,
11^ IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA '05), 2005 (ISBN ISSN: 1533-2306, 0-7695-2346-3)
[3] Michael Merritt, Time-Constrained automaton Proceedings of 2^'^ International Conference
on Concurrency Theory (Concur'91) vol 527 of LNCS, Springer-Verlag, Berlin, August 1991
(408-423)
[4] S.M Johnson, Optimal two- and three-stage production schedules with setup times in-cluded Naval Res Log Quart I, 1954 (61-68)
[5] Bo Chen, and Arjen P A Vestjens, and Gerhard J Woeginger, On-line scheduling of two-machine
open shops where jobs arrive over time Journal of Combinatorial Optimization 1 (1996)
355-365
[6] John Noga and Steve Seiden, "Scheduling two machines with release times", 1998
[7] Joadiim Breit, "An improved approximation algorithm for two-machine flow shop scheduling with an availability constraint", 2004