A Moldable Online Scheduling Algorithm and Its Application to - - PowerPoint PPT Presentation

a moldable online scheduling algorithm and its
SMART_READER_LITE
LIVE PREVIEW

A Moldable Online Scheduling Algorithm and Its Application to - - PowerPoint PPT Presentation

A Moldable Online Scheduling Algorithm and Its Application to Parallel Short Sequence Mapping Erik Saule , Doruk Bozda g, Umit V. Catalyurek Department of Biomedical Informatics, The Ohio State University { esaule,bozdagd,umit } @bmi.osu.edu


slide-1
SLIDE 1

A Moldable Online Scheduling Algorithm and Its Application to Parallel Short Sequence Mapping

Erik Saule, Doruk Bozda˘ g, Umit V. Catalyurek

Department of Biomedical Informatics, The Ohio State University {esaule,bozdagd,umit}@bmi.osu.edu

Scheduling for Large Scale Systems, May 2009

Supported by the U.S. DOE SciDAC Institute, the U.S. National Science Foundation and the Ohio Supercomputing Center Erik Saule (BMI OSU) Moldable Task Scheduling 1 / 29

slide-2
SLIDE 2

Motivation

Sequencing

Next generation sequencing instruments (SOLiD, Solexa, 454) can sequence up to 1 billion bases a day

Hundreds of millions of 35-50 base reads

Mapping

Map reads to a reference genome efficiently (Human genome: 3Gb) Sequential mapping takes about a day Need fast, parallel algorithms that can handle mismatches

Erik Saule (BMI OSU) Moldable Task Scheduling 2 / 29

slide-3
SLIDE 3

Parallel Short Sequence Mapping[Bozdag et al., IPDPS 09]

Three partitioning dimensions: P(mg, mr, ms) = cgs G mg + cg G mgms + crs R mr + (cr + cc G mgms ) R mrms Partitioning on m processors is finding minimum P(mg, mr, ms) such that mgmrms ≤ m

Erik Saule (BMI OSU) Moldable Task Scheduling 3 / 29

slide-4
SLIDE 4

This talk

A cost efficient approach

To reduce cost, Ohio SuperComputing Center is building a bioscience dedicated cluster. It will host a Short Sequence Mapping service. Laboratories submits mapping request over the network. The service computes the mapping using the parallel algorithm. And sends the result back.

This talk

How to schedule the mapping request ?

Erik Saule (BMI OSU) Moldable Task Scheduling 4 / 29

slide-5
SLIDE 5

This talk

A cost efficient approach

To reduce cost, Ohio SuperComputing Center is building a bioscience dedicated cluster. It will host a Short Sequence Mapping service. Laboratories submits mapping request over the network. The service computes the mapping using the parallel algorithm. And sends the result back.

This talk

How to schedule the mapping request ?

Erik Saule (BMI OSU) Moldable Task Scheduling 4 / 29

slide-6
SLIDE 6

Outline of the Talk

1

Introduction

2

A Moldable Scheduling Problem

3

Deadline Based Online Scheduler (DBOS)

4

Experiments

5

Conclusion

Erik Saule (BMI OSU) Moldable Task Scheduling 5 / 29

slide-7
SLIDE 7

Parallel Short Sequence Mapping

The important facts: can adapt to different number

  • f processor

good runtime prediction function no super linear speed up non convex speedup function (steps) no preemption

2 4 6 8 10 12 14 16 18 20 22 5 10 15 20 25 30 speedup

Erik Saule (BMI OSU) Moldable Task Scheduling 6 / 29

slide-8
SLIDE 8

Moldable Scheduling

Instance

m processors n tasks Task i arrives at ri The execution of i on j processors takes pi,j time units

Solution

Task i is executed on πi processors Task i starts at σi Task i finishes at Ci = σi + pi,πi

Erik Saule (BMI OSU) Moldable Task Scheduling 7 / 29

slide-9
SLIDE 9

Objective Function

Flow time

The flow time is the time spent in the system per a task Fi = Ci − ri. Does not take task size into account. Optimizing the maximum flow time is unfair to small tasks. Optimizing the average flow time should starve large tasks.

Stretch [Bender et al. SoDA 98]

The stretch is the flow time normalized by the processing time of the task si = Ci−ri

pi,1 .

It provides a better fairness between tasks. Optimizing maximum stretch avoids starvation.

Erik Saule (BMI OSU) Moldable Task Scheduling 8 / 29

slide-10
SLIDE 10

Objective Function

Flow time

The flow time is the time spent in the system per a task Fi = Ci − ri. Does not take task size into account. Optimizing the maximum flow time is unfair to small tasks. Optimizing the average flow time should starve large tasks.

Stretch [Bender et al. SoDA 98]

The stretch is the flow time normalized by the processing time of the task si = Ci−ri

