63
PRE-ORDER DEFICIT ROUND ROBIN Bandini Alessio, Fontanelli Giacomo, Gemignani Francesco, Ghionzoli Samuele Architetture Avanzate di Networking e Sistemi Wireless A.A. 2006/2007 1

PRE-ORDER DEFICIT ROUND ROBIN

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PRE-ORDER DEFICIT ROUND ROBIN

PRE-ORDER DEFICIT ROUND ROBIN

Bandini Alessio, Fontanelli Giacomo, Gemignani Francesco, Ghionzoli Samuele

Architetture Avanzate di Networking e Sistemi WirelessA.A. 2006/2007

1

Page 2: PRE-ORDER DEFICIT ROUND ROBIN

OUTLINEAlgoritmo PDRR.Simulazioni di progetto:

Analisi delle prestazioni del PDRR e confronto con le misure effettuate con l'algoritmo DRR nei seguenti scenari:

1. Scenario di default: variazione del numero di nodi da 2 a 10.

2. Variable Forwarding Rate: numero di nodi pari a 5 e variazione del rate di invio del tagged flow tra 200 e 1000 Kbps.

3. Variable Packet Size: numero di nodi pari a 5 e variazione della lunghezza dei pacchetti del tagged flow tra 200 e 1500 bytes.

Valutazione delle misure in condizioni di rete sovraccarica e non.

Conclusioni.

2

Page 3: PRE-ORDER DEFICIT ROUND ROBIN

ALGORITMO PDRR

3

Page 4: PRE-ORDER DEFICIT ROUND ROBIN

LIMITI DEL DEFICIT ROUND ROBIN

Ipotesi:Flussi con pacchetti di dimensione fissa (200, 400, 100, 500)Flussi heavily-backloggedQuantum impostato a 400 per ogni flussoI primi pacchetti di ogni flusso arrivano allo stesso istante

4

Page 5: PRE-ORDER DEFICIT ROUND ROBIN

LIMITI DEL DEFICIT ROUND ROBIN

1. I pacchetti 1, 4 e 6 non rispettano l’ordine di uscita tipico di un modello fluido.

2. I pacchetti 6, 7, 8 e 9 vengono inviati in un singolo burst.3. Elevato tempo di attesa del pacchetto B.

5

Page 6: PRE-ORDER DEFICIT ROUND ROBIN

SOLUZIONI PROPOSTE

Incremento del QuantumVantaggio: minor tempo di attesa per il pacchetto B.Svantaggio: aumento generale del delay.

Riduzione del QuantumVantaggio: miglior approssimazione del modello a fluido.Svantaggio: aumento della complessità e conseguente aumento del delay.

Pre-Order queueing

6

Page 7: PRE-ORDER DEFICIT ROUND ROBIN

PRE-ORDER QUEUEING

L’idea di base è:

“ Riordinare la sequenza di trasmissione dei pacchetti risultante dal DRR, e quindi permettere ad ogni flusso di utilizzare il

proprio Quantum in parti più piccole durante tutto il round. ”

PRE-ORDER DEFICIT ROUND ROBIN (PDRR)

7

Page 8: PRE-ORDER DEFICIT ROUND ROBIN

ARCHITETTURA PDRR

•Assegnamento del Quantum e funzionamento a round identici al DRR.•Distribuzione dei pacchetti in code di priorità.•Preemption. 8

Page 9: PRE-ORDER DEFICIT ROUND ROBIN

Calcola in quale coda di priorità deve essere inserito il pacchetto.

ARCHITETTURA PDRRCLASSIFIER

⎣ ⎦⎥⎥⎦

⎢⎢⎣

⎢−=

⎥⎥⎦

⎢⎢⎣

⎢−=−=

i

mi

i

mim

imi PQG

nterDeficitCouZ

QuantumZnterDeficitCou

ZZQAZp**

ZQuantum

ygranularitqueuepriorityPQG

esimoiflussodelQuantumQuantumqueueing.orderprenelesimompacchettodel

ntol'inserimedopoesimo,iflussodelCounterDeficitnterDeficitCoupriorità.dicodedinumeroZ

QuantumnterDeficitCou

tyAvailabiliQuantumQA

esimo.iflussodelesimompacchettodelprioritàp

ii

i

mi

i

mim

i

mi

==

−=−−

−==

