The Deadline-Based Scheduling of Divisible Real-Time Workloads On Multiprocessor Platforms

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 16

THE DEADLINE-BASED SCHEDULING

OF DIVISIBLE REAL-TIME
WORKLOADS ON MULTIPROCESSOR
PLATFORMS

Suriayati Chuprat
Supervisors:
Professor Dr Shaharuddin Salleh
Professor Dr Sanjoy K. Baruah

INSPIRING CREATIVE AND INNOVATIVE MINDS


Presentation Contents

• Introduction
• Summary of Contributions
• Anomalous Observations & Theoretical
Explanations
• Optimal Algorithm --MINPROCS
• LP-Based Algorithm --MIN-ξ
• Conclusions

INSPIRING CREATIVE AND INNOVATIVE MINDS


Introduction

• Formal models for representing real-time


workloads
– Uniprocessor environments
– One particular restriction: each task may execute
upon at most one processor at each instant in
time.
– Liu pointed out [8], “the simple fact that a [job]
can use only one processor even when several
processors are free at the same time adds a
surprising amount of difficulty to the
scheduling of multiple processors"
Real-time DLT

• Divisible workload,
J i  ( Ai ,  i , Di )
– Arrival time, Ai ≥ 0
– Total data size of a job, i>0
– Relative deadline, Di>0, Ai+Di
• DLT allows for the simultaneous execution
of a job upon multiple processors
Real-time DLT

• DLT Computing Cluster


= (N, Cp, Cm)

• N – Number of processing nodes


P0
• Cp – Time taken to process
• Cm – Time taken to transmit

P1 P2 P3 … PN
Real-time DLT
J  ( A,  , D)
P0 11C
Cmm 22C
Cmm 3C
m3Cm nCm nCm

P1

1C
1C
p p

P2 2C
2C
pp

P3 3C
3C
p p

1 
  ( , n)   (C C C p )
1 
Pn n C  m n p n p

r1 r2 r3 rn
Data transmission and execution time=C
diagram
p/(Cp+Cm)
when processors have different ready times
Computing Min-N

• “Given a divisible load of size  and


processor ready-times r1, r2 ,…, what is the
minimum number of processors needed to
meet a job’s deadline?”
• Approach by Lin et al. in [9]
– Abstraction of heterogeneous clusters
– Approximation
• Non-optimal
Computing Min-N

• When allocating processors in order to meet a divisible


job's deadline , a scheduling algorithm must know the
minimum number required by the job
• When all the processors are allocated simultaneously,
recall that the completion time is given by:
1 
  ( , n)   (Cm  C p )
1  n

• The minimum number of processors needed is computed


from this equation by setting this completion time to the
job's deadline (A + D)
Computing Min-N

• When the processors have different ready times, using


the previous approach is more challenging
• Lin et al. (9,7)
– Map processors to heterogeneous clusters of virtual
processors with different speeds (Cpi )
– Derive a formula to determine Cpi as

 ( , n)
C pi  ,
 ( , n)  rn  ri

– Approximation ** there is a circularity of reasoning going on


here
Algorithm--MINPROCS
MINPROCS(  ,  )
1 si  ri ; alloc  0; i  1
2 while (true) do
3 if ( alloc  1 ) break end if
4 if ( si   ) break end if

5  i  (  si )  (  (Cm  C p ))

6 si 1  max(ri 1 , si    Cm  i )

7 alloc  alloc   i

8 i  i 1
end while
9 if ( alloc  1 ) then success!!
10 nmin  i
else cannot meet the deadline, regardless of the number of processors used
11 nmin  

end if
Simulation Results
Cm=1, Cp=100, N=16, LoadSize=50, Arrival=100 Cm=1, Cp=100, N=32, LoadSize=50, Arrival=100
Our Algorithm Our Algorithm
50
– x 14

Number of Processors
Number of Processors

Lin et al. Algorithm Lin et al. Algorithm


