mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · mapping...

78
Framework Complexity Practical Conclusion Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit 1,2 , Loris Marchal 2 , Yves Robert 1,2 , Oliver Sinnen 3 1. Institut Universitaire de France 2. LIP, ´ Ecole Normale Sup´ erieure de Lyon, France 3. University of Auckland, New Zealand SBAC-PAD, Petropolis, Rio de Janeiro, Brazil October 27-30, 2010 [email protected] October 28, 2010 Mapping pipelined applications with replication 1/ 28

Upload: others

Post on 07-Jun-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Mapping pipelined applications with replicationto increase throughput and reliability

Anne Benoit1,2, Loris Marchal2, Yves Robert1,2, Oliver Sinnen3

1. Institut Universitaire de France

2. LIP, Ecole Normale Superieure de Lyon, France

3. University of Auckland, New Zealand

SBAC-PAD, Petropolis, Rio de Janeiro, BrazilOctober 27-30, 2010

[email protected] October 28, 2010 Mapping pipelined applications with replication 1/ 28

Page 2: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Motivations

Mapping pipelined applications onto parallel platforms:practical applications, but difficult challenge

Both performance (throughput) and reliability objectives:even more difficult!

Use of replication: mapping an application stage onto morethan one processor

redundant computations: increase reliabilityround-robin computations (over consecutive data sets):increase throughputbi-criteria problem: need to trade-off between two kinds ofreplication

[email protected] October 28, 2010 Mapping pipelined applications with replication 2/ 28

Page 3: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Motivations

Mapping pipelined applications onto parallel platforms:practical applications, but difficult challenge

Both performance (throughput) and reliability objectives:even more difficult!

Use of replication: mapping an application stage onto morethan one processor

redundant computations: increase reliabilityround-robin computations (over consecutive data sets):increase throughputbi-criteria problem: need to trade-off between two kinds ofreplication

[email protected] October 28, 2010 Mapping pipelined applications with replication 2/ 28

Page 4: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Motivations

Mapping pipelined applications onto parallel platforms:practical applications, but difficult challenge

Both performance (throughput) and reliability objectives:even more difficult!

Use of replication: mapping an application stage onto morethan one processor

redundant computations: increase reliabilityround-robin computations (over consecutive data sets):increase throughputbi-criteria problem: need to trade-off between two kinds ofreplication

[email protected] October 28, 2010 Mapping pipelined applications with replication 2/ 28

Page 5: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Motivations

Mapping pipelined applications onto parallel platforms:practical applications, but difficult challenge

Both performance (throughput) and reliability objectives:even more difficult!

Use of replication: mapping an application stage onto morethan one processor

redundant computations: increase reliabilityround-robin computations (over consecutive data sets):increase throughputbi-criteria problem: need to trade-off between two kinds ofreplication

[email protected] October 28, 2010 Mapping pipelined applications with replication 2/ 28

Page 6: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Motivations

Mapping pipelined applications onto parallel platforms:practical applications, but difficult challenge

Both performance (throughput) and reliability objectives:even more difficult!

Use of replication: mapping an application stage onto morethan one processor

redundant computations: increase reliabilityround-robin computations (over consecutive data sets):increase throughputbi-criteria problem: need to trade-off between two kinds ofreplication

[email protected] October 28, 2010 Mapping pipelined applications with replication 2/ 28

Page 7: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Motivations

Mapping pipelined applications onto parallel platforms:practical applications, but difficult challenge

Both performance (throughput) and reliability objectives:even more difficult!

Use of replication: mapping an application stage onto morethan one processor

redundant computations: increase reliabilityround-robin computations (over consecutive data sets):increase throughputbi-criteria problem: need to trade-off between two kinds ofreplication

[email protected] October 28, 2010 Mapping pipelined applications with replication 2/ 28

Page 8: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Main contributions

Theoretical side:assess problem hardness with different mapping rules andplatform characteristics

Practical side:heuristics on most general (NP-complete) case,exact algorithm based on A*,experiments to assess heuristics performance

[email protected] October 28, 2010 Mapping pipelined applications with replication 3/ 28

Page 9: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Main contributions

Theoretical side:assess problem hardness with different mapping rules andplatform characteristics

Practical side:heuristics on most general (NP-complete) case,exact algorithm based on A*,experiments to assess heuristics performance

[email protected] October 28, 2010 Mapping pipelined applications with replication 3/ 28

Page 10: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Outline of the talk

1 FrameworkApplicationPlatformMappingObjective

2 Complexity resultsMono-criterionBi-criteriaApproximation results

3 Practical sideHeuristicsOptimal algorithm using A*Evaluation results

4 Conclusion

[email protected] October 28, 2010 Mapping pipelined applications with replication 4/ 28

Page 11: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Applicative framework

Sn... ...w1 w2 wn

S1 S2 Siwi

Pipeline of n stages S1, . . . ,SnStage Si performs a number wi of computations

Communication costs are negligible in comparison withcomputation costs

[email protected] October 28, 2010 Mapping pipelined applications with replication 5/ 28