==

−−=

.

9

Page 10: PRE-ORDER DEFICIT ROUND ROBIN

DRR:Quantum e buffer distinti per flusso.Mantenimento ActiveList.

IMPLEMENTAZIONE PDRRCLASSIFIER:Calcolo delle priorità.Inserimento nelle code di priorità.

PRIORITY QUEUEING:Implementazione con min-heap.Implementazione per flusso e non per

pacchetto.Numero di nodi pari al numero di flussi

attivi.Complessità ~O(Nlog(N))Riordinamento all’interno di una stessa

coda di priorità secondo la sequenza di visita dei flussi attivi.

10

Page 11: PRE-ORDER DEFICIT ROUND ROBIN

SIMULAZIONE DI VERIFICASCENARIO DI ESEMPIO

11

Page 12: PRE-ORDER DEFICIT ROUND ROBIN

SIMULAZIONE DI VERIFICAMODELLO TCL

12

Page 13: PRE-ORDER DEFICIT ROUND ROBIN

La sequenza di uscita è la stessa riportata nell’articolo degli autori.La sequenza di uscita si ripete con periodicità.Ordinamento all’interno della coda di priorità.

13

Page 14: PRE-ORDER DEFICIT ROUND ROBIN

Quantum del flusso 4 impostato a 2000.

Partenza del flusso 4 ritardata a 5.1 secondi.

2000x1x

