Principali Algoritmi di Scheduling

Slides:



Advertisements
Presentazioni simili
Modello Macchina Singola
Advertisements

Controllo delle operazioni su una macchina
Automazione Industriale
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
3.2 Algoritmo di Moore per la minimizzazione dei lavori in ritardo
Gestione del processore (Scheduler)
Flusso di Costo Minimo Applicazione di algoritmi: Cammini Minimi Successivi (SSP) Esercizio 1 Sia data la seguente rete di flusso, in cui i valori riportati.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Indici di Posizione Giulio Vidotto Raffaele Cioffi.
Le Frazioni Prof.ssa A.Comis.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Giovanni Finaldi Russo Pietro Bruno
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Cammini minimi in grafi:
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Algoritmi di stima con perdita di pacchetti in reti di sensori wireless: modellizzazione a catene di Markov, stima e stima distribuita Chiara Brighenti,
La costruzione di un reticolo
Algoritmi di diagonalizzazione
Offerta in concorrenza perfetta: il lato dei costi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Write-only, read-only.
Alberi binari Definizione Sottoalberi Padre, figli
Lezione n°17 Prof.ssa Rossella Petreschi
B-alberi e alberi autoaggiustanti
Il problema del cammino minimo
Programmazione strutturata
Lock a tre valori.
Sulla complessità Lezione n°2
I QUADRILATERI.
Usi (meno scontati) della visita DFS
Algoritmi approssimati
Lock binario.
Lezione n°4 Prof.ssa Rossella Petreschi
Programmazione Intera
ANALISI DELLE DISTRIBUZIONI STATISTICHE
K4 è planare? E K3,3 e K5 sono planari? Sì!
Lezione n°12 Prof.ssa Rossella Petreschi
Codicfiche Interi Complemento alla base.
Il sistema di numerazione decimale
ABBINAMENTO Lezione n°13
Algoritmi e Strutture Dati
Programmazione Dinamica: tecnica risolutiva che conduce all’ottimo, non fornisce algoritmi risolutivi generali. Stadi: fasi in cui il problema è scomposto.
Algoritmi per il flusso nelle reti
Algoritmi per il flusso nelle reti
Lezione n°6 Prof.ssa Rossella Petreschi
Matrici Definizioni Matrici Rettangolari Quadrate 02/01/2019
Scrivere programmi corretti
Branch and Bound Lezione n°18 Prof.ssa Rossella Petreschi
Ordinamento in tempo lineare
Introduzione agli Algoritmi e alle Strutture Dati
PROBLEMA: DATI DUE NUMERI, SCRIVERLI IN ORDINE CRESCENTE.
Schema generale, visita in ampiezza e profondità.
Backtracking.
Usi (meno scontati) della visita DFS
Astrazione e Concretizzazione
Algoritmi Avanzati Prof.ssa Rossella Petreschi
* 07/16/96 Sez. 2: Ordinamento La consultazione di banche dati è sempre più cruciale in tutte le applicazioni dell’Informatica. Se vogliamo consultare.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Backtracking Lezione n°17 Prof.ssa Rossella Petreschi
Cammini minimi in grafi:
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Economia politica Lezione 17
Grafi e problem solving
Lezione n°7 Splay-Trees e Heaps Prof.ssa Rossella Petreschi
Scheduling (Schedulazione)
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Unione per ranghi compressi
Algoritmi di ordinamento
Transcript della presentazione:

Principali Algoritmi di Scheduling 31/12/2018

1 / / F: Shortest Job First p[1] p[2] . . . p[n] (le misure sono in questo caso equivalenti) < < < C, W, L 31/12/2018

1 / / Lmax: Algoritmo di Jackson: Earliest Due Date First d[1] d[2] . . . d[n] < < < 31/12/2018

1 / / nT: Algoritmo di Moore-Hodgson: Ordino secondo le date di consegna. Se il primo lavoro che fa ritardo è il k-esimo, escludo il più lungo fra i primi k e ricomincio. 31/12/2018

1 / ri / Lmax: è equivalente allo zaino 1 / ri , pi = 1 / Lmax: Jackson generalizzato (si schedula il primo che scade tra quelli arrivati) 1 / ri / Lmax: se le date di consegna sono tutte uguali si ordina in base a ri 31/12/2018

1 / / Tmax e : Algoritmo di Smith Tra quelli con : dh Σ pi si mette per ultimo quello con ph massimo. F > 31/12/2018

1 / prec / fmax : Algoritmo di Lawler Sia f(r,p,c,d) non decrescente rispetto a c e poniamo fi = f(ri, pi, ci, di). La misura fmax può essere minimizzata con il seguente algoritmo. Trovare il pozzo k che minimizza f( rk, pk, Σ pi, dk ), Metterlo all’ultimo posto disponibile, Procedere analogamente sui lavori rimanenti. 31/12/2018

