Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


algoritmo load balancing, Dispense di Informatica

algoritmo di bilanciamento carico

Tipologia: Dispense

2018/2019

Caricato il 01/03/2019

doriz
doriz 🇮🇹

1 documento

1 / 17

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
11.1 Load Balancing
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica algoritmo load balancing e più Dispense in PDF di Informatica solo su Docsity!

11.1 Load Balancing

Load Balancing

Input. m identical machines; n jobs, job j has processing time t

j

■ Job j must run contiguously on one machine.

■ A machine can process at most one job at a time.

Machine 3

Machine 2

0 Time

Machine 1

A B D

C

E

List-scheduling algorithm.

■ Consider n jobs in some fixed order.

■ Assign job j to machine whose load is smallest so far.

A D

F

B C E

Machine 3

Machine 2

0 Time

Machine 1

H I J

G

Machine 3

Machine 2

Machine 1 A

D

F

B

C E

0 Time

H I J

G

Machine 3

Machine 2

Machine 1 A

D

F

B

C

E

0 Time

H I J

G

Machine 3

Machine 2

Machine 1 A

F

B

C

E

0 Time

H I J

G

D

G

Machine 3

Machine 2

Machine 1 A

F

B

C

E

0 Time

H I J

D

Machine 3

Machine 2

Machine 1 A

F

B

C

E

0 Time

I

H

J

D G

Machine 3

Machine 2

Machine 1 A

F

B

C

G

E

0 Time

H I

J

D G

Machine 3

Machine 2

Machine 1 A

D

F

B

C

G

E

H I

J

Machine 3

Machine 2

Machine 1

A

D

F

B

C

G

E

I

H

J

Optimal Schedule

List schedule

List-scheduling algorithm.

■ Consider n jobs in some fixed order.

■ Assign job j to machine whose load is smallest so far.

Implementation. O(n log m) using a priority queue.

List-Scheduling(m, n, t

1

,t

2

,…,t

n

for i = 1 to m {

L

i

J(i) ← φ

for j = 1 to n {

i = minimum min

k

L

k

J(i)J(i){j}

L

i

← L

i

+ t

j

return J(1), …, J(m)

jobs assigned to machine i

load on machine i

machine i has smallest load

assign job j to machine i

update load of machine i