Page 12: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Target platform

Platform with p processors P1, . . . ,Pp, fully interconnected asa (virtual) clique

For 1 ≤ u ≤ p, processor Pu has speed su and failureprobability 0 < fu < 1

Failure probability: independent of the duration of theapplication, meant to run for a long time (cycle-stealingscenario)

SpeedHom platform: identical speeds su = s for 1 ≤ u ≤ p(as opposed to SpeedHet)

FailureHom platform: identical failure probabilities(as opposed to FailureHet)

[email protected] October 28, 2010 Mapping pipelined applications with replication 6/ 28

Page 13: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Target platform

Platform with p processors P1, . . . ,Pp, fully interconnected asa (virtual) clique

For 1 ≤ u ≤ p, processor Pu has speed su and failureprobability 0 < fu < 1

Failure probability: independent of the duration of theapplication, meant to run for a long time (cycle-stealingscenario)

SpeedHom platform: identical speeds su = s for 1 ≤ u ≤ p(as opposed to SpeedHet)

FailureHom platform: identical failure probabilities(as opposed to FailureHet)

[email protected] October 28, 2010 Mapping pipelined applications with replication 6/ 28

Page 14: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Mapping problem

Interval mapping: consecutive stages mapped together:partition of [1..n] into m ≤ p intervals Ij

Ij mapped onto set of processors Aj , organized into `j teams

processors within a team perform redundant computations(replication for reliability)different teams assigned to same interval execute distinct datasets in a round-robin fashion (replication for performance)

A processor cannot participate in two different teams

` =∑m

j=1 `j is the total number of teams

[email protected] October 28, 2010 Mapping pipelined applications with replication 7/ 28

Page 15: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Mapping problem

Interval mapping: consecutive stages mapped together:partition of [1..n] into m ≤ p intervals Ij

Ij mapped onto set of processors Aj , organized into `j teams

processors within a team perform redundant computations(replication for reliability)different teams assigned to same interval execute distinct datasets in a round-robin fashion (replication for performance)

A processor cannot participate in two different teams

` =∑m

j=1 `j is the total number of teams

[email protected] October 28, 2010 Mapping pipelined applications with replication 7/ 28

Page 16: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Mapping problem

Interval mapping: consecutive stages mapped together:partition of [1..n] into m ≤ p intervals Ij

Ij mapped onto set of processors Aj , organized into `j teams

processors within a team perform redundant computations(replication for reliability)different teams assigned to same interval execute distinct datasets in a round-robin fashion (replication for performance)

A processor cannot participate in two different teams

` =∑m

j=1 `j is the total number of teams

[email protected] October 28, 2010 Mapping pipelined applications with replication 7/ 28

Page 17: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Mapping problem

Interval mapping: consecutive stages mapped together:partition of [1..n] into m ≤ p intervals Ij

Ij mapped onto set of processors Aj , organized into `j teams

processors within a team perform redundant computations(replication for reliability)different teams assigned to same interval execute distinct datasets in a round-robin fashion (replication for performance)

A processor cannot participate in two different teams

` =∑m

j=1 `j is the total number of teams

[email protected] October 28, 2010 Mapping pipelined applications with replication 7/ 28

Page 18: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Mapping problem

Interval mapping: consecutive stages mapped together:partition of [1..n] into m ≤ p intervals Ij

Ij mapped onto set of processors Aj , organized into `j teams

processors within a team perform redundant computations(replication for reliability)different teams assigned to same interval execute distinct datasets in a round-robin fashion (replication for performance)

A processor cannot participate in two different teams

` =∑m

j=1 `j is the total number of teams

[email protected] October 28, 2010 Mapping pipelined applications with replication 7/ 28

Page 19: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Mapping problem

Interval mapping: consecutive stages mapped together:partition of [1..n] into m ≤ p intervals Ij

Ij mapped onto set of processors Aj , organized into `j teams

processors within a team perform redundant computations(replication for reliability)different teams assigned to same interval execute distinct datasets in a round-robin fashion (replication for performance)

A processor cannot participate in two different teams

` =∑m

j=1 `j is the total number of teams

[email protected] October 28, 2010 Mapping pipelined applications with replication 7/ 28

Page 20: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Example of mapping

S S S S S

T

T

T

T T

T

I I I1 2 3

1 2 3 4 5

1

2

3

P1

P2

P3

P4

P5

P6

P7

P8

P9

P10

P114 5

6

n = 5 stages divided into m = 3 intervalsp = 11 processors organized in ` = 6 teams

`1 = 3, `2 = 1, `3 = 2

[email protected] October 28, 2010 Mapping pipelined applications with replication 8/ 28

Page 21: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Example of mapping

S S S S S

T

T

T

T T

T

I I I1 2 3

1 2 3 4 5

1

2

3

P1

P2

P3

P4

P5

P6

P7

P8

P9

P10

P114 5

6

n = 5 stages divided into m = 3 intervalsp = 11 processors organized in ` = 6 teams

`1 = 3, `2 = 1, `3 = 2