12
40
10
30 8
20 6
4
10 2
0 0
1000 1005 1015 1030 1050 1075 1105 1140 1180 1225 1000 1005 1015 1030 1050 1075 1105 1140 1180 1225
Deadlines Deadlines

Cm=1, Cp=100, N=16, Deadline=2500, Arrival=100 Cm=1, Cp=100, N=32, Deadline=2500, Arrival=100

Our Algorithm Our Algorithm


50
Number of Processors

20

Number of Processors
Lin et al. Algorithm Lin et al. Algorithm
40
15
30
10
20
5
10

0 0
50 53 59 68 80 95 113 134 158 185 50 53 59 68 80 95 113 134 158 185
Load Size Load Size
Simulation Results
Cp=100, N=16, LoadSize=50, Deadline=2500, Arrival=100 Cp=100, N=32, LoadSize=50, Deadline=2500, Arrival=100

Our Algorithm Our Algorithm

– x
Number of Processors

Number of Processors
12 Lin et al. Algorithm 12 Lin et al. Algorithm
10 10
8 8
6 6
4 4
2 2
0 0
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Cm Cm

Cm=1, N=16, LoadSize=50, Deadline=2500, Arrival=100 Cm=1, N=32, LoadSize=50, Deadline=2500, Arrival=100

Our Algorithm Our Algorithm


Number of Processors

Number of Processors
25 Lin et al. Algorithm 16 Lin et al. Algorithm
14
20
12
15 10
8
10 6
5 4
2
0 0
50 60 70 80 90 100 110 120 130 140 50 60 70 80 90 100 110 120 130 140
Cp Cp
Computing Completion Time

• “Given a divisible load of size  and n (identical)


processors with ready-times r1,…, rn upon which
to execute it, what is the earliest time at which 
can complete execution?”
• Approach by Lin et al. in [9]
– Abstraction to heterogeneous clusters
– Compute the fractions of load to be assigned to each
virtual processor
– Compute the completion time
• Non-optimal
Computing Completion Time
i: fraction of load assigned to Pi
____________________________________________________________________
ri: ready time of Pi
minimize  si: time data transmission begin to Pi
: Completion time
subject to the following constraints:

(1) 1   2  ...   n  1
(2) 0  i 1 i  n

(3) ri  si , 1 i  n

(4) si  i Cm  si 1 , 1 i  n

(5) si   i (Cm  C p )   , 1 i  n

____________________________________________________________________
Computing the completion time: LP formulation
Computing Completion Time
N=4, Cm=1, Cp=100 N=6, Cm=1, Cp=100 N=8, Cm=1, C=100
3500 3000 2400
LP Solution LP Solution LP Solution
Approx Solution Approx Solution 2200 Approx Solution
3000
2500
2000

2500 1800
Completion Time

Completion Time

Completion Time
2000
1600
2000
1400
1500
1500 1200

1000
1000
1000
800

500 500 600


30 40 50 60 70 80 90 100 110 120 130 30 40 50 60 70 80 90 100 110 120 130 30 40 50 60 70 80 90 100 110 120 130
Load Size Load Size Load Size

N=12, Cm=1, Cp=100 N=16, Cm=1, Cp=100 N=20, Cm=1, Cp=100


2000 2200 2100
LP Solution LP Solution LP Solution
Approx Solution Approx Solution 2000 Approx Solution
1800
2000
1900
1600
1800 1800
Completion Time

Completion Time

Completion Time
1400 1700
1600
1200 1600

1400 1500
1000
1400
1200
800
1300

600 1000 1200


30 40 50 60 70 80 90 100 110 120 130 50 60 70 80 90 100 110 120 130 140 150 50 60 70 80 90 100 110 120 130 140 150
Load Size Load Size Load Size
Conclusion

• RT-DLT has the potential to provide a solid theoretical


foundation to real-time distributed clusters
• We have studied two scheduling problems in RT-DLT
when applied to clusters with different available times:
– How does one compute the minimum number of processors
needed to meet a job's deadline?
– Given a number of processors, how does one determine the
earliest completion time for the job on this many processors?
• For both problems, we provide exact solutions

You might also like