Lawler. Esempio con f(c,d) = c-d = L. 1. Σ pi = 12, pozzi J4 e J5: f(12,d4) = 1 < f(12,d5) = 5. 2. Σ pi = 10, pozzi J2 e J5: f(10,d5) = 3 < f(10,d2) = 4. (p1=2, d1=3) (p2=3,d2=6) J1 J1 J2 J2 (p4=2,d4=11) 3. Σ pi = 9, pozzi J2 e J3: f(9,d3) = 1 < f(9,d2) = 3. J4 J4 J3 J3 (p3=4,d3=8) J5 J5 4. Pozzo J2 (p5=1,d5=7) 5. Pozzo J1 J1 J2 J3 J5 J4 0 1 2 3 4 5 6 7 8 9 10 11 12 31/12/2018

Algoritmi per macchine parallele 31/12/2018

P / / F: Si assegna il prossimo lavoro più corto alla macchina che ha lavorato meno. P2/ / Cmax: è NP-completo 31/12/2018

Algoritmo di McNaughton distribuire i lavori in modo che risulti: Pm / preempt / Cmax: Algoritmo di McNaughton distribuire i lavori in modo che risulti: cmax = max( Σ pi / m, max pi ) (seguono esempi) 31/12/2018

Tre lavori unitari su due macchine: McNaughton (Esempio 1). Tre lavori unitari su due macchine: J1 J2 J3 macchina 1 macchina 2 J1 J3 J3 J2 0 0.5 1.0 1.5 (è ammesso iniziare un lavoro in una macchina e finirlo su un’altra) 31/12/2018

McNaughton (Esempio 2). Due macchine. Tre lavori con durate: 1, 1, 2.2. J1 J2 J3 macchina 1 macchina 2 J1 J2 J3 0 1 2 2.2 31/12/2018

Pm / intree, pi = 1 / Cmax: Algoritmo di Hu Etichettare i nodi con la distanza massima da un pozzo. Se il numero di sorgenti è minore di m, schedularle e rimuoverle, altrimenti schedulare le m sorgenti con etichette maggiori e rimuoverle. Se il grafo non è vuoto tornare al passo 2. 31/12/2018

Hu. Esempio con due macchine 2 1 2 2 3 1 2 31/12/2018

L’algoritmo di Hu può non funzionare se le precedenze non formano un intree 1 2 Cmax = 5 2 1 2 1 1 2 Cmax = 4 2 1 2 1 31/12/2018

Algoritmo di Muntz-Coffman P2 / preempt, prec / Cmax: Algoritmo di Muntz-Coffman Rendere i lavori unitari (usare preempt e prec) Etichettare i nodi con la distanza massima da un pozzo. - Se vi è una sola sorgente schedularla e rimuoverla, - altrimenti: se vi è una sola sorgente con etichetta massima, accoppiarla ad una sorgente di etichetta massima tra quelle minori, schedulare la coppia e rimuoverla, - altrimenti: le sorgenti con etichetta massima sono almeno 2, schedulare tutte le sorgenti con etichetta massima (McNaughton) e rimuoverle. Se il grafo non è vuoto tornare al passo 3. 31/12/2018

3. Raggruppare e schedulare le sorgenti Muntz-Coffman. Esempio con due macchine 3. Raggruppare e schedulare le sorgenti 2. Etichettare i nodi con la massima distanza da un pozzo 1. Rendere i lavori unitari J5 J1 1 3 J4 J2 J7 2 J3 J6 m1 m2 J1 J2 J3 J4/1 J5 J4/2 J6 J7 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 31/12/2018

Muntz-Coffman: quando vi è un sola sorgente con etichetta massima è importante accoppiarla con una sola sorgente di etichetta massima minore (quando possibile). J5 J1 1 3 J4 J2 J7 3 2 1 J3 J6 3 1 m1 m2 J1 J2 J3 J4/1 J6 J5 J4/2 J7 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 31/12/2018

Algoritmi per macchine in serie (flow shop) Flow shop: se un lavoro visita la macchina i e poi la macchina j, allora i<j (ossia un lavoro non può visitare la macchina i e poi un’altra macchina con indice più piccolo). 31/12/2018

Regola di Johnson per F2 / / Cmax: Se Proprietà 1: Rispetto a una misura regolare, è sufficiente considerare schedule in cui la stessa sequenza di lavori si presenta nelle macchine 1 e 2. Proprietà 2: Rispetto alla misura Cmax, è sufficiente considerare schedule in cui la stessa sequenza di lavori si presenta nelle ultime due macchine. Regola di Johnson per F2 / / Cmax: Se min( pi1, pj2 ) < min( pi2, pj1 ) allora il lavoro i precede il lavoro j nello schedule ottimo. 31/12/2018

F2 / / Cmax: Algoritmo di Johnson Trovare ph1 = mini( pi1 ) e pk2 = mini( pi2 ), Se ph1< pk2, si pone il lavoro h nella prima posizione libera da sinistra altrimenti, si pone il lavoro k nella prima posizione libera da destra Se ci sono ancora lavori tornare al passo 1. 31/12/2018

F2 / / Cmax: Algoritmo di Johnson: implementazione Sia U = {i: pi1 < pi2 } e V = {i: pi1 > pi2 }, Ordinare U in ordine non decrescente di pi1, Ordinare V in ordine non crescente di pi2, Una sequenza ottima è data da U seguito da V. 31/12/2018