![Page 1: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/1.jpg)
1Uwe Schwiegelshohn, 2Andrei Tchernykh, 1Ramin Yahyapour
1Technische Universität Dortmund, Germany
[email protected], [email protected] Research Center, Ensenada, Baja California, Mexico
CIRM-Marseille-Luminy, May 12 - 16, 2008
Online Scheduling in Grids
![Page 2: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/2.jpg)
Computational Grid
2CICESE Parallel Computing Laboratory
(by Christophe Jacquet)
![Page 3: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/3.jpg)
Grid Model
3CICESE Parallel Computing Laboratory
• An encompassing and precise representation of a Grid is usually too complex to address various problems occurring in Grids.
• Application of a suitable model that considers important properties of a Grid.
Important properties Unconsidered properties
Heterogeneity of Grid (Machines with different numbers of identical processors)
Heterogeneity of processors
Fixed job parallelism (rigid jobs) Variable parallelism
Non clairvoyant scheduling Estimation of processing times
Online operationAdvance reservation, multi-site allocation
Utilization (makespan) User priorities
![Page 4: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/4.jpg)
Grid Model
4CICESE Parallel Computing Laboratory
• Each job J is described by a triple : • release date,• size (degree of parallelism), • execution time on processors.
jr
0jr
jpmj msize 1
Job must be executed on processors on one machine without interruption (space sharing mode).
GPm | sizej | Cmax
},,{ jjj psizer
jJ jsize
Pm | rj, sizei | Cmax is referred to as PS while the scheduling on a set of parallel machines
GPm | rj, sizei | Cmax is referred to as MPS.
The Grid contains m machines. Machine Mi has size mi if it comprises mi processors. All processors in the Grid are identical.
jsize
![Page 5: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/5.jpg)
List Scheduling
Processors Processors
Time
Non clairvoyant scheduling
CICESE Parallel Computing Laboratory 5
![Page 6: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/6.jpg)
Processors Processors
Time
Cmax(LIST)=17
Cmax*=9
CICESE Parallel Computing Laboratory 6
List Scheduling
![Page 7: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/7.jpg)
Cmax(LIST)/Cmax* ≤ 2-1 / m
– All jobs are sequential and have release date 0.
• Graham 1966– Jobs have release date 0 and may be parallel.
• Garey, Graham 1975– Jobs are parallel and submitted over time (online scheduling)
• Naroska, Schwiegelshohn 2002
Does the same bound hold for Grids as well?
CICESE Parallel Computing Laboratory 7
List Scheduling on Parallel Processors
![Page 8: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/8.jpg)
CICESE Parallel Computing Laboratory 8
Applicability to Grids
There is no polynomial time algorithm that always produces schedules S with
Cmax(S)/Cmax ∗ < 2
for
GPm | sizei | Cmax
and all input data unless P = NP.
![Page 9: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/9.jpg)
Applicability to Grids
• 2 machines with m processors each• All jobs have processing time 1 and different degrees of parallelism
– Total requirement of all jobs: 2m processors
• Consider an arbitrary algorithm A.
machine 2machine 1
Cmax (A)=1 Cmax*=1: optimal solution
Cmax (A)=2 and Cmax *=2: optimal solution
Cmax (A)=2 and Cmax *=1: optimal solution
machine 2machine 1
CICESE Parallel Computing Laboratory 9
![Page 10: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/10.jpg)
How do we know whether Cmax*=2 applies?
– Partition: NP-hard – There is no algorithm A with polynomial time complexity
guaranteeing Cmax(A)/Cmax* < 2.
Scheduling in Grids is inherently more difficult than
scheduling on a single parallel processor.
CICESE Parallel Computing Laboratory 10
Applicability to Grids
![Page 11: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/11.jpg)
Time
Machines with different numbers of processors
Cmax(LIST)=4
CICESE Parallel Computing Laboratory 11
List Scheduling in the Grid
![Page 12: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/12.jpg)
Time
Machines with different numbers of processors
Cmax*=2
CICESE Parallel Computing Laboratory 12
List Scheduling in the Grid
![Page 13: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/13.jpg)
• Cmax(LIST)/Cmax* = (k+1)/2
• Analysis of the problem– Jobs with little parallelism occupy large machines which are not
available for highly parallel jobs.– In case of few highly parallel jobs it is inefficient to prevent jobs with
little parallelism from using these large machines.• Simple approach
– Increased priority for highly parallel jobs– Arranging jobs in descending order of their parallelism
• Fairness is neglected.
CICESE Parallel Computing Laboratory 13
Problems of List Scheduling
![Page 14: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/14.jpg)
Sorting in Order of Parallelism
Processors
Time
Predominantly executionof sequential jobs
Few available processors for parallel jobs
CICESE Parallel Computing Laboratory 14
![Page 15: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/15.jpg)
Does Ordering the Jobs Help?
• We are interested in an algorithm that does not use a single list of jobs.– Some machines are blocked from executing some jobs under
certain circumstances.
CICESE Parallel Computing Laboratory 15
![Page 16: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/16.jpg)
Online Job Stealing Scheduling in Grids
![Page 17: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/17.jpg)
Does Ordering the Jobs Help?
• We assume a machine indexing such that mi−1 ≤ mi holds
Three sets of jobs are considered
o Set Ai contains all jobs that cannot execute on the previous (next smaller) machine and require more than 50% of the processors of machine Mi.
o Set Bi contains all jobs that cannot execute on the previous machine but require at most 50% of the processors of machine Mi.
o Set Hi contains all jobs that require more 50% of the processors of machine Mi but can also be executed on the previous machine.
CICESE Parallel Computing Laboratory 17
![Page 18: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/18.jpg)
Grid Scheduling Algorithm
2. A job is assigned to the first machine that can execute it.
Group A: >= half of the processors on this machine are required. Group B: < half of the processors on this machine are required.
1. The machines are arranged in ascending order of processor numbers.
CICESE Parallel Computing Laboratory 18
![Page 19: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/19.jpg)
3. Any machine applies a priority order when selecting jobs for execution:
Jobs of its group A Jobs of its group B Jobs that are enabled for execution on its previous machine.
CICESE Parallel Computing Laboratory 19
Grid Scheduling Algorithm
![Page 20: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/20.jpg)
• Theoretical evaluation
– Cmax(LIST)/Cmax* < 3 in the offline case
– Cmax(LIST)/Cmax* < 5 in the online case
U.Schwiegelshohn, A.Tchernykh, R.Yahyapour
Online Scheduling in Grids. IEEE, IPDPS’08, 2008
CICESE Parallel Computing Laboratory 20
Performance of the Algorithm
![Page 21: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/21.jpg)
Conclusion
• Common list scheduling does not work well in Grids.• Jobs should receive priority on the machines that provide the right
amount of parallelism.• Jobs with less parallelism are only executed on these machines if
better suited jobs are not available.
• The presented algorithm has a constant worst case bound and relatively small gap.
CICESE Parallel Computing Laboratory 21
![Page 22: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/22.jpg)
Adaptive Admissible Allocation
![Page 23: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/23.jpg)
Two Level Grid Model
23CICESE Parallel Computing Laboratory
GridWorkload
Broker
Allocation
Local queue Local queue Local queue
Local scheduler Local scheduler Local scheduler
node node node
We regard MPS as two stage (two layer) scheduling MPS = MPS_Allocation + PS.
![Page 24: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/24.jpg)
Allocation
24CICESE Parallel Computing Laboratory
For each job:
first be the minimum i such that node is able to execute a job . last is the maximum i
set of nodes first, first+1, . . . , last is a set M-available.
…m1 m2 m3 m4 m5 mm
first(Jj) = 2 last(Jj) = m
M-available
![Page 25: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/25.jpg)
25CICESE Parallel Computing Laboratory
…m1 m2 m3 m4 m5 mm
first(Jj) = 2
last(Jj) = m
M-available
M-admis
last(Jj) = 5
If last is the minimum r such that
m
jfirstii
r
jfirstii
jj
mam)()(
Allocation
![Page 26: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/26.jpg)
26CICESE Parallel Computing Laboratory
1 f0 f l0 l m
a*m(f,m) (1-a)*m(f,m)
a*m(f0,m) (1-a)*m(f0,m)
![Page 27: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/27.jpg)
27CICESE Parallel Computing Laboratory
For a set of machines with identical processors, and for a set of rigid jobs with admissible range
the competitive factor of Min_LB-a + Best_PS is
10 a
for
for
PSBestaLBMin __
ma
12
11
),0(
),(
mfm
mfma
maa
1
)1(
11
),0(
),(
mfm
mfma
![Page 28: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/28.jpg)
28CICESE Parallel Computing Laboratory
Competitive factor
10 20 30 40 50 60 70 80 90 100
2
4
6
8
10
12
14
16
18
20
a
![Page 29: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/29.jpg)
29CICESE Parallel Computing Laboratory
Competitive factor
10 20 30 40 50 60 70 80 90 100
2
4
6
8
10
12
14
16
18
20
a
![Page 30: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/30.jpg)
30CICESE Parallel Computing Laboratory
Competitive factor
10 20 30 40 50 60 70 80 90 100
2
4
6
8
10
12
14
16
18
20
a
A.Tchernykh, U.Schwiegelshohn, R.Yahyapour, N.Kuzurin.
Online Hierarchical Job Scheduling in Grids.IEEE, CoreGrid’08, EuroPar, 2008
![Page 31: 1 Uwe Schwiegelshohn, 2 Andrei Tchernykh, 1 Ramin Yahyapour 1 Technische Universität Dortmund, Germany uwe.schwiegelshohn@udo.edu, ramin.yahyapour@udo.edu](https://reader035.vdocuments.mx/reader035/viewer/2022062423/56649f515503460f94c750f5/html5/thumbnails/31.jpg)
Thank you