[email protected] October 28, 2010 Mapping pipelined applications with replication 8/ 28

Page 22: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Objective functions

Period of the application:

P = max1≤j≤m

{ ∑i∈Ij wi

`j ×minPu∈Ajsu

}

Round-robin distribution: each team compute one data set every

other `j ones, computation slowed down by slowest processor for

interval

Failure probability:

F = 1−∏

1≤k≤`(1−

∏Pu∈Tk

fu)

Computation successful if at least one surviving processor per team

[email protected] October 28, 2010 Mapping pipelined applications with replication 9/ 28

Page 23: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Objective functions

Period of the application:

P = max1≤j≤m

{ ∑i∈Ij wi

`j ×minPu∈Ajsu

}

Round-robin distribution: each team compute one data set every

other `j ones, computation slowed down by slowest processor for

interval

Failure probability:

F = 1−∏

1≤k≤`(1−

∏Pu∈Tk

fu)

Computation successful if at least one surviving processor per team

[email protected] October 28, 2010 Mapping pipelined applications with replication 9/ 28

Page 24: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Objective functions

Period of the application:

P = max1≤j≤m

{ ∑i∈Ij wi

`j ×minPu∈Ajsu

}

Round-robin distribution: each team compute one data set every

other `j ones, computation slowed down by slowest processor for

interval

Failure probability:

F = 1−∏

1≤k≤`(1−

∏Pu∈Tk

fu)

Computation successful if at least one surviving processor per team

[email protected] October 28, 2010 Mapping pipelined applications with replication 9/ 28

Page 25: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

Objective functions

Period of the application:

P = max1≤j≤m

{ ∑i∈Ij wi

`j ×minPu∈Ajsu

}

Round-robin distribution: each team compute one data set every

other `j ones, computation slowed down by slowest processor for

interval

Failure probability:

F = 1−∏

1≤k≤`(1−

∏Pu∈Tk

fu)

Computation successful if at least one surviving processor per team

[email protected] October 28, 2010 Mapping pipelined applications with replication 9/ 28

Page 26: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

The problem

Determine the best interval mapping, over all possiblepartitions into intervals and processor assignments

Mono-criterion: minimize period or failure probability

Bi-criteria: (i) given a threshold period, minimize failureprobability or (ii) given a threshold failure probability,minimize period

[email protected] October 28, 2010 Mapping pipelined applications with replication 10/ 28

Page 27: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

The problem

Determine the best interval mapping, over all possiblepartitions into intervals and processor assignments

Mono-criterion: minimize period or failure probability

Bi-criteria: (i) given a threshold period, minimize failureprobability or (ii) given a threshold failure probability,minimize period

[email protected] October 28, 2010 Mapping pipelined applications with replication 10/ 28

Page 28: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Application Platform Mapping Objective

The problem

Determine the best interval mapping, over all possiblepartitions into intervals and processor assignments

Mono-criterion: minimize period or failure probability

Bi-criteria: (i) given a threshold period, minimize failureprobability or (ii) given a threshold failure probability,minimize period

[email protected] October 28, 2010 Mapping pipelined applications with replication 10/ 28

Page 29: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Outline of the talk

1 FrameworkApplicationPlatformMappingObjective

2 Complexity resultsMono-criterionBi-criteriaApproximation results

3 Practical sideHeuristicsOptimal algorithm using A*Evaluation results

4 Conclusion

[email protected] October 28, 2010 Mapping pipelined applications with replication 11/ 28

Page 30: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Mono-criterion complexity results

Failure probability: easy on any kind of platforms: group allstages as a single interval, processed by one single team withall p processors

Period: one processor per team

SpeedHom platform: one interval processed by p teams

SpeedHet platforms: NP-hard in the general case, polynomialif wi = w for 1 ≤ i ≤ n (see previous work [Algorithmica2010])

[email protected] October 28, 2010 Mapping pipelined applications with replication 12/ 28

Page 31: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Mono-criterion complexity results

Failure probability: easy on any kind of platforms: group allstages as a single interval, processed by one single team withall p processors

Period: one processor per team

SpeedHom platform: one interval processed by p teams

SpeedHet platforms: NP-hard in the general case, polynomialif wi = w for 1 ≤ i ≤ n (see previous work [Algorithmica2010])

[email protected] October 28, 2010 Mapping pipelined applications with replication 12/ 28

Page 32: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Bi-criteria complexity results

Preliminary result: for SpeedHom platforms, there exists anoptimal bi-criteria mapping with one single interval

Proof: starting from an optimal solution with several intervals,merge intervals, and the single interval is processed by allteams of optimal solutionFailure probability remains the same (same teams)New period cannot be greater than optimal period(SpeedHom platform)

Not true on SpeedHet platforms:example with w1 = s1 = 1 and w2 = s2 = 2, F∗ = 1

period 1 with two intervalsperiod 3/2 with one single interval

[email protected] October 28, 2010 Mapping pipelined applications with replication 13/ 28