pi,1 .

It provides a better fairness between tasks. Optimizing maximum stretch avoids starvation.

Erik Saule (BMI OSU) Moldable Task Scheduling 8 / 29

slide-11
SLIDE 11

Online maximum stretch can not be approximated

Adversary technique on one processor

A large task enters in the system

On several processors

There are similar techniques on several processors but there are more complicated and thus less prone to appear in practice. The key point: if all processors are busy, a small task entering the system will have a large stretch.

Erik Saule (BMI OSU) Moldable Task Scheduling 9 / 29

slide-12
SLIDE 12

Online maximum stretch can not be approximated

Adversary technique on one processor

If it is scheduled immediately, a small task is sent

On several processors

There are similar techniques on several processors but there are more complicated and thus less prone to appear in practice. The key point: if all processors are busy, a small task entering the system will have a large stretch.

Erik Saule (BMI OSU) Moldable Task Scheduling 9 / 29

slide-13
SLIDE 13

Online maximum stretch can not be approximated

Adversary technique on one processor

It suffers a large delay (and an unbounded stretch)

On several processors

There are similar techniques on several processors but there are more complicated and thus less prone to appear in practice. The key point: if all processors are busy, a small task entering the system will have a large stretch.

Erik Saule (BMI OSU) Moldable Task Scheduling 9 / 29

slide-14
SLIDE 14

Online maximum stretch can not be approximated

Adversary technique on one processor

If the large task is scheduled later, a small task is sent accordingly

On several processors

There are similar techniques on several processors but there are more complicated and thus less prone to appear in practice. The key point: if all processors are busy, a small task entering the system will have a large stretch.

Erik Saule (BMI OSU) Moldable Task Scheduling 9 / 29

slide-15
SLIDE 15

Online maximum stretch can not be approximated

Adversary technique on one processor

It suffers a large delay (and an unbounded stretch)

On several processors

There are similar techniques on several processors but there are more complicated and thus less prone to appear in practice. The key point: if all processors are busy, a small task entering the system will have a large stretch.

Erik Saule (BMI OSU) Moldable Task Scheduling 9 / 29

slide-16
SLIDE 16

Online maximum stretch can not be approximated

Adversary technique on one processor

It suffers a large delay (and an unbounded stretch)

On several processors

There are similar techniques on several processors but there are more complicated and thus less prone to appear in practice. The key point: if all processors are busy, a small task entering the system will have a large stretch.

Erik Saule (BMI OSU) Moldable Task Scheduling 9 / 29

slide-17
SLIDE 17

Outline of the Talk

1

Introduction

2

A Moldable Scheduling Problem

3

Deadline Based Online Scheduler (DBOS)

4

Experiments

5

Conclusion

Erik Saule (BMI OSU) Moldable Task Scheduling 10 / 29

slide-18
SLIDE 18

Principle of the Deadline Based Online Scheduler (DBOS)

All tasks running concurrently should get the same stretch to maximize efficiency Using the optimal maximum stretch as an instant measure of the load Aim at a more efficient schedule than the optimal instant maximum stretch one to deal with still-to-arrive tasks

Erik Saule (BMI OSU) Moldable Task Scheduling 11 / 29

slide-19
SLIDE 19

The DBOS Algorithm

Targeting a maximum stretch S

Task i must complete before the deadline Di = ri + pi,1S.

Moldable Earliest Deadline First (MEDF)

Considers task in deadline order. Allocates the minimum number of processors to each task to completes before the deadline. Schedules the task as soon as possible without moving any other task.

DBOS(ρ)

Estimate the optimal maximum stretch S* using a binary search. The deadline problem is solved by MEDF. Build a schedule of good efficiency of stretch ρS*.

ρ is the online parameter

Erik Saule (BMI OSU) Moldable Task Scheduling 12 / 29

slide-20
SLIDE 20

The DBOS Algorithm

Targeting a maximum stretch S

Task i must complete before the deadline Di = ri + pi,1S.

Moldable Earliest Deadline First (MEDF)

Considers task in deadline order. Allocates the minimum number of processors to each task to completes before the deadline. Schedules the task as soon as possible without moving any other task.

DBOS(ρ)

Estimate the optimal maximum stretch S* using a binary search. The deadline problem is solved by MEDF. Build a schedule of good efficiency of stretch ρS*.

ρ is the online parameter

Erik Saule (BMI OSU) Moldable Task Scheduling 12 / 29

slide-21
SLIDE 21

The DBOS Algorithm

Targeting a maximum stretch S

Task i must complete before the deadline Di = ri + pi,1S.

Moldable Earliest Deadline First (MEDF)

Considers task in deadline order. Allocates the minimum number of processors to each task to completes before the deadline. Schedules the task as soon as possible without moving any other task.

DBOS(ρ)

