new heuristics and integer programming formulations for …celso/talks/ppt0000001.pdf · 2 agenda...

38
1 New Heuristics and Integer Programming Formulations for Scheduling Divisible Load Tasks Elbio R. Abib (Microsoft, USA) Celso C. Ribeiro (UFF, Brazil) IEEE CISched 2009, Nashville

Upload: others

Post on 12-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

1

New Heuristics and Integer Programming Formulations forScheduling Divisible Load Tasks

Elbio R. Abib (Microsoft, USA)Celso C. Ribeiro (UFF, Brazil)

IEEE CISched 2009, Nashville

Page 2: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

2

AgendaDivisible load model

System model and problem formulationSingle- and multi-installment scheduling

Single-installments: mixed integer programmingLinear-time algorithm for a given activation order Fast constructive heuristic with feedbackComputational experimentsMultiple-installments: mixed integer programming

Page 3: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Divisible load model

Page 4: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

4

Divisible load modelLoad may be split continuously into arbitrarily many small chunksNo precedence constraints

Page 5: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Interconnection topology: star networkDedicated grid

Model: one master - n workersMaster owns the total load W

No communication/computation overlap in any processor

5

System model and problem formulation

No communicationoverlap through the master

Page 6: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

6

System model and problem formulation

Single-installment schedulingEach processor receives portion αi of total load Master takes gi + Gi αi time units to send the data to processor Pi

Processor Pi takes wi αi time units to process dataFixed latency gi

Variable communication time Gi αi

Variable computationtime wi αi

Page 7: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

7

Single-installment schedulingmakespanOptimal scheduling

makespanNon-optimal scheduling

Page 8: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

8

Multi-installment scheduling

New period New period

Communication/computation concurrency

Page 9: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Related workDivisible load model introduced by Cheng and Robertazzi (1988)Effect of latency in communication studied by Blazewicz and Drozdowski (1997)Beaumont et al. (2005): non-linear integer programming formulation for single-installment systems with latenciesLinear integer programming formulations for single- and multi-installment systems with latencies not available

9

Page 10: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Single-installment mixed integer programming formulation

Page 11: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Problem consists of determiningthe processors to be used (and their number),their activation order, and their loads,

... so as to minimize the makespan.

11

Single-installment scheduling

Page 12: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

12

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

makespan

Page 13: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

13

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

At most one processor can be the j-th to be activated

Page 14: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

14

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

A processor may be activated in at most one position

Page 15: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

15

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

A processor may be the (j+1)-th to be activated only if there are other j processors already activated

Page 16: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

16

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

Total load W has to be processed

Page 17: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

17

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

Processor i can only receive load as the j-th if it is the j-th to be activated

Page 18: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

18

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

First processor is activated at time t1=0

Page 19: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

19

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

Communication link is sequentially used: j-th activated processor starts receiving data after (j-1)-th finishes

Page 20: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

20

Formulationxij=1, if processor Pi is the j-th to be activated and to receive dataxij=0, otherwise

αij>0, is the amount of data sent to Pi if it is the j-th to be activatedα ij=0, otherwise

tj is the time in which the j-th processor to be activated startsreceiving its data

All processors finish at the same time T

Page 21: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Linear-time algorithm for a given activation order

Page 22: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

22

Linear-time algorithm for a given activation order

Blazewicz and Drozdowski (1997): if the activation order and the number of processors are known, the optimal loads are:

Page 23: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

23

Linear-time algorithm for a given activation order

may be recursively defined as

may be computed in time O(1)

Optimal solution has the maximum number of processors such that

Page 24: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Algorithm:Compute F(k) for k=1,…, n in time O(n)Compute V(k) for k=1,…, n in time O(n)Optimal number of processors is the largest number of processors k such that V(k) ≤ WLoad assigned to each processor can be computed in time O(n) as described by Blazewicz and Drozdowski (1997)

24

Linear-time algorithm for a given activation order

Page 25: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Fast constructive heuristic with feedback

Page 26: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Constructive feedback heuristicHeuristic for scheduling divisible loads may be seen as any algorithm that generates a “good”activation order and computes the associated optimal loads. Constructive feedback heuristic makes use of the idea of equivalent processorsEach solution is uniquely associated with:

activation order given by a vector πmakespan T

Page 27: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Constructive feedback heuristicEquivalent processor:

Given a time period T, if a load αi = (T-gi) / (wi+Gi) is sent to Pi then it remains busy with communication and processing for this full time period

Equivalent to a processor Pieq with the same

processing power, no communication latency, and throughput 1/Gi

eq =1/[Gi + (gi / αi)]

Optimal activation order for a system with no latencies: processors with higher communication throughput receive data first

Page 28: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Create activation order π with higher throughput processors first

UB = optimal makespan for activation order πRepeat

BestOrder = πT* = UB

Compute new order π

UB = optimum makespan for new activation order πUntil UB ≥ T*

Constructive feedback heuristic

Page 29: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Create activation order π with higher throughput processors first

UB = optimal makespan for activation order πRepeat

BestOrder = πT* = UB

For j = 1, ..., n do

Compute equivalent processor Pieq for each Pi not in π[1], ..., π[j-1]

π[ j ] = processor whose equivalent has the highest throughputUpdate remaining time UB by subtracting the time taken by that

processor

UB = optimum makespan for activation order πUntil UB ≥ T*

Constructive feedback heuristic

Page 30: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Computational experiments

Page 31: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

31

Computational experiments

120 grid configurationsNumber of processors: 10, 20, 40, 80, and 160

24 configurations of and

Load W: 100, 200, 400, 800, 1600, and 3200

CPLEX time limit 3600 seconds

Page 32: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

32

Computational experimentsCPLEX solved 490 out of 720 test instances

Page 33: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

33

Computational experimentsFeedback heuristic found optimal solutions for 398 out of the 490 instances for which CPLEX found the optimum

Page 34: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

34

Computational experimentsAverage deviation from optimal value smaller than 0.5% for most of the remaining 92 instances solved to optimality by CPLEX

Heuristic ran for 3ms on average and never for more than 32ms

Page 35: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Multiple-installment mixed integer programming formulation

Introduction

Page 36: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

36

Formulation In this case, model also determines the optimal number of installments.

Page 37: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

37

FormulationPreliminary results show significant improvements in the makespans are possible, with respect to those obtained by single- and multi-round heuristics.

Page 38: New Heuristics and Integer Programming Formulations for …celso/talks/Ppt0000001.pdf · 2 Agenda Divisible load model System model and problem formulation Single- and multi-installment

Concluding remarks

New mixed integer programming formulations for single- and multi-round schedulings.Linear-time algorithm for the special case in which the processor activation order is known.Fast and effective greedy-with-feedback heuristic.Randomized multistart version of feedback heuristic with local search.Extension to multi-round schedulings.