Page 33: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Bi-criteria complexity results

Preliminary result: for SpeedHom platforms, there exists anoptimal bi-criteria mapping with one single interval

Proof: starting from an optimal solution with several intervals,merge intervals, and the single interval is processed by allteams of optimal solutionFailure probability remains the same (same teams)New period cannot be greater than optimal period(SpeedHom platform)

Not true on SpeedHet platforms:example with w1 = s1 = 1 and w2 = s2 = 2, F∗ = 1

period 1 with two intervalsperiod 3/2 with one single interval

[email protected] October 28, 2010 Mapping pipelined applications with replication 13/ 28

Page 34: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Bi-criteria complexity results

Preliminary result: for SpeedHom platforms, there exists anoptimal bi-criteria mapping with one single interval

Proof: starting from an optimal solution with several intervals,merge intervals, and the single interval is processed by allteams of optimal solutionFailure probability remains the same (same teams)New period cannot be greater than optimal period(SpeedHom platform)

Not true on SpeedHet platforms:example with w1 = s1 = 1 and w2 = s2 = 2, F∗ = 1

period 1 with two intervalsperiod 3/2 with one single interval

[email protected] October 28, 2010 Mapping pipelined applications with replication 13/ 28

Page 35: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Bi-criteria complexity results

Preliminary result: for SpeedHom platforms, there exists anoptimal bi-criteria mapping with one single interval

Proof: starting from an optimal solution with several intervals,merge intervals, and the single interval is processed by allteams of optimal solutionFailure probability remains the same (same teams)New period cannot be greater than optimal period(SpeedHom platform)

Not true on SpeedHet platforms:example with w1 = s1 = 1 and w2 = s2 = 2, F∗ = 1

period 1 with two intervalsperiod 3/2 with one single interval

[email protected] October 28, 2010 Mapping pipelined applications with replication 13/ 28

Page 36: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Bi-criteria complexity results

Preliminary result: for SpeedHom platforms, there exists anoptimal bi-criteria mapping with one single interval

Proof: starting from an optimal solution with several intervals,merge intervals, and the single interval is processed by allteams of optimal solutionFailure probability remains the same (same teams)New period cannot be greater than optimal period(SpeedHom platform)

Not true on SpeedHet platforms:example with w1 = s1 = 1 and w2 = s2 = 2, F∗ = 1

period 1 with two intervalsperiod 3/2 with one single interval

[email protected] October 28, 2010 Mapping pipelined applications with replication 13/ 28

Page 37: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

SpeedHom-FailureHom platforms

SpeedHom-FailureHom: Polynomial time algorithm

Fixed period P∗one single interval with minimum number of teams