Estimate the optimal maximum stretch S* using a binary search. The deadline problem is solved by MEDF. Build a schedule of good efficiency of stretch ρS*.

ρ is the online parameter

Erik Saule (BMI OSU) Moldable Task Scheduling 12 / 29

slide-22
SLIDE 22

An example

  • A system with two pending tasks

Erik Saule (BMI OSU) Moldable Task Scheduling 13 / 29

slide-23
SLIDE 23

An example

max stretch=2

  • Deadlines induced by a stretch of 2

Erik Saule (BMI OSU) Moldable Task Scheduling 13 / 29

slide-24
SLIDE 24

An example

max stretch=2

  • A maximum stretch of 2 is reachable

Erik Saule (BMI OSU) Moldable Task Scheduling 13 / 29

slide-25
SLIDE 25

An example

max stretch=1

  • But 1 is not

Erik Saule (BMI OSU) Moldable Task Scheduling 13 / 29

slide-26
SLIDE 26

An example

max stretch=1.5

  • Neither 1.5

Erik Saule (BMI OSU) Moldable Task Scheduling 13 / 29

slide-27
SLIDE 27

An example

max stretch=1.6

  • The optimal stretch is 1.6

Erik Saule (BMI OSU) Moldable Task Scheduling 13 / 29

slide-28
SLIDE 28

An example

max stretch=1.75

  • The online parameter ρ = 1.1 leaves much more space (thanks to MEDF).

Erik Saule (BMI OSU) Moldable Task Scheduling 13 / 29

slide-29
SLIDE 29

Outline of the Talk

1

Introduction

2

A Moldable Scheduling Problem

3

Deadline Based Online Scheduler (DBOS)

4

Experiments

5

Conclusion

Erik Saule (BMI OSU) Moldable Task Scheduling 14 / 29

slide-30
SLIDE 30

An Iterative Process [Sabin et al, JSSPP 06]

The algorithm

∀i, πi ← 1, mark[i] ← false σ ← schedule(π) while ∃i | mark[i] = false

Get unmarked i such that pi,πi − pi,πi+1 is maximal and positive πi ← πi + 1 σ

′ ← schedule(π)

if avgflow(σ

′) < avgflow(σ)

σ ← σ

else

πi ← πi + 1; mark[i] ← true

schedule

schedule is a conservative backfilling algorithm. Unspecified, we used FCFS.

Erik Saule (BMI OSU) Moldable Task Scheduling 15 / 29

slide-31
SLIDE 31

An Iterative Process [Sabin et al, JSSPP 06]

Properties

Optimizing flow time Claimed to outperform fair share Parameter-less

2 4 6 8 10 12 14 16 18 20 22 5 10 15 20 25 30 speedup

Improvement

If the speedup function is non convex or has steps. The algorithm gets

  • stuck. (It was originally tested with a model where the speedup is convex)

Modification: Get unmarked i and k such that (pi,πi − pi,πi+k)/k is maximal and positive πi ← πi + k

Erik Saule (BMI OSU) Moldable Task Scheduling 16 / 29

slide-32
SLIDE 32

First Experimental Setting

Goal: assess performance on a well known setting

Downey model

Two parameters: Average parallelism (64) Distance to linear speedup

10 20 30 40 50 60 70 50 100 150 200 250 300 0.5 1 2 50

Generation

512 processors First 5000 tasks of SDSC Par 96 (From the Feitelson archive) Sequential time : total execution time Average parallelism : between number of used processor and 512 Distance to linear speedup : between 0 and 2

Erik Saule (BMI OSU) Moldable Task Scheduling 17 / 29

slide-33
SLIDE 33

Downey model results

1 2 3 4 5 x 10

4

0.00000001 0.000001 0.0001 0.01 1 100 10000

Sorted tasks Stretch

Iterative DBOS ρ=1 DBOS ρ=1.5

DBOS generates less tasks with high stretch.

Erik Saule (BMI OSU) Moldable Task Scheduling 18 / 29

slide-34
SLIDE 34

Downey model results

1 2 3 4 5 x 10

4

100 10000 1000000 100000000 10000000000

Sorted tasks Flow

Iterative DBOS ρ=1 DBOS ρ=1.5

DBOS leads to better flow time. Iterative could be improved.

Erik Saule (BMI OSU) Moldable Task Scheduling 19 / 29

slide-35
SLIDE 35

Second Experimental Setting

Goal: test case reflecting the cluster usage

Generation

512 processors Each task corresponds to one lab studying one genome Speedup according to the runtime prediction function 2000 tasks are uniformly distributed in an time interval Changing the span of the interval to control the load

Real data

Sequencing machine Reads 454 GS FLX Genome Analyzer 1 million Solexa IG sequencer 200 million SOLiD system 400 million Genome Size

  • E. Coli

4.6 million Yeast 15 million

  • A. Thaliana

