Professional Documents
Culture Documents
Lookup Based Partitioned Scheduling
Lookup Based Partitioned Scheduling
Scheduling
Bipasa Chattopadhyay
Sanjoy Baruah
Department of Computer Science
The University of North Carolina at Chapel Hill
Partitioned Scheduling
Partitioned Scheduling
Utilization, ui =
Ci
Ti
Choosing
Multiprocessor Configurations
Choosing
Multiprocessor Configurations
Choosing
If an optimal algorithm can partition a task system onto
m processors each of computing capacity 1
then a PTAS algorithm can partition the task system
onto m processors each of computing capacity 1 +
in polynomial time (0 < < 1).
Choosing
If an optimal algorithm can partition a task system onto
1
)
m processors each of computing capacity 1 ( 1+
then a PTAS algorithm can partition the task system
onto m processors each of computing capacity 1 + (1)
in polynomial time (0 < < 1).
= 0.1
= 0.1
Choosing
Multiprocessor Configurations
V () = {, (1 + ), (1 + )2 , ... (1 + )j }
j is a non-negative integer
(1 + )j 1
If = 0.1, size of V () = 25
As decreases
As decreases
Choosing
Multiprocessor Configurations
3, 0, 0, 0, 0
1, 1, 0, 0, 0 is not a maximal configuration
(0.3 + 0.39 + 0.3 = 0.99)
2, 1, 0, 0, 0 is a maximal configuration. We say that
2, 1, 0, 0, 0 dominates 1, 1, 0, 0, 0
Config ID
A
B
C
D
E
F
G
0.3000
3
2
1
1
0
0
0
0.3900
0
1
0
0
2
1
0
0.5070
0
0
1
0
0
1
0
0.6591
0
0
0
1
0
0
0
0.8568
0
0
0
0
0
0
1
Config ID
A
B
C
D
E
F
G
0.3000
3
2
1
1
0
0
0
0.3900
0
1
0
0
2
1
0
0.5070
0
0
1
0
0
1
0
0.6591
0
0
0
1
0
0
0
0.8568
0
0
0
0
0
0
1
Choosing
Multiprocessor Configurations
Multiprocessor Configurations
Multiprocessor Configurations
0
0
0
0
0
0
1
Multiprocessor Configurations
Example
1, 2, 1, 0, 0 < C , E >
0
0
0
0
0
0
1
Multiprocessor Configurations
Example
1, 2, 1, 0, 0 < C , E >
2, 2, 1, 0, 0 < B, F >
0
0
0
0
0
0
1
1, 2, 1, 0, 0 < C , E >
2, 2, 1, 0, 0 < B, F >
Combining 2 maximal single processor configurations results in
a valid m = 2 processor configuration.
1, 2, 1, 0, 0 < C , E >
2, 2, 1, 0, 0 < B, F >
Combining 2 maximal single processor configurations results in
a valid m = 2 processor configuration.
0.3000
3
3
0
4
4
0.3900
2
4
3
1
0
0.5070
1
2
3
1
1
0.6591
2
0
0
1
3
0.8568
0
0
1
1
0
Single-proc. Config ID
< D, D, E , C >
< F, F, E, A >
< F, F, F, G >
< G , D, C , B >
< D, D, D, C >
Utilization Inflation
Tasks with ui
(1 + )
1+
Inflation factor =
<
(1+)j +1
(1+)j
= (1 + )
Utilization Inflation
Tasks with ui
(1 + )
1+
Inflation factor =
1+
<
(1+)j +1
(1+)j
= (1 + )
Example
Example
Example
Task Assignment
Let m = 4, Input = 0, 3, 3, 0, 1
0.3000
3
3
0
4
4
0.3900
2
4
3
1
0
0.5070
1
2
3
1
1
0.6591
2
0
0
1
3
0.8568
0
0
1
1
0
Single-proc. Config ID
< D, D, E , C >
< F, F, E, A >
< F, F, F, G >
< G , D, C , B >
< D, D, D, C >
7
9 2 1 1 3
20 , 25 , 5 , 2 , 2 , 4
7
9 2 1 1 3
20 , 25 , 5 , 2 , 2 , 4
Single-proc. Config ID
F
F
F
G
Task Assignment
1/3, 2/5
7/20, 1/2
9/25, 1/2
3/4
Remaining Capacity
0.2667
0.15
0.14
0.25
7
9 2 1 1 3
20 , 25 , 5 , 2 , 2 , 4
Single-proc. Config ID
F
F
F
G
Task Assignment
1/3, 2/5
7/20, 1/2
9/25, 1/2
3/4
Remaining Capacity
0.2667
0.15
0.14
0.25
7
9 2 1 1 3
20 , 25 , 5 , 2 , 2 , 4
Single-proc. Config ID
F
F
F
G
Task Assignment
1/3, 2/5, 1/5
7/20, 1/2
9/25, 1/2
3/4, 1/5
Remaining Capacity
0.0667
0.15
0.14
0.05
Performance Guarantee
If the partitioning algorithm fails to partition the tasks
in , then no algorithm can partition on a platform of
1
m processors each of computing capacity 1+
Performance Guarantee
If the partitioning algorithm fails to partition the tasks
in , then no algorithm can partition on a platform of
1
m processors each of computing capacity 1+
1+
are inflated by
Performance Guarantee
If the partitioning algorithm fails to partition the tasks
in , then no algorithm can partition on a platform of
1
m processors each of computing capacity 1+
1+
are inflated by
Performance Guarantee
If the partitioning algorithm fails to partition the tasks
in , then no algorithm can partition on a platform of
1
m processors each of computing capacity 1+
1+
are inflated by
1+
can not be
Performance Guarantee
If the partitioning algorithm fails to partition the tasks
in , then no algorithm can partition on a platform of
1
m processors each of computing capacity 1+
1+
are inflated by
can not be
Phase 2 fails - tasks with utilization < 1+
accommodated
sum of utilizations of tasks assigned to each processor
)
must be > (1 1+
Future Work
Future Work
Thank You
m = 1, 14KB ( 252)
m = 2, 240KB ( 8523)
m = 3, 3MB (122599)
m = 1, 250KB (9604)
m = 2, tens of MB()
m = 3, hundreds of MB()