4*500)(x4 =⇒=−

14

Page 15: PRE-ORDER DEFICIT ROUND ROBIN

SIMULAZIONI DI PROGETTO

15

Page 16: PRE-ORDER DEFICIT ROUND ROBIN

STRUMENTI E CONFIGURAZIONISTRUMENTI:

Ns2measureStat utilitiesGnuplot

IMPOSTAZIONI:Bins = 1000MinRun = 5MaxRun = 50

SCRIPT:TclShellGnuplot

METRICHE SCALARI:Valor medio del delay.Valor medio del valore assoluto del jitter.

METRICHE DISTRIBUITE:Distribuzione del delay.Distribuzione del jitter.

Tutte le metriche sono state misurate con intervallo di confidenza al 95%.

16

Page 17: PRE-ORDER DEFICIT ROUND ROBIN

SIMULAZIONI DI PROGETTOScenario di default

17

Page 18: PRE-ORDER DEFICIT ROUND ROBIN

SCENARIO DI DEFAULT

18

Page 19: PRE-ORDER DEFICIT ROUND ROBIN

CONSIDERAZIONI INIZIALIEND-TO-END DELAY

End-to-end delay al variare del numero di code di priorità1. Delay minore per numero di code di priorità multiplo di 3.2. Delay maggiore per numero di code di priorità pari a 2. 19

Page 20: PRE-ORDER DEFICIT ROUND ROBIN

CONSIDERAZIONI INIZIALIEND-TO-END DELAY

1. Delay minore per numero di code di priorità multiplo di 3:

Packet Size multipla della granularità.

20

Page 21: PRE-ORDER DEFICIT ROUND ROBIN

CONSIDERAZIONI INIZIALIEND-TO-END DELAY

2. Delay maggiore per numero di code di priorità pari a 2:

Buona parte dei pacchetti dei K flussi di “disturbo” hanno dimensione minore di 1000 byte. Tali pacchetti sono in numero più elevato rispetto ai pacchetti del Tagged Flow.

I K flussi si riattivano più velocemente rispetto al Tagged Flow.

I pacchetti del Tagged Flow assumono priorità 2-1-2 periodicamente.

21

Page 22: PRE-ORDER DEFICIT ROUND ROBIN

CONSIDERAZIONI INIZIALIVALOR MEDIO DEL VALORE ASSOLUTO DEL JITTER

Jitter al variare del numero di code di priorità1. Andamento praticamente costante dopo i primi nodi.2. Attenuazione della burstiness iniziale.3. Diminuzione globale all’aumentare delle code di priorità. 22

Page 23: PRE-ORDER DEFICIT ROUND ROBIN

CONSIDERAZIONI INIZIALIVALOR MEDIO DEL VALORE ASSOLUTO DEL JITTER

1. Andamento praticamente costante dopo i primi nodi.2. Attenuazione della burstiness iniziale.3. Diminuzione globale all’aumentare delle code di priorità.

Il traffico, distribuendosi su diverse code di priorità, porta alla frammentazione di eventuali burst. All’aumentare del numero di code,

questo fenomeno è sempre più evidente, arrivando quasi a simulare un traffico CBR.

23

Page 24: PRE-ORDER DEFICIT ROUND ROBIN

SCENARIO DI DEFAULTANALISI DEL DELAY - VALOR MEDIO

Andamento PDRR peggiore del DRR solo per 2 code di priorità:Più del 66% dei pacchetti del tagged flow viene inserito in 2° ed ultima coda.

24

Page 25: PRE-ORDER DEFICIT ROUND ROBIN

SCENARIO DI DEFAULTANALISI DEL DELAY – DISTRIBUZIONE

DRR

PDRR con 2 code

25

Page 26: PRE-ORDER DEFICIT ROUND ROBIN

SCENARIO DI DEFAULTANALISI DEL DELAY – DISTRIBUZIONE

DRR

PDRR con 3 code

26

Page 27: PRE-ORDER DEFICIT ROUND ROBIN

SCENARIO DI DEFAULTANALISI DEL JITTER

L’andamento del PDRR per 2 code di priorità è il peggiore:Più del 66% dei pacchetti del tagged flow viene inserito in 2° ed ultima coda, questo comporta una maggiore irregolarità del traffico e relativo aumento del jitter.

27

Page 28: PRE-ORDER DEFICIT ROUND ROBIN

SCENARIO DI DEFAULTANALISI DEL DELAY (VALOR MEDIO) – RETE SOVRACCARICA

28

Page 29: PRE-ORDER DEFICIT ROUND ROBIN

Osservazione 1: incremento complessivo del delay.

Il flusso Tagged Flow è sempre l’ultimo in qualunque coda di priorità venga inserito, dal momento che è l’unico che può

diventare temporaneamente idle. Essendo i flussi k sempre backlogged il Tagged Flow subisce un ritardo maggiore.

SCENARIO DI DEFAULTANALISI DEL DELAY (VALOR MEDIO) – RETE SOVRACCARICA

29

Page 30: PRE-ORDER DEFICIT ROUND ROBIN

Osservazione 2: prestazioni PDRR migliori del DRR.

Nel DRR il Tagged Flow occupa sempre l’ultima posizione nell’active list, e quindi deve aspettare che vengano serviti tutti i k

flussi che lo precedono, i quali sono heavily backlogged.

SCENARIO DI DEFAULTANALISI DEL DELAY (VALOR MEDIO) – RETE SOVRACCARICA

30

Page 31: PRE-ORDER DEFICIT ROUND ROBIN

SCENARIO DI DEFAULTANALISI DEL JITTER – RETE SOVRACCARICA

31

Page 32: PRE-ORDER DEFICIT ROUND ROBIN

Osservazione 1: andamento costante senza la presenza del burst iniziale tipico degli scenari precedenti.

Il Tagged Flow viene servito con cadenza costante, similmente adun tipo di traffico CBR.

SCENARIO DI DEFAULTANALISI DEL JITTER – RETE SOVRACCARICA

32

Page 33: PRE-ORDER DEFICIT ROUND ROBIN

Osservazione 2: nel PDRR, il valor medio del valor assoluto del jitter è minore del caso con rete non sovraccarica.

Avendo più pacchetti per i k flussi, è più improbabile che si formino burst, perché il traffico del Tagged Flow è distribuito su un numero

maggiore di pacchetti.

SCENARIO DI DEFAULTANALISI DEL JITTER – RETE SOVRACCARICA

33

Page 34: PRE-ORDER DEFICIT ROUND ROBIN

Osservazione 3: nel DRR, il valor medio del valor assoluto del jitter è maggiore del caso con rete non sovraccarica.

SCENARIO DI DEFAULTANALISI DEL JITTER – RETE SOVRACCARICA

Dal momento che la sequenza di burst rimane la stessa e che il traffico generato dai k flussi aumenta, aumenta conseguentementeanche il delay medio fra due burst consecutivi.

34

Page 35: PRE-ORDER DEFICIT ROUND ROBIN

SIMULAZIONI DI PROGETTOVariable Forwarding Rate

35

Page 36: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE FORWARDING RATE

36

Page 37: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE FORWARDING RATE ANALISI DEL DELAY - VALOR MEDIO

• Aumento del delay mano a mano che il forwarding rate del Tagged Flow tende al rete di servizio garantito tramite la scelta del Quantum (1 Mbps).

37

Page 38: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE FORWARDING RATE ANALISI DEL DELAY – DISTRIBUZIONE

DRR

PDRR con 2 code

38

Page 39: PRE-ORDER DEFICIT ROUND ROBIN

DRR

PDRR con 3 code

VARIABLE FORWARDING RATE ANALISI DEL DELAY – DISTRIBUZIONE

39

Page 40: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE FORWARDING RATE ANALISI DEL JITTER

40

Page 41: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE FORWARDING RATE ANALISI DEL DELAY (VALOR MEDIO) – RETE SOVRACCARICA

41

Page 42: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE FORWARDING RATE ANALISI DEL JITTER – RETE SOVRACCARICA

42

Page 43: PRE-ORDER DEFICIT ROUND ROBIN

O.24 Mbps:

Un pacchetto ogni 3 round.

0.29 Mbps: Tempo di trasmissione = 27 ms

Un pacchetto alternativamente ogni 2/3 round.

0.36 Mbps: Tempo di trasmissione = 22 ms

Un pacchetto ogni 2 round.

round urataDàPeriodicit

netrasmissio di Tempo=

VARIABLE FORWARDING RATE ANALISI DEL JITTER PDRR – RETE SOVRACCARICA

ms 1131

10*0.24Mbpsbits 8000

6 =∗=roundD

43

Page 44: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE FORWARDING RATE ANALISI DEL JITTER – RETE SOVRACCARICA

44

Page 45: PRE-ORDER DEFICIT ROUND ROBIN

SIMULAZIONI DI PROGETTOVariable Packet Size

45

Page 46: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE

46

Page 47: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL DELAY - VALOR MEDIO

47

Page 48: PRE-ORDER DEFICIT ROUND ROBIN

Osservazione 1: il DRR presenta uno scalino in corrispondenza di packet size pari a 750 bytes.

Per pacchetti di dimensioni inferiori a 750 bytes, il DRR può iniviare almeno 2 pacchetti in ogni round. Ciò non è vero per

dimensioni superiori.

VARIABLE PACKET SIZE ANALISI DEL DELAY - VALOR MEDIO

48

Page 49: PRE-ORDER DEFICIT ROUND ROBIN

Osservazione 2: il PDRR presenta un ritardo migliore per PacketSize=k*granularity, con k=1,…, Z.

Per pacchetti di dimensioni di poco superiori a k*granularity, il delay subisce un degrado istantaneo: ciò dipende dalla priorità

associata ad ogni pacchetto del Tagged Flow.

VARIABLE PACKET SIZE ANALISI DEL DELAY - VALOR MEDIO

49

Page 50: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL DELAY - VALOR MEDIO

Appena superate le soglie k*granularity, la coda associata al primo pacchetto di un flusso che passa da stato idle a backlogged ha priorità via

via inferiore. Poiché il Tagged Flow alterna spesso fra fasi di idle e di backlogged, subirà un delay maggiore.

50

Page 51: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL DELAY – DISTRIBUZIONE

DRR

PDRR con 2 code

51

Page 52: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL DELAY – DISTRIBUZIONE

DRR

PDRR con 3 code

52

Page 53: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL JITTER

Il jitter del DRR, per pacchetti superiori a 750 bytes, si abbassa drasticamente. Ciò è dovuto alla riduzione del numero di burst. Per il PDRR, l’andamento generale per 3 code di priorità è migliore che per 2, perché un maggior numero di code permette di spezzare in maniera più efficiente i burst (eccetto in prossimità di 750 bytes). 53

Page 54: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL DELAY (VALOR MEDIO) – RETE SOVRACCARICA

Crescita pressochè lineare.DRR: performance migliori per pacchetti di dimensioni tali da sfruttare al meglio il Quantum. PDRR: performance migliori per pacchetti di dimensioni tali da sfruttare al meglio la Granularity, che a sua volta dipende dal Quantum.

54

Page 55: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL JITTER – RETE SOVRACCARICA

55

Page 56: PRE-ORDER DEFICIT ROUND ROBIN

• Andamento DRR a “campana”:• La componente di jitter dovuta al traffico dei K flussi influisce

maggiormente per pacchetti di dimensioni intorno a 750 bytes.

• Andamento PDRR periodico, proporzionale al numero di code di priorità:• L’andamento DRR si ripete su ciascuna coda, ma con valori minori.• Valori minimi in concomitanza di Packet Size che permettono uno

sfruttamento ottimale della granularità.

VARIABLE PACKET SIZE ANALISI DEL JITTER – RETE SOVRACCARICA

56

750

250

=

=

PS

PS

Page 57: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL JITTER DRR (DISTRIBUZIONE) – RETE SOVRACCARICA

I picchi indicano la presenza di burst:Packet Size < Quantum: mano a mano che la dimensione dei pacchetti si avvicina alla dimensione del Quantum, diminuisce la frequenza dei burst.Packet Size = Quantum: assenza di burst. 57

Page 58: PRE-ORDER DEFICIT ROUND ROBIN

In un sistema DRR, e quindi anche PDRR, il numero massimo di pacchetti N inviabili durante un round è dato da:

Se N > Z, avremo più di un pacchetto accodato nella stessa coda di priorità.In uno scenario con rete sovraccarica questi pacchetti verrano serviti consecutivamente, formando un burst.

VARIABLE PACKET SIZE OSSERVAZIONI SUL JITTER CON RETE SOVRACCARICA

( ){ }PacketSizeQuantumNPacketSizeN +<Ν∈ *max |

58

Page 59: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL JITTER PDRR (DISTRIBUZIONE) – RETE

SOVRACCARICA

PDRR con 2 code

PDRR con 3 code

PacketSize < 750 Bytes

N > Z

PacketSize < 500 Bytes

N > Z

59

Page 60: PRE-ORDER DEFICIT ROUND ROBIN

VARIABLE PACKET SIZE ANALISI DEL JITTER PDRR (DISTRIBUZIONE) – RETE

SOVRACCARICA

Quindi per Z=8 non si formano burst (la distribuzione non ha picchi).

8200 =⇒= NPacketSizemin

60

Page 61: PRE-ORDER DEFICIT ROUND ROBIN

CONCLUSIONI

61

Prestazioni eccellenti in situazioni di rete sovraccarica.

Guadagno in termini di fairness rispetto al DRR.

Maggiore complessità rispetto al DRR.

Dipendenza accentuata dalla granularità.

Prestazioni dipendenti dall’ordine di attivazione.

Page 62: PRE-ORDER DEFICIT ROUND ROBIN

FINE PRESENTAZIONEGrazie dell’attenzione

62

Page 63: PRE-ORDER DEFICIT ROUND ROBIN

Verifichiamo l’approssimazione del WFQ:1. Il pacchetto con il più piccolo TS tra tutti i flussi dovrebbe essere servito per primo:

2. Sostituendo , e dividendo il tutto per Quantum, si ottiene:

3. Sostituendo :

4. Teorema 1: per ogni pacchetto si ha .

5. Teorema 2: il pacchetto che ha TS più piccolo, avrà QA più grande.

6. Per il teorema 2, il sistema dovrebbe selezionare il pacchetto con QA maggiore, ma essendo il costo

computazionale troppo elevato, è stato scelto di classificare i pacchetti in code di priorità:

i

mim

imi r

LTSTS += −1

i

mi

mi

i

mi

QuantumLAcc

QuantumAcc +

=−1

mii

mi Acc*rTS =

mii

mi ounter- DeficitCnterDeficitCouAcc 0= m

ii

mi

mi

i

mi QA

QuantumLnterDeficitCou

QuantumnterDeficitCou

=−

=−1

10 , <≤ mi

mi QAP

⎣ ⎦⎥⎥⎦

⎢⎢⎣

⎢−=

⎥⎥⎦

⎢⎢⎣

⎢−=−=

i

mi

i

mim

imi PQG

nterDeficitCouZ

QuantumZ*nterDeficitCou

ZZ*QAZp

APPENDICE

Timestamp del pacchetto m-esimo del flusso i-esimo.

Rate allocato al flusso i-esimo.

Lunghezza del pacchetto m-esimo del flusso i-esimo.

Traffico in bytes accumulato fino al pacchetto m-esimo dal flusso i-esimo.==

=

==

imi

mi

mi

i

mi

rTSAcc

L

rTS

* 63