`min =

⌈∑ni=1 wi

P∗ × s

⌉greedily assign processors to teams to have balanced teamsalgorithm in O(p)

Converse problem: fixed F∗one single interval......but must try all possible number of teams 1 ≤ ` ≤ palgorithm in O(p log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 14/ 28

Page 38: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

SpeedHom-FailureHom platforms

SpeedHom-FailureHom: Polynomial time algorithm

Fixed period P∗one single interval with minimum number of teams

`min =

⌈∑ni=1 wi

P∗ × s

⌉greedily assign processors to teams to have balanced teamsalgorithm in O(p)

Converse problem: fixed F∗one single interval......but must try all possible number of teams 1 ≤ ` ≤ palgorithm in O(p log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 14/ 28

Page 39: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

SpeedHom-FailureHom platforms

SpeedHom-FailureHom: Polynomial time algorithm

Fixed period P∗one single interval with minimum number of teams

`min =

⌈∑ni=1 wi

P∗ × s

⌉greedily assign processors to teams to have balanced teamsalgorithm in O(p)

Converse problem: fixed F∗one single interval......but must try all possible number of teams 1 ≤ ` ≤ palgorithm in O(p log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 14/ 28

Page 40: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

SpeedHom-FailureHom platforms

SpeedHom-FailureHom: Polynomial time algorithm

Fixed period P∗one single interval with minimum number of teams

`min =

⌈∑ni=1 wi

P∗ × s

⌉greedily assign processors to teams to have balanced teamsalgorithm in O(p)

Converse problem: fixed F∗one single interval......but must try all possible number of teams 1 ≤ ` ≤ palgorithm in O(p log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 14/ 28

Page 41: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

SpeedHom-FailureHom platforms

SpeedHom-FailureHom: Polynomial time algorithm

Fixed period P∗one single interval with minimum number of teams

`min =

⌈∑ni=1 wi

P∗ × s

⌉greedily assign processors to teams to have balanced teamsalgorithm in O(p)

Converse problem: fixed F∗one single interval......but must try all possible number of teams 1 ≤ ` ≤ palgorithm in O(p log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 14/ 28

Page 42: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

With heterogeneous platforms

SpeedHet-FailureHom is NP-hardbecause SpeedHet is NP-hard for period minimization

SpeedHom-FailureHet becomes NP-hard as well:balancing processors within teams is combinatorial;reduction from 3-PARTITION

Intermediate result: best reliability always obtained bybalancing failure probabilities of each team

[email protected] October 28, 2010 Mapping pipelined applications with replication 15/ 28

Page 43: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

With heterogeneous platforms

SpeedHet-FailureHom is NP-hardbecause SpeedHet is NP-hard for period minimization

SpeedHom-FailureHet becomes NP-hard as well:balancing processors within teams is combinatorial;reduction from 3-PARTITION

Intermediate result: best reliability always obtained bybalancing failure probabilities of each team

[email protected] October 28, 2010 Mapping pipelined applications with replication 15/ 28

Page 44: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

With heterogeneous platforms

SpeedHet-FailureHom is NP-hardbecause SpeedHet is NP-hard for period minimization

SpeedHom-FailureHet becomes NP-hard as well:balancing processors within teams is combinatorial;reduction from 3-PARTITION

Intermediate result: best reliability always obtained bybalancing failure probabilities of each team

[email protected] October 28, 2010 Mapping pipelined applications with replication 15/ 28

Page 45: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Approximation results

SpeedHom: always optimal with single interval

SpeedHet: period minimization problem (NP-hard)

The optimal single-interval mapping can be found:

sort processors by non-increasing speedsfor 1 ≤ i ≤ p, compute period using i fastest processorstime O(p log p)

Theorem: single-interval mapping is a n-approximationalgorithm for period minimization; this factor cannot beimproved

Proof sketch: start from an optimal solution, with m ≤ nintervals, and build a single interval solution, with periodP1 ≤ m × Pm

[email protected] October 28, 2010 Mapping pipelined applications with replication 16/ 28

Page 46: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Approximation results

SpeedHom: always optimal with single interval

SpeedHet: period minimization problem (NP-hard)

The optimal single-interval mapping can be found:

sort processors by non-increasing speedsfor 1 ≤ i ≤ p, compute period using i fastest processorstime O(p log p)

Theorem: single-interval mapping is a n-approximationalgorithm for period minimization; this factor cannot beimproved

Proof sketch: start from an optimal solution, with m ≤ nintervals, and build a single interval solution, with periodP1 ≤ m × Pm

[email protected] October 28, 2010 Mapping pipelined applications with replication 16/ 28

Page 47: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Approximation results

SpeedHom: always optimal with single interval

SpeedHet: period minimization problem (NP-hard)

The optimal single-interval mapping can be found:

sort processors by non-increasing speedsfor 1 ≤ i ≤ p, compute period using i fastest processorstime O(p log p)

Theorem: single-interval mapping is a n-approximationalgorithm for period minimization; this factor cannot beimproved

Proof sketch: start from an optimal solution, with m ≤ nintervals, and build a single interval solution, with periodP1 ≤ m × Pm

[email protected] October 28, 2010 Mapping pipelined applications with replication 16/ 28

Page 48: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Mono-criterion Bi-criteria Approximation

Approximation results

SpeedHom: always optimal with single interval

SpeedHet: period minimization problem (NP-hard)

The optimal single-interval mapping can be found:

sort processors by non-increasing speedsfor 1 ≤ i ≤ p, compute period using i fastest processorstime O(p log p)

Theorem: single-interval mapping is a n-approximationalgorithm for period minimization; this factor cannot beimproved

Proof sketch: start from an optimal solution, with m ≤ nintervals, and build a single interval solution, with periodP1 ≤ m × Pm

[email protected] October 28, 2010 Mapping pipelined applications with replication 16/ 28

Page 49: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Outline of the talk

1 FrameworkApplicationPlatformMappingObjective

2 Complexity resultsMono-criterionBi-criteriaApproximation results

3 Practical sideHeuristicsOptimal algorithm using A*Evaluation results

4 Conclusion

[email protected] October 28, 2010 Mapping pipelined applications with replication 17/ 28

Page 50: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Heuristics

SpeedHet-FailureHet platforms

Minimize F under a fixed upper period P∗

Counterpart problem: binary search over P∗

Two heuristics:

OneInterval: stages grouped as a single interval (motivatedby complexity results)MultiInterval: solution with multiple intervals (recall thatsingle interval may be far from optimal)

[email protected] October 28, 2010 Mapping pipelined applications with replication 18/ 28

Page 51: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Heuristics

SpeedHet-FailureHet platforms

Minimize F under a fixed upper period P∗

Counterpart problem: binary search over P∗

Two heuristics:

OneInterval: stages grouped as a single interval (motivatedby complexity results)MultiInterval: solution with multiple intervals (recall thatsingle interval may be far from optimal)

[email protected] October 28, 2010 Mapping pipelined applications with replication 18/ 28

Page 52: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

OneInterval

One single interval

Determine number of teams: try all values ` between 1 and p

For a given `, discard processors too slow for period

Assign processors to teams to minimize failure probability

From complexity results: balance reliability across teamsNP-hard problem but efficient greedy heuristic: sort processorsby non-decreasing failure probability and assign next processorto team with highest failure probability

Time complexity: O(p2 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 19/ 28

Page 53: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

OneInterval

One single interval

Determine number of teams: try all values ` between 1 and p

For a given `, discard processors too slow for period

Assign processors to teams to minimize failure probability

From complexity results: balance reliability across teamsNP-hard problem but efficient greedy heuristic: sort processorsby non-decreasing failure probability and assign next processorto team with highest failure probability

Time complexity: O(p2 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 19/ 28

Page 54: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

OneInterval

One single interval

Determine number of teams: try all values ` between 1 and p

For a given `, discard processors too slow for period

Assign processors to teams to minimize failure probability

From complexity results: balance reliability across teamsNP-hard problem but efficient greedy heuristic: sort processorsby non-decreasing failure probability and assign next processorto team with highest failure probability

Time complexity: O(p2 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 19/ 28

Page 55: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

MultiInterval

Step 1: create min(n, p) intervals (one stage per processor, orbalance computational load across intervals)

Step 2: greedily add processors to stages, to minimize maximumratio of interval computation load to accumulated processor speed

Step 3: for each interval, use OneInterval to form teams; usepreviously unallocated processors (too slow for period); increasebound on period for the interval until valid allocation returned

Step 4: if period bound not achieved for at least one interval, mergeinterval with largest period with previous or next interval, untilbound is achieved

Step 5: merge intervals with highest failure probability as long as itis beneficial

Note that OneInterval is called each time we tentatively mergetwo intervals (steps 4 and 5)

Time complexity: O(p3 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 20/ 28

Page 56: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

MultiInterval

Step 1: create min(n, p) intervals (one stage per processor, orbalance computational load across intervals)

Step 2: greedily add processors to stages, to minimize maximumratio of interval computation load to accumulated processor speed

Step 3: for each interval, use OneInterval to form teams; usepreviously unallocated processors (too slow for period); increasebound on period for the interval until valid allocation returned

Step 4: if period bound not achieved for at least one interval, mergeinterval with largest period with previous or next interval, untilbound is achieved

Step 5: merge intervals with highest failure probability as long as itis beneficial

Note that OneInterval is called each time we tentatively mergetwo intervals (steps 4 and 5)

Time complexity: O(p3 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 20/ 28

Page 57: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

MultiInterval

Step 1: create min(n, p) intervals (one stage per processor, orbalance computational load across intervals)

Step 2: greedily add processors to stages, to minimize maximumratio of interval computation load to accumulated processor speed

Step 3: for each interval, use OneInterval to form teams; usepreviously unallocated processors (too slow for period); increasebound on period for the interval until valid allocation returned

Step 4: if period bound not achieved for at least one interval, mergeinterval with largest period with previous or next interval, untilbound is achieved

Step 5: merge intervals with highest failure probability as long as itis beneficial

Note that OneInterval is called each time we tentatively mergetwo intervals (steps 4 and 5)

Time complexity: O(p3 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 20/ 28

Page 58: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

MultiInterval

Step 1: create min(n, p) intervals (one stage per processor, orbalance computational load across intervals)

Step 2: greedily add processors to stages, to minimize maximumratio of interval computation load to accumulated processor speed

Step 3: for each interval, use OneInterval to form teams; usepreviously unallocated processors (too slow for period); increasebound on period for the interval until valid allocation returned

Step 4: if period bound not achieved for at least one interval, mergeinterval with largest period with previous or next interval, untilbound is achieved

Step 5: merge intervals with highest failure probability as long as itis beneficial

Note that OneInterval is called each time we tentatively mergetwo intervals (steps 4 and 5)

Time complexity: O(p3 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 20/ 28

Page 59: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

MultiInterval

Step 1: create min(n, p) intervals (one stage per processor, orbalance computational load across intervals)

Step 2: greedily add processors to stages, to minimize maximumratio of interval computation load to accumulated processor speed

Step 3: for each interval, use OneInterval to form teams; usepreviously unallocated processors (too slow for period); increasebound on period for the interval until valid allocation returned

Step 4: if period bound not achieved for at least one interval, mergeinterval with largest period with previous or next interval, untilbound is achieved

Step 5: merge intervals with highest failure probability as long as itis beneficial

Note that OneInterval is called each time we tentatively mergetwo intervals (steps 4 and 5)

Time complexity: O(p3 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 20/ 28

Page 60: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

MultiInterval

Step 1: create min(n, p) intervals (one stage per processor, orbalance computational load across intervals)

Step 2: greedily add processors to stages, to minimize maximumratio of interval computation load to accumulated processor speed

Step 3: for each interval, use OneInterval to form teams; usepreviously unallocated processors (too slow for period); increasebound on period for the interval until valid allocation returned

Step 4: if period bound not achieved for at least one interval, mergeinterval with largest period with previous or next interval, untilbound is achieved

Step 5: merge intervals with highest failure probability as long as itis beneficial

Note that OneInterval is called each time we tentatively mergetwo intervals (steps 4 and 5)

Time complexity: O(p3 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 20/ 28

Page 61: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

MultiInterval

Step 1: create min(n, p) intervals (one stage per processor, orbalance computational load across intervals)

Step 2: greedily add processors to stages, to minimize maximumratio of interval computation load to accumulated processor speed

Step 3: for each interval, use OneInterval to form teams; usepreviously unallocated processors (too slow for period); increasebound on period for the interval until valid allocation returned

Step 4: if period bound not achieved for at least one interval, mergeinterval with largest period with previous or next interval, untilbound is achieved

Step 5: merge intervals with highest failure probability as long as itis beneficial

Note that OneInterval is called each time we tentatively mergetwo intervals (steps 4 and 5)

Time complexity: O(p3 log p)

[email protected] October 28, 2010 Mapping pipelined applications with replication 20/ 28

Page 62: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

A* algorithm

A* best-first state space search algorithmfor small problem instances

Non-linearity of failure probability:rules out the use of integer linear programming

Search space: state s is a partial solution (i.e., partialmapping), with underestimated cost value c(s)

Expansion of a partial solution with lowest c(s) value,with a stage or a processor

Complete mapping obtained: optimal solution(best-first strategy)

[email protected] October 28, 2010 Mapping pipelined applications with replication 21/ 28

Page 63: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

A* algorithm

A* best-first state space search algorithmfor small problem instances

Non-linearity of failure probability:rules out the use of integer linear programming

Search space: state s is a partial solution (i.e., partialmapping), with underestimated cost value c(s)

Expansion of a partial solution with lowest c(s) value,with a stage or a processor

Complete mapping obtained: optimal solution(best-first strategy)

[email protected] October 28, 2010 Mapping pipelined applications with replication 21/ 28

Page 64: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

A* algorithm

A* best-first state space search algorithmfor small problem instances

Non-linearity of failure probability:rules out the use of integer linear programming

Search space: state s is a partial solution (i.e., partialmapping), with underestimated cost value c(s)

Expansion of a partial solution with lowest c(s) value,with a stage or a processor

Complete mapping obtained: optimal solution(best-first strategy)

[email protected] October 28, 2010 Mapping pipelined applications with replication 21/ 28

Page 65: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

A* algorithm

A* best-first state space search algorithmfor small problem instances

Non-linearity of failure probability:rules out the use of integer linear programming

Search space: state s is a partial solution (i.e., partialmapping), with underestimated cost value c(s)

Expansion of a partial solution with lowest c(s) value,with a stage or a processor

Complete mapping obtained: optimal solution(best-first strategy)

[email protected] October 28, 2010 Mapping pipelined applications with replication 21/ 28

Page 66: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

A* algorithm

A* best-first state space search algorithmfor small problem instances

Non-linearity of failure probability:rules out the use of integer linear programming

Search space: state s is a partial solution (i.e., partialmapping), with underestimated cost value c(s)

Expansion of a partial solution with lowest c(s) value,with a stage or a processor

Complete mapping obtained: optimal solution(best-first strategy)

[email protected] October 28, 2010 Mapping pipelined applications with replication 21/ 28

Page 67: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

State tree for two stages on two processors

[Sa;Sb](P1,P2)(P3,P4)

P5,P6

: first team for this interval: second team for this interval: processors not selected

: expansion with a new stage: expansion with a new processor

: invalid state

: goal state

for the last interval

: one interval

Legend

[S1]

[S1] P1

[S1] P1,P2

[S1](P1)

[S1,S2](P1)

[S1] [S2](P1)

[S1](P1,P2)

[S2]

[S1](P1)(P2)

[S2]

[S1,S2](P1)(P2)

[S1](P1)(P2)

(P1,P2)[S1,S2]

[S1,S2] [S2][S1]

[S2][S1] P1

[S2][S1]

[S1](P1,P2)

[S1] P2

(P1)

[S2][S1] P2

[S2][S1]

empty state

[S1](P2)

P1

(P1)

(P1) (P2)

(P2)

(P2) (P1)

(P2)(P2)

[email protected] October 28, 2010 Mapping pipelined applications with replication 22/ 28

Page 68: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Underestimate cost functions

Failure probability FPartial mapping: adding team increases failure probabilityUnderestimate: add remaining processors to existing teamsNP-hard problem: consider amount of reliability available anddistribute it to the existing teams to balance their reliability

Period PNeed to check that partial solution does not exceed the bound:can be computed exactlySecond underestimate: optimal period achieved by remainingprocessors on remaining stages

NP-hard problem: consider perfect load balance: P ≤∑

wi∑su

[email protected] October 28, 2010 Mapping pipelined applications with replication 23/ 28

Page 69: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Underestimate cost functions

Failure probability FPartial mapping: adding team increases failure probabilityUnderestimate: add remaining processors to existing teamsNP-hard problem: consider amount of reliability available anddistribute it to the existing teams to balance their reliability

Period PNeed to check that partial solution does not exceed the bound:can be computed exactlySecond underestimate: optimal period achieved by remainingprocessors on remaining stages

NP-hard problem: consider perfect load balance: P ≤∑

wi∑su

[email protected] October 28, 2010 Mapping pipelined applications with replication 23/ 28

Page 70: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Heuristics vs A*

Randomly generated workload scenarios

Both heuristics close to optimal solution

OneInterval is better than MultiInterval in a few cases

A* much slower, but main limitation is memory

2 3 4 5 6 7 8 9 10

Period bound

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Failure

probability

MultiIntervalOneIntervalA*

1 2 3 4 5 6 7 8 9 10

Period bound

0

0.5

1

1.5

2

2.5

3

3.5

Run

ning

time(seconds)

MultiIntervalOneIntervalA*

[email protected] October 28, 2010 Mapping pipelined applications with replication 24/ 28

Page 71: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Performance of heuristics

Distribution of ratio between failure probability obtained by aheuristic (OneInterval in red, MultiInterval in blue) andoptimal failure probability (A*) (optimal: ratio 1)

On average, heuristics 20% above optimal

Ratio 10: cases in which heuristics find no solution (≈ 10%)

1 2 3 4 5 6 7 8 9 10

Ratio of the failure probability to the optimal one

0

10

20

30

40

50

60

70

Frequ

ency

(%)

1 2 3 4 5 6 7 8 9 10

Ratio of the failure probability to the optimal one

0

10

20

30

40

50

60

70

Frequ

ency

(%)

[email protected] October 28, 2010 Mapping pipelined applications with replication 25/ 28

Page 72: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Larger scenarios

OneInterval better in 61% of the cases

MultiInterval better in 20% of the cases

On average, failure probability of OneInterval 2% aboveMultiInterval

Comparison of OneInterval with optimal single-intervalsolution (easy to compute with A*): in average, 0.05% aboveoptimal, and 5% in the worst case

[email protected] October 28, 2010 Mapping pipelined applications with replication 26/ 28

Page 73: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Larger scenarios

OneInterval better in 61% of the cases

MultiInterval better in 20% of the cases

On average, failure probability of OneInterval 2% aboveMultiInterval

Comparison of OneInterval with optimal single-intervalsolution (easy to compute with A*): in average, 0.05% aboveoptimal, and 5% in the worst case

[email protected] October 28, 2010 Mapping pipelined applications with replication 26/ 28

Page 74: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion Heuristics A* Evaluation

Larger scenarios

OneInterval better in 61% of the cases

MultiInterval better in 20% of the cases

On average, failure probability of OneInterval 2% aboveMultiInterval

Comparison of OneInterval with optimal single-intervalsolution (easy to compute with A*): in average, 0.05% aboveoptimal, and 5% in the worst case

[email protected] October 28, 2010 Mapping pipelined applications with replication 26/ 28

Page 75: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Outline of the talk

1 FrameworkApplicationPlatformMappingObjective

2 Complexity resultsMono-criterionBi-criteriaApproximation results

3 Practical sideHeuristicsOptimal algorithm using A*Evaluation results

4 Conclusion

[email protected] October 28, 2010 Mapping pipelined applications with replication 27/ 28

Page 76: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Conclusion and future work

Exhaustive complexity study

polynomial time algorithm for SpeedHom-FailureHomplatformsNP-completeness with one level of heterogeneityapproximation results to compare single interval solution withany other solution

Practical solution to the problem

efficient heuristics (inspired by theoretical study) forSpeedHet-FailureHet platformsA* algorithm with non-trivial underestimate functionsexperimental results: very good behaviour of heuristics

Future work

further approximation resultsenhanced multiple interval heuristicsimproved A* techniques

[email protected] October 28, 2010 Mapping pipelined applications with replication 28/ 28

Page 77: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Conclusion and future work

Exhaustive complexity study

polynomial time algorithm for SpeedHom-FailureHomplatformsNP-completeness with one level of heterogeneityapproximation results to compare single interval solution withany other solution

Practical solution to the problem

efficient heuristics (inspired by theoretical study) forSpeedHet-FailureHet platformsA* algorithm with non-trivial underestimate functionsexperimental results: very good behaviour of heuristics

Future work

further approximation resultsenhanced multiple interval heuristicsimproved A* techniques

[email protected] October 28, 2010 Mapping pipelined applications with replication 28/ 28

Page 78: Mapping pipelined applications with replication to ...abenoit/slides/sbacpad10.pdf · Mapping pipelined applications with replication to increase throughput and reliability Anne Benoit1;2,

Framework Complexity Practical Conclusion

Conclusion and future work

Exhaustive complexity study

polynomial time algorithm for SpeedHom-FailureHomplatformsNP-completeness with one level of heterogeneityapproximation results to compare single interval solution withany other solution

Practical solution to the problem

efficient heuristics (inspired by theoretical study) forSpeedHet-FailureHet platformsA* algorithm with non-trivial underestimate functionsexperimental results: very good behaviour of heuristics

Future work

further approximation resultsenhanced multiple interval heuristicsimproved A* techniques

[email protected] October 28, 2010 Mapping pipelined applications with replication 28/ 28