100 million Mosquito 280 million Rice 465 million Chicken 1.2 billion Human 3.4 billion

Erik Saule (BMI OSU) Moldable Task Scheduling 20 / 29

slide-36
SLIDE 36

Mapping : Improvement on Iterative (flow)

100−120 200−240 300−360 500−600 650−800 10,000 100,000 1,000,000

Average flow Load

Iterative Improved iterative

The improvement really improves. The iterative got stuck.

Erik Saule (BMI OSU) Moldable Task Scheduling 21 / 29

slide-37
SLIDE 37

Mapping: Improvement on Iterative (stretch)

100−120 200−240 300−360 500−600 650−800 0.01 0.1 1

Average stretch Load

Iterative Improved iterative

2 4 6 8 10 12 14 16 18 20 22 5 10 15 20 25 30 speedup

Getting stuck is good for stretch since it avoids interrupting tasks. They are just lucky.

Erik Saule (BMI OSU) Moldable Task Scheduling 22 / 29

slide-38
SLIDE 38

Mapping : the online parameter (average stretch)

100−120 200−240 300−360 500−600 650−800 0.01 0.1 1

Average stretch Load

DBOS ρ=1 DBOS ρ=1.1 DBOS ρ=1.3 DBOS ρ=1.5

Quickly drops with ρ. Step at ρ = 1.3.

Erik Saule (BMI OSU) Moldable Task Scheduling 23 / 29

slide-39
SLIDE 39

Mapping : the online parameter (maximum stretch)

100−120 200−240 300−360 500−600 650−800 0.1 1 10 100

Maximum stretch Load

DBOS ρ=1 DBOS ρ=1.1 DBOS ρ=1.3 DBOS ρ=1.5

Max stretch is kept at a reasonable level. The online parameter ρ is very helpful here.

Erik Saule (BMI OSU) Moldable Task Scheduling 24 / 29

slide-40
SLIDE 40

Mapping : DBOS vs Iterative (average stretch)

100−120 200−240 300−360 500−600 650−800 0.01 0.1 1

Average stretch Load

Iterative Improved iterative DBOS ρ=1.5

DBOS leads to much better stretch (even when iterative got stuck).

Erik Saule (BMI OSU) Moldable Task Scheduling 25 / 29

slide-41
SLIDE 41

Mapping : DBOS vs Iterative (average flow)

100−120 200−240 300−360 500−600 650−800 10,000 100,000 1,000,000

Average flow Load

Iterative Improved iterative DBOS ρ=1.5

Confirm there is room for improvement for Iterative. DBOS is not bad.

Erik Saule (BMI OSU) Moldable Task Scheduling 26 / 29

slide-42
SLIDE 42

Mapping : DBOS vs Iterative (Fairness Issues)

1−16 16−256 256−4K 4K−64K 64K−1M >1M 5 10 15 20 25 30 35

Sequential task execution time (sec.) Percentage of tasks with stretch > 1 Iterative Improved iterative DBOS ρ=1 DBOS ρ=1.5

Downey model

256−4K 4K−64K 64K−1M 1M−4M 4M−16M >16M 5 10 15 20 25 30 35 40 45

Sequential task execution time (sec.) Percentage of tasks with stretch > 1 Iterative Improved iterative DBOS ρ=1 DBOS ρ=1.5

Short Sequence Mapping The Iterative algorithm leads to high stretch for a lot of the smaller tasks. DBOS has better performance and less fairness issues thanks to stretch

  • ptimization.

Erik Saule (BMI OSU) Moldable Task Scheduling 27 / 29

slide-43
SLIDE 43

Outline of the Talk

1

Introduction

2

A Moldable Scheduling Problem

3

Deadline Based Online Scheduler (DBOS)

4

Experiments

5

Conclusion

Erik Saule (BMI OSU) Moldable Task Scheduling 28 / 29

slide-44
SLIDE 44

The end

Conclusion

A cluster dedicated to bioscience will be built. To provide fairness stretch should be considered instead of flow time. An scheduling algorithm is proposed to optimize stretch and avoid worst case online scenario. Which performs well on Short Sequence Mapping application.

Perspective

Investigate other way to avoid worst case scenarios. Study more simple algorithm to get reference points. Build the service !

Erik Saule (BMI OSU) Moldable Task Scheduling 29 / 29

slide-45
SLIDE 45

The end

Conclusion

A cluster dedicated to bioscience will be built. To provide fairness stretch should be considered instead of flow time. An scheduling algorithm is proposed to optimize stretch and avoid worst case online scenario. Which performs well on Short Sequence Mapping application.

Perspective

Investigate other way to avoid worst case scenarios. Study more simple algorithm to get reference points. Build the service !

Erik Saule (BMI OSU) Moldable Task Scheduling 29 / 29