La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ingegneria Dalmine "Impianti Informatici" Reti di code - 1 Reti di code M. Arrigoni Neri & P. Borghese rev. 14/04/13 Teoria delle code – ramo di applicazione.

Presentazioni simili


Presentazione sul tema: "Ingegneria Dalmine "Impianti Informatici" Reti di code - 1 Reti di code M. Arrigoni Neri & P. Borghese rev. 14/04/13 Teoria delle code – ramo di applicazione."— Transcript della presentazione:

1 Ingegneria Dalmine "Impianti Informatici" Reti di code - 1 Reti di code M. Arrigoni Neri & P. Borghese rev. 14/04/13 Teoria delle code – ramo di applicazione della teoria delle probabilità Utilità della teoria delle code comprensione del sistema reale calcolo del comportamento in “condizioni limite” estensione / verifica dei risultati di un modello di simulazione

2 Ingegneria Dalmine "Impianti Informatici" Reti di code - 2 indice  Il fenomeno coda  soluzione di code elementari isolate in stato stazionario  M/M/1  M/M/1/k  M/M/c  coda M/G/1  discipline di servizio  leggi di conservazione (cenni)  metodo di scomposizione – aggregazione (cenni)

3 Ingegneria Dalmine "Impianti Informatici" Reti di code - 3 modello di coda  A/B/c/K/m/Z  disciplina (regole di servizio) (default FIFO)  dimensioni sorgente (def. Infinito)  capacità (numero di posizioni) (def.inf.)  numero di serventi  processo dei servizi  processo degli arrivi Processi  Ggenerale  H  iperesponenziale  E k erlang  Mesponenziale  Ddeterministico arrivipartenze servente(i) posizione di attesa notazione

4 Ingegneria Dalmine "Impianti Informatici" Reti di code - 4 modello di coda (cont.) rete  se le code fanno parte di una rete occorrono informazioni addizionali sulla struttura di questa come:  interconnessioni fra i centri di servizio (code);  strategie di routing - deterministiche, basate su probabilità, dipendenti dalle classi di carico, dallo stato del sistema; modi e situazioni diverse  una coda o una rete di code può essere studiata (risolta) in modi e situazioni diverse:  metodi analitici e/o simulazione;  analisi dei transienti o in condizioni di equilibrio punti di vista e dettagli differenti  i risultati possono essere forniti secondo punti di vista e dettagli differenti:  quello del cliente che entra nel sistema per ricevere il servizio;  quello del fornitore che provvede le risorse;  dai soli valori medi delle variabili interessate alle loro complete distribuzioni

5 Ingegneria Dalmine "Impianti Informatici" Reti di code - 5 approccio alla soluzione  sotto appropriate ipotesi restrittive i metodi analitici forniscono risultati esatti per i valori medi dei parametri di prestazione  ipotizzare distribuzioni esponenziali e instradamenti con probabilità fissate produce soluzioni esatte (non diverse da quelle dell’analisi operazionale)  in qualche caso si possono ottenere anche momenti di ordine superiore (es. varianza);  spesso le reti non possono essere risolte in modo esatto, ma esistono metodi approssimati che forniscono buoni risultati;  una coda isolata può avere soluzione esatta ma, inserita in una rete, non è detto che quest’ultima sia ancora risolubile in modo esatto  l’analisi dei transienti non è generalmente affrontabile se non con la simulazione

6 Ingegneria Dalmine "Impianti Informatici" Reti di code - 6 distribuzioni derivate dall’esponenziale  distribuzione Erlang-k k T s /k  vengono percorsi k cicli ciascuno con distribuzione esponenziale di media T s /k  la distribuzione E k ha: T s (indipendente da k)  media = 1/  = T s (indipendente da k) T s 2 /k  varianza = T s 2 /k T s /k densità di probabilità del ciclo densità di probabilità della somma dei k cicli esponenziali

7 Ingegneria Dalmine "Impianti Informatici" Reti di code - 7 densità di prob. Erlang  Erlang media  = h varianza  2 = h 2 /  (  stadi - ciascuno di media h/  ) in figura i grafici per h = 1

8 Ingegneria Dalmine "Impianti Informatici" Reti di code - 8 distribuzioni derivate dall’esponenziale (cont.)  distribuzione iperesponenziale H  p1-p  i due stadi (esponenziali) paralleli ed esclusivi vengono scelti con probabilità p e 1-p rispettivamente  la distribuzione H  ha: T s (indipendente da p)  media = 1/  = T s (indipendente da p)  T s 2  varianza =  T s 2   = 1/(2p(1-p)) - 1 T s / 2p T s / 2(1-p) p 1-p

9 Ingegneria Dalmine "Impianti Informatici" Reti di code - 9 grafici E k e H  Erlang media n/r - varianza n/r 2 (n stadi - ciascuno di media 1/r) Iperesponenziale

10 Ingegneria Dalmine "Impianti Informatici" Reti di code - 10 code M/M/./. in equilibrio

11 Ingegneria Dalmine "Impianti Informatici" Reti di code - 11 ipotesi semplificative da cui: per  t  0  P{1 arrivo in  t} =  t  P{0 arrivi in  t} = 1-  t  P{arrivi > 1 in  t} = 0  P{1 partenza in  t} =  t  P{0 partenze in  t} = 1-  t  P{partenze > 1 in  t} = 0  P{arrivi  1 & partenze  1 in  t} = 0 gli arrivi sono un processo di Poisson con tempi esponenziali di media 1/ i tempi di servizio hanno distribuzione esponenziale di media 1/  arrivi e servizi sono fra loro indipendenti

12 Ingegneria Dalmine "Impianti Informatici" Reti di code - 12 transizioni di stato nell’intervallo (t,t+  t) 0 k

13 Ingegneria Dalmine "Impianti Informatici" Reti di code - 13 transizioni di stato nell’intervallo (t,t+  t) normalizzazione stato stazionario dp/dt = 0 probabilità dello stato k all’istante t

14 Ingegneria Dalmine "Impianti Informatici" Reti di code - 14 coda (M/M/1) stazionaria: diagramma delle transizioni di stato - sorgente poissoniana con interarrivi t a = 1/ capacità illimitata - 1 servente - tempi di servizio esponenziali s = 1/  equilibrio: P(i) = P(i+1)  012i-1ii+1    P(i+1)  P(i) P(i): frazione del tempo nello stato (i) processo di Markov omogeneo (non dipende dal tempo)

15 Ingegneria Dalmine "Impianti Informatici" Reti di code - 15 coda (M/M/1) stazionaria (cont.) >  ( -  )  t instabile  se >  dopo un certo tempo t la coda conterrà ( -  )  t elementi in media perciò è instabile <  /  utilizz  se <  allora /  < 1 rappresenta l’utilizzo del servente equilibrio statistico P(i)  la coda raggiunge nel tempo l’equilibrio statistico in cui la probabilità P(i) è indipendente da t  il processo degli arrivi e quello dei completamenti hanno la stessa distribuzione F A (t) = F C (t) - ma non sono correlati  i processi degli arrivi (A), dei servizi (S), delle partenze (C) e dei tempi di risposta (R) hanno la stessa forma (esponenziale) F A = 1-e - t F C = 1-e - t F S = 1-e -  t F R = 1-e - (  - ) t 1/(  - ) = 1/  /(1- /  )

16 Ingegneria Dalmine "Impianti Informatici" Reti di code - 16 calcolo di P(i) equazioni di bilanciamento: P(0) = P(1)  P(1) = P(2)  P(i -1) = P(i)  perciò: P(i) = P(0)·( /  ) i per ogni i il sistema è stabile per /  = Utilizzo < 1  P(i)  P(i) : probabilità dello stato (i) - (contente i elementi)  tcon probabilità ·  t verso lo stato (i +1) e  ·  t verso lo stato (i -1)  in un intervallo  t lo stato (i) viene abbandonato con probabilità ·  t verso lo stato (i +1) e  ·  t verso lo stato (i -1)  dallo stato (0) si può passare solo a (1)  la probabilità che in  t si verifichi più di una transizione è trascurabile probabilità che il sistema non contenga elementi

17 Ingegneria Dalmine "Impianti Informatici" Reti di code - 17 distribuzione della lunghezza delle code (M/M/1) P(i) = (1- /  )·( /  ) i U = utilizzo = /  = 1-P(0) P(i) > P(k) (i<k) /  / 0.50.750.9

18 Ingegneria Dalmine "Impianti Informatici" Reti di code - 18 lunghezza media della coda e tempo medio di risposta (M/M/1) Q( ) lunghezza media della coda Q( ) Q = 0·P(0) + 1·P(1) + …. + i·P(i)+… = r(u) = s · (1 + Q(u)) = s · (1 + u / (1-u)) = s / (1-u) r(u) = s · (1 + Q(u)) = s · (1 + u / (1-u)) = s / (1-u) (condizioni di equilibrio) r(u) = Q / oppure r(u) = Q / (legge di Little) r(,  ) = 1/(  - ) oppure anche r(,  ) = 1/(  - ) w(u) = s · u / (1-u) w(u) = s · u / (1-u) tempo medio di attesa L q = w(u) = u 2 / (1-u) L q = w(u) = u 2 / (1-u) numero medio di clienti in attesa (da Little) numero medio Q di clienti in coda D indica l’operatore derivata (rispetto a /  )

19 Ingegneria Dalmine "Impianti Informatici" Reti di code - 19 coda (M/M/1/k) in equilibrio: diagramma delle transizioni di stato - come M/M/1 ma - capacità della linea di attesa limitata a k-1 - se tutti i posti sono occupati la richiesta è rifiutata - rappresenta una situazione più realistica della precedente 012k-1k    dal momento che non possono esserci più di k utenti nel sistema, lo stato stazionario viene raggiunto per qualunque valore di e  equazioni di bilanciamento: P(0) = P(1)  P(1) = P(2)  P(k -1) = P(k)  P(i) = 0 per i > k

20 Ingegneria Dalmine "Impianti Informatici" Reti di code - 20 coda (M/M/1/k) in equilibrio (cont.)  risolvendo le equazioni di stato otteniamo (detto il “traffico” u = /  ): numero medio di clienti in coda (se /  < 1: il numero medio di utenti in coda è < di quello corrispondente a M/M/1) P(i) > P(h) (u < 1; i < h) P(i) 1; i < h)

21 Ingegneria Dalmine "Impianti Informatici" Reti di code - 21 coda (M/M/1/k) in equilibrio (cont.)  detto a il flusso di utenti nel sistema, allora:  detto  l’utilizzo “vero” del servente, cioè la probabilità di trovarlo occupato (u = s)  p(k) = probabilità di perdita di utenti

22 Ingegneria Dalmine "Impianti Informatici" Reti di code - 22 coda (M/M/1/k) in equilibrio (cont.) Prob di perdita utilizzo effettivo del servente /  /  numero medio in coda e resp.time per i valori U in testa alle colonne (max = 5)

23 Ingegneria Dalmine "Impianti Informatici" Reti di code - 23 coda (M/M/1/k) in equilibrio (cont.) M/M/1M/M/1/5

24 Ingegneria Dalmine "Impianti Informatici" Reti di code - 24 coda (M/M/c) stazionaria: diagramma delle transizioni di stato c serventi identici servono tutti i clienti un’unica linea di attesa 012c-1cc+1  22 33 cc cc cc clienti in attesa (c-1)  0000012 c nota: gli arrivi e i completamenti hanno la stessa distribuzione esponenziale: F A = F C = 1-e - t ma non è esponenziale ma F R non è esponenziale

25 Ingegneria Dalmine "Impianti Informatici" Reti di code - 25 coda (M/M/c) stazionaria (cont.) dalle equazioni di bilanciamento:  = / c  < 1 il sistema è stabile per:  = / c  < 1 utilizzo per servente u = /  < c u u è il numero medio di utenti in servizio = di serventi occupati

26 Ingegneria Dalmine "Impianti Informatici" Reti di code - 26 distribuzione della lunghezza delle code M/M/c nel grafico: u = utilizzo per servente (altrove denominato  ) Il valore massimo di probabilità è in prossimità di n  / 

27 Ingegneria Dalmine "Impianti Informatici" Reti di code - 27 coda (M/M/c) stazionaria (cont.) numero medio di clienti in attesa (esclude quelli in servizio) probabilità che tutti i c serventi siano occupati c = 2 L q = C(c,u) ·  / (1-  ) c = 3

28 Ingegneria Dalmine "Impianti Informatici" Reti di code - 28 confronto tempi di attesa servizio prossimo  a parità di utilizzo una coda M/M/c ha un tempo di attesa prossimo a quello della coda M/M/1 diviso c  tempo medio di attesa  tempo medio di attesa dei clienti che attendono M/M/1M/M/c

29 Ingegneria Dalmine "Impianti Informatici" Reti di code - 29 confronto tempi di attesa servizio (cont.)  un altro modo di interpretare le formule: W q = 0  (1-Prob(attesa)) + s /(c (1-  ))  Prob(attesa) L q = W q  = 0  (1-Prob(attesa)) +  / (1-  )  Prob(attesa) Prob(attesa) = C(c,u) s s / (c ·(1-  )) rappresenta il tempo medio di attesa nel caso in cui si debba attendere  / (1-  ) (  = s / c)  / (1-  ) rappresenta il numero medio di utenti che si trovano nel caso in cui si debba attendere (  = s / c) Osservazione s esponenziale (priva di memoria) Osservazione: ogni utente in coda contribuisce all’attesa mediamente con un tempo s, anche quello il cui servizio è in corso, questo solo perché la distribuzione dei tempi è esponenziale (priva di memoria)

30 Ingegneria Dalmine "Impianti Informatici" Reti di code - 30 confronto fra M/M/1 e M/M/c

31 Ingegneria Dalmine "Impianti Informatici" Reti di code - 31 calcolo approssimato del tempo di risposta in M/M/c  se al posto dei c serventi della nostra coda ponessimo un solo servente di potenza pari a c volte quelli originari ci troveremmo nella situazione seguente (dove x* è la variabile corrispondente a x del caso M/M/c):  s* = s/c;  * =   W q * =  s / c(1-  ) (tempo di attesa)  W q = C(c,u) s / c(1-  )  se C(c,u)   (per  elevato, cfr. pagine seguenti)  allora W q   s / c(1-  ) = W q *  r  s +  s / c(1-  )

32 Ingegneria Dalmine "Impianti Informatici" Reti di code - 32 calcolo approssimato del tempo di risposta in M/M/c (cont.)  Il tempo di risposta può essere approssimato dalla somma del tempo di servizio più il tempo di attesa che si avrebbe nel caso in cui al posto dei c serventi ce ne fosse uno di potenza pari a c volte quelli iniziali Il grafico confronta il valore esatto del tempo di risposta M/M/2 con quello ottenuto dalla formula approssimata (caso s = 1)

33 Ingegneria Dalmine "Impianti Informatici" Reti di code - 33 C(c,u): probabilità di dover attendere per il servizio a parità di utilizzo (cioè a parità di tasso di arrivi per server = u/c), la probabilità di dover attendere per essere serviti diminuisce al crescere del numero di serventi C(1,u) = u

34 Ingegneria Dalmine "Impianti Informatici" Reti di code - 34 confronto tempi di risposta effetto multiprocessore su r/s le curve di prestazione (al crescere del numero di serventi, a parità di utilizzo per servente) divengono più “regolari” in particolare il punto “ottimale” si sposta verso utilizzi più elevati e a cui corrispondono rapporti r/s inferiori in questo caso si confrontano processori uguali con carico totale pari a (numero processori  carico unitario)

35 Ingegneria Dalmine "Impianti Informatici" Reti di code - 35 ricerca del punto ottimale di funzionamento tempo di risposta/ tempo di servizio utilizzo per proc.1 proc.2 proc.4 proc.6 proc. 0,051,05261,00251,00001,0000 0,101,11111,01011,00021,0000 0,151,17651,02301,00101,0001 0,201,25001,04171,00301,0003 0,251,33331,06671,00681,0010 0,301,42861,09891,01321,0027 0,351,53851,13961,02321,0057 0,401,66671,19051,03781,0111 0,451,81821,25391,05841,0197 0,502,00001,33331,08701,0330 0,552,22221,43371,12601,0529 0,602,50001,56251,17941,0819 0,652,85711,73161,25321,1243 0,703,33331,96081,35721,1867 0,754,00002,28571,50941,2811 0,805,00002,77781,74551,4315 0,856,66673,60362,14891,6934 0,9010,00005,26322,96942,2335 0,9520,000010,25645,45713,8853 esempio: calcolo del punto “ottimale” nel caso di due serventi

36 Ingegneria Dalmine "Impianti Informatici" Reti di code - 36 ricerca del punto ottimale di funzionamento (cont.) calcolo grafico dal momento che il punto ottimale è quello in cui:r/ = dr/d e cioè dr/r = d / ; ma essendo l’utilizzo u proporzionale a du/u = dr/r i valori du, dr1,... sono ottenuti per differenza fra valori successivi delle colonne della tabella della pagina prededente - es: 0,0556 = (1.1111-1.0526)/1.0526)

37 Ingegneria Dalmine "Impianti Informatici" Reti di code - 37 coda M/G/1 in equilibrio

38 Ingegneria Dalmine "Impianti Informatici" Reti di code - 38 tempo medio residuo anche quello in servizio - grazie alla memoryless  per calcolare il tempo medio di risposta della coda M/M/1 basta conoscere il numero medio di elementi in coda infatti ciascuno di questi contribuisce all’attesa per la stessa quantità (anche quello in servizio - grazie alla memoryless) non è esponenziale  un utente arriva a caso e attende il suo turno, quanto dovrà attendere in media perché termini il tempo di servizio in corso, se la distribuzione dei tempi non è esponenziale? durata del processo in corso  si potrebbe pensare che l’attesa sia pari alla metà della durata media del fenomeno dei servizi, ma questo è vero solo se il processo è deterministico. Infatti, l’utente attende mediamente la metà dell’intervallo in cui arriva (cioè della durata del processo in corso), ma la durata di questo non è necessariamente uguale alla media.  se è molto probabile che incontri un intervallo più lungo della media, allora la sua attesa sarà mediamente maggiore della metà della media. (paradosso dei tempi di attesa)

39 Ingegneria Dalmine "Impianti Informatici" Reti di code - 39 tempo medio residuo (cont.) scelto  il paradosso nasce dal fatto che è vero che l’attesa vale la metà dell’intervallo, ma la lunghezza media dell’intervallo scelto non è la media delle lunghezze; stesso peso  nel calcolo della ampiezza media degli intervalli, tutti hanno lo stesso peso, probabilità con cui viene incontrato  nel nostro caso invece ogni intervallo (di determinata ampiezza) ha come peso la probabilità con cui viene incontrato intervallo osservato tempo residuo istante di arrivo

40 Ingegneria Dalmine "Impianti Informatici" Reti di code - 40 tempo medio residuo (cont.)  l’utente del servizio, che arriva a caso, trova la coda occupata con probabilità = u  u è anche il numero di utenti mediamente in servizio  perciò se r s è il tempo medio residuo al completamento del servizio e N il numero di elementi in coda:  r = s + r s + (N – u) s  detto poi r 0 il tempo residuo al completamento del servizio in corso  r 0 = (tempo residuo | w > 0)  r s = 0 (1-u) + r 0 u  r 0 = r s / u  (se r 0 = s allora: r = s + su + Ns – su = s + rs  r (1- u) = s)

41 Ingegneria Dalmine "Impianti Informatici" Reti di code - 41 tempo medio residuo – (calcolo) andamento nel tempo del processo r(t): tempo residuo al completamento del servizio in corso X i : tempo di servizio dell’ i mo utente rtrtrtrt x4x4x4x4 x1x1x1x1 x1x1x1x1 x2x2x2x2 x2x2x2x2 x3x3x3x3 x3x3x3x3 x4x4x4x4 inizio servizio M(t): numero di arrivi in (0,t) r s = Area / t r 0 = Area / t busy (per t   )

42 Ingegneria Dalmine "Impianti Informatici" Reti di code - 42 coda (M/G/1) in equilibrio  /  = u = 1 - P(0)  /  = u = 1 - P(0): probabilità che il servente sia occupato = utilizzo = numero medio di utenti in servizio  s = 1 /   s = 1 /  : tempo medio di servizio  N = r  N = r : numero medio di utenti nella stazione  r 0  r 0 : tempo medio residuo al termine del servizio in corso = r s / u (visto dall’utente che arriva e trova il servente occupato) distribuzione generale dei tempi di servizio

43 Ingegneria Dalmine "Impianti Informatici" Reti di code - 43 digressione: altro metodo per calcolare r 0  (Nota: m è usato al posto del valore s delle pagine precedenti) f(x), m, M 2 densità di probabilità mediasecondo momento  siano f(x), m, M 2 rispettivamente la densità di probabilità, la media e il secondo momento dell’ampiezza dell’intervallo T T/m  sia T un periodo molto lungo (T >> m) - in esso allora cadranno T/m intervalli xx +  x f(x)  x  un intervallo di durata compresa fra x e x +  x ha probabilità f(x)  x di verificarsi T f(x)  x T/m  il numero medio di intervalli di tale durata nel periodo T sarà allora: f(x)  x T/m x f(x)  x T/m  essi coprono la porzione x f(x)  x T/m x (x f(x)  x T/m) / T = x/m f(x)  x  la probabilità che l’utente arrivi in un intervallo di ampiezza x è allora: (x f(x)  x T/m) / T = x/m f(x)  x

44 Ingegneria Dalmine "Impianti Informatici" Reti di code - 44 digressione: altro metodo per calcolare r 0 (cont.)  se la probabilità che l’intervallo osservato abbia durata x vale: (x f(x)  x / m) allora il suo valore medio è: m 2 = M 2  che è  m; il segno di uguaglianza vale se m 2 = M 2 (caso di varianza nulla cioè lunghezza costante) tempo medio residuor 0  il tempo medio residuo è allora: r 0 nota: il tempo medio residuo può essere > m r 0 = m (c 2 + 1) / 2 r 0 > m (per c > 1) (distribuzioni iper-esponenziali) m/2  r 0  m (per 0  c  1) (distribuzioni ipo-esponenziali)

45 Ingegneria Dalmine "Impianti Informatici" Reti di code - 45 coda (M/G/1) in equilibrio (cont.)  M 1 (r) = r dipende da M 1 (s) e da M 2 (s)  M 2 (r) analogamente dipende da M 1 (s), M 2 (s), M 3 (s) tempo medio di attesa sevizio = r s / (1 - u)

46 Ingegneria Dalmine "Impianti Informatici" Reti di code - 46 coda (M/G/1) in equilibrio (cont.)  tempo di servizio  attesa dovuta alla variabilità degli arrivi  attesa dovuta alla variabilità dei servizi

47 Ingegneria Dalmine "Impianti Informatici" Reti di code - 47 confronto tempi di risposta La tabella riporta l’andamento del tempo di risposta normalizzato r/s r/s in funzione dell’utilizzo e per diversi c valori di c

48 Ingegneria Dalmine "Impianti Informatici" Reti di code - 48 confronto tempi di risposta (cont.) al crescere del coefficiente c di variazione c il punto ottimale di esercizio si sposta verso l’origine e corrisponde a un valore r r più elevato e u utilizzo u minore

49 Ingegneria Dalmine "Impianti Informatici" Reti di code - 49 calcolo del punto ottimale di funzionamento dr/d = r /  max( /r) si ottiene per dr/d = r / c s u o r/s 00.5861.71 10.5002.00 20.3872.58 30.3093.23 40.2553.92 u o = s / r o l’utilizzo “ottimale” u o è quello per cui la lunghezza della coda nella stazione vale 1

50 Ingegneria Dalmine "Impianti Informatici" Reti di code - 50 formula approssimata per il tempo medio di risposta  c s e c   c s e c  siano rispettivamente i coefficienti di variazione dei servizi e dei tempi di arrivo,  allora la formula seguente è un’approssimazione del tempo medio di risposta: G/G/c  la formula approssimata più generale (G/G/c), che risulta esatta per M/M/c e M/G/1, è la seguente:

51 Ingegneria Dalmine "Impianti Informatici" Reti di code - 51 formula approssimata G/G/c nel caso heavy traffic  in condizioni di carico elevato cioè quando   1, detti    s rispettivamente le deviazioni standard degli arrivi e dei servizi,  il tempo medio di attesa ha una distribuzione molto prossima a quella esponenziale di media W q

52 Ingegneria Dalmine "Impianti Informatici" Reti di code - 52 discipline di servizio

53 Ingegneria Dalmine "Impianti Informatici" Reti di code - 53 discipline di servizio disciplina  il fenomeno dei servizi è caratterizzato oltre che dalla distribuzione dei tempi dalla disciplina di alimentazione della coda FCFS FIFO  i clienti sono serviti nell’ordine di arrivo - come abbiamo tacitamente assunto fino ad ora - disciplina nota come FCFS o FIFO Processor Sharing(PS) porzione  /n n round robin  disciplina “Processor Sharing” (PS) - ogni nuovo utente che arriva è ammesso al servizio senza attesa - la velocità del servizio totale non varia ma a ciascun utente della coda viene dedicata la porzione  /n (dove n è la lunghezza della coda) - (è un’approssimazione della disciplina round robin quando il tempuscolo  t tende a 0) S=S-  t S>0 Utente che richiede un servizio S min(S,  t)

54 Ingegneria Dalmine "Impianti Informatici" Reti di code - 54 disciplina PS PS  una caratteristica sorprendente della disciplina PS è che il tempo medio di risposta e la distribuzione delle probabilità di n clienti nella coda dipendono solo dalla media del tempo di servizio e cioè:  r = s / (1 - u)  r = s / (1 - u) come nel caso M/M/1  perciò nel caso di c s > 1 (c s < 1) la disciplina è più (meno) efficiente di quella M/M/1//FIFO  se i serventi fossero c > 1 allora: n  c   se n  c: ogni utente riceve servizio a velocità  n > c c  / n  se n > c: ciascun utente riceve simultaneamente servizio a velocità c  / n r dipende solo da s  anche in questo caso il valore medio r dipende solo da s ed è dato dalla formula valida nel caso M/M/c

55 Ingegneria Dalmine "Impianti Informatici" Reti di code - 55 discipline con priorità  ad ogni cliente è associata una priorità fissa che determina l’ordine di servizio (se i < j, il cliente di classe i ha priorità su quelli di classe j)  clienti della stessa classe di priorità sono serviti in ordine di arrivo nonpreemptive(NP)senza prelazione  se il servizio una volta iniziato non è interrompibile la disciplina è detta nonpreemptive (NP) o senza prelazione - tipica nei sistemi di comunicazione - preemptive (PP)con prelazione  se il cliente che arriva interrompe il servizio di un altro di più bassa priorità (che riprenderà dal punto di interruzione quando saranno esauriti i servizi di clienti a priorità più elevata), la disciplina è detta preemptive (PP) o con prelazione - tipica dei sistemi operativi  in entrambi i casi una grandezza importante è l’utilizzo della stazione fino alla classe di priorità j compresa

56 Ingegneria Dalmine "Impianti Informatici" Reti di code - 56 discipline con priorità (cont.) M/M/1/..  il caso più semplice è quello in cui la distribuzione dei servizi è esponenziale e indipendente dalla classe M/M/1/.. M/G/1/..  naturalmente ha senso assegnare una priorità se le classi sono diverse fra loro anche per la forma della distribuzione: ha perciò più interesse il caso M/G/1/.. NP PP NP PP  M 2 (fino alla classe j)

57 Ingegneria Dalmine "Impianti Informatici" Reti di code - 57 discipline con priorità (cont.)  si noti come il caso PP si riduca al considerare un server che ha capacità pari a quanto resta dopo il consumo delle classi a priorità più elevata - la formula del tempo di risposta si può infatti ottenere da quella M/G/1 dividendo il tempo di servizio s j per (1 - utilizzo fino alla classe j-1)  inoltre valgono le relazioni seguenti:

58 Ingegneria Dalmine "Impianti Informatici" Reti di code - 58 descrizione intuitiva del fenomeno PP  s classe (2)T classe (1) u(1) classe (2)T·u(1) classe (1) classe (2) T·u(1)·u(1)  supponiamo per semplicità che ci siano solo due classi di priorità e che un cliente della classe (2) arrivi e richieda un certo tempo T (non ci interessa per quale ragione). Gli utenti della classe (1) producono un lavoro con una rate pari a u(1) nell’unità di tempo che causa un ritardo addizionale alla classe (2) di T·u(1). Ma durante il tempo addizionale gli utenti della classe (1) continuano ad arrivare e a consumare la risorsa con lo stesso tasso, perciò la classe (2) incorrerà in un ulteriore ritardo T·u(1)·u(1) e così via. classe (2)  allora l’attesa dell’utente di classe (2) diviene:  T·(1 + u(1) + u(1) 2 + u(1) 3 +.....) = T /(1- u(1)) classe (j)  l’estensione ad altre classi è ovvia: il ritardo della classe (j) si calcola trattando l’effetto delle classi di priorità superiore (i < j) conglobandole in un unico insieme che produce lavoro con consumo di risorse:  u(1) + u(2) +... u(i)

59 Ingegneria Dalmine "Impianti Informatici" Reti di code - 59 leggi di conservazione

60 Ingegneria Dalmine "Impianti Informatici" Reti di code - 60 strategie di scheduling  supponiamo di avere un sistema composto da una singola risorsa a cui accedono job di K diverse categorie a cui sono assegnati diversi obiettivi di prestazione:  W = (W 1,….., W K ) tempo medio di risposta della classe k  W k : tempo medio di risposta della classe k in condizioni stazionarie  W dipende dall’algoritmo usato per selezionare i job per il servizio strategia  un dato vettore W è accessibile se esiste una strategia S tale che:  S  W  l’insieme di accessibilità dipende dal grado di complessità permesso (es.: se si può interrompere un job in esecuzione) e dalle informazioni note (es.: se si conosce in anticipo la richiesta di un job o solo la sua distribuzione)  V S (t)carico virtuale  V S (t): carico virtuale al tempo t (data la strategia S) - somma dei tempi di servizio rimanenti per tutti i job presenti nella stazione all’istante t

61 Ingegneria Dalmine "Impianti Informatici" Reti di code - 61 leggi di conservazione V S (t)  la figura mostra un possibile processo V S (t) S S conserva il lavoro  se la strategia S non permette le due azioni che appaiono in figura tratteggiate - si dice che S conserva il lavoro V(t) V  il processo stocastico V(t) tende allora ad una distribuzione di equilibrio di valore medio V  V S (k)S  V S (k): carico medio virtuale della classe k - dipende da S  V =  V S (k)non dipende da SS  V =  V S (k) non dipende da S (è lo stesso per tutte le S che conservano il lavoro) V S (t) t arrivi di job un job abbandona il servizio prima del termine il server è idle con clienti in attesa

62 Ingegneria Dalmine "Impianti Informatici" Reti di code - 62 leggi di conservazione (cont.)  al variare della strategia il vettore (V S (1), V S (2),....,V S (K)) varia ma in modo tale che la somma dei suoi elementi resta costante  il caso più semplice è quello dei tempi di servizio esponenziali: V  nel calcolo della costante V si è ipotizzata una disciplina senza priorità W k N k V =  k V(k) = costante  agendo sulle priorità vengono modificati i valori W k e quindi N k ma V =  k V(k) = costante

63 Ingegneria Dalmine "Impianti Informatici" Reti di code - 63 leggi di conservazione (cont.)  in sintesi esiste un iperpiano che contiene un’area di accessibilità delle strategie S, e in particolare scelta una classe g  K esiste una strategia S g che minimizza il tempo di risposta W g della classe g  ogni decrescita di una componente di V deve essere compensata da una proporzionale crescita delle altre W1W1W1W1 W3W3W3W3 W2W2W2W2

64 Ingegneria Dalmine "Impianti Informatici" Reti di code - 64 leggi di conservazione (cont.) V tempo medio  se consideriamo tutte le classi raggruppate il carico virtuale V può interpretarsi come il tempo medio che un generico utente deve attendere per iniziare il servizio; la costanza di V implica allora che:  i valori medi dei tempi di risposta e di attesa, del numero di utenti in coda e in attesa sono indipendenti dalla disciplina di alimentazione della coda; numero  la forma delle distribuzioni per il numero degli utenti in coda e in attesa resta invariata; tempi di risposta e di attesa, in particolare  invece cambia la forma per le distribuzioni dei tempi di risposta e di attesa, in particolare è la disciplina FIFO quella che dà luogo alla minore varianza  2 FIFO (tw)   2 RAND (tw)   2 LIFO (tw)  inoltre la distanza fra le varianze cresce con l’utilizzo

65 Ingegneria Dalmine "Impianti Informatici" Reti di code - 65 leggi di conservazione (cont.)  il risultato vale più in generale:  se le distribuzioni degli arrivi e dei servizi sono generali e se la disciplina di servizio è non-preemptive, esiste una grandezza costante V determinata solo da  k  e  k   la disciplina di servizio deve però rispettare le regole seguenti: idle busy  ogni volta che il sistema passa dallo stato di “idle” la memoria di S si azzera, cioè le decisioni che vengono prese in un periodo di “busy” non sono basate su quelle prese nei periodi passati  solo le informazioni sullo stato presente e passato sono note - non è per esempio possibile basare la decisione sul tempo esatto rimanente ma solo sul suo valore atteso, per esempio la strategia di servire per primo il job che sappiamo più breve non è fra quelle conservative

66 Ingegneria Dalmine "Impianti Informatici" Reti di code - 66 un esempio di strategia che conserva il lavoro  procedura (strategia di scheduling) che privilegia i job brevi: q1  tutti i job alla partenza hanno priorità 1 (in quanto non abbiamo modo di valutare a priori la domanda) - ad essi viene assegnato un quantum q1 q2 > q1  a quelli che sono ancora in vita al termine di q1 viene assegnato un quantum q2 > q1 e una priorità 2 q3 > q2  a quelli che sono ancora in vita al termine di q2 viene assegnato un quantum q3 > q2 e una priorità 3  e così via....... q1 q1 < richiesta q2  in questo modo i job che richiedono un tempo  q1 hanno ricevuto la massima priorità - quelli con q1 < richiesta  q2 hanno passato la loro vita per la maggior parte in priorità 2 etc. q  il problema principale consiste nella determinazione i valori q.  o meglio dei rapporti fra questi; i valori assoluti dipendono dalla potenza della macchina e dal tipo di carico

67 Ingegneria Dalmine "Impianti Informatici" Reti di code - 67 scomposizione - aggregazione

68 Ingegneria Dalmine "Impianti Informatici" Reti di code - 68 rete di code  una rete è risolubile in modo esatto se: 1.ogni nodo consiste di una coda M/M/c dove il nodo i possiede c i serventi identici, ciascuno con tempo di servizio 1/  i con distribuzione esponenziale per ogni classe di transazione. 2.i clienti arrivano dall’esterno al nodo i con un processo di Poisson con media 1/ i. 3.completato il servizio al nodo i, il cliente va istantaneamente al nodo j con probabilità q ij, oppure lascia la rete con probabilità 1- (q i1 +q i2 +..q im )  allora: p(k 1,k 2,..k m ) = p(k 1 )· p(k 2 )··· p(k m )  la probabilità di uno stato è il prodotto di fattori ciascuno dei quali rappresenta la probabilità di stato di un componente isolato dal resto della rete: p(k 1,k 2,..k m ) = p(k 1 )· p(k 2 )··· p(k m )  p(k 1,k 2,..k m ): probabilità che lo stato sia di k i elementi nel nodo i (i=1,2,..m) MVA  il metodo MVA può essere impiegato per ottenere soluzioni di reti risolubili in forma di prodotto

69 Ingegneria Dalmine "Impianti Informatici" Reti di code - 69 digressione: teorema di Norton per le reti elettriche Rete equivalente   Rete elettrica  cortocircuitato una rete complessa può essere semplificata sostituendone una parte con una corrente equivalente ed una impedenza parallela (tutti i componenti eccetto  sono sostituiti da un’unica corrente I e da una resistenza interna parallela R I è determinata dal flusso quando  è cortocircuitato, R dal voltaggio del circuito aperto) I R Il comportamento di  è lo stesso nel circuito equivalente come nel circuito dato

70 Ingegneria Dalmine "Impianti Informatici" Reti di code - 70 teorema di Norton per le reti di code in generale questa soluzione è solo approssimata perché una singola stazione può non essere capace di riprodurre l’intero spettro di comportamenti di parecchie stazioni interconnesse 1 2 3 4 5 scomposizione aggregazione 3 4 5 cortocircuito 1 2 modelloequivalente nelle reti elettriche e nelle reti di code si conservano i flussi di entità

71 Ingegneria Dalmine "Impianti Informatici" Reti di code - 71 metodo gerarchico di soluzione  una rete di code in certe condizioni abbastanza generali può essere suddivisa in parti tali che:  le interazioni fra le parti sono più deboli di quelle interne  interazioni più deboli significa che i flussi fra le diverse parti sono, in prima approssimazione trascurabili, se confrontati con quelli interni  allora: equilibrio locale  a breve termine viene raggiunto un equilibrio locale in ciascun sottosistema indipendentemente dagli altri; equilibrio globale  a lungo termine viene raggiunto un equilibrio globale che mantiene approssimativamente quello locale; come se  le interazioni interne alle parti possono essere studiate come se quelle esterne non esistessero; senza  le interazioni esterne possono essere analizzate senza far riferimento ai comportamenti interni;  la struttura stessa di un sistema reale suggerisce il modo di aggregare i componenti

72 Ingegneria Dalmine "Impianti Informatici" Reti di code - 72 metodo gerarchico di soluzione (cont.)  prendiamo il modello chiuso (esempio trattato in Analisi operazionale) – esso può essere separato in due parti:  terminali(T) e modello centrale interno (CPU & I/O) - (  )  terminali (T) e modello centrale interno (CPU & I/O) - (  )  (  ) cortocircuitando  (  ) viene studiato in isolamento cortocircuitando il resto della rete variando il suo parametro (popolazione di utenti) esterno(  ) stazione equivalente  viene risolto il modello esterno in cui (  ) è sostituito da una stazione equivalente con servizi dipendenti dalla lunghezza della coda (analogo del teorema di Norton per le reti di code)  T T  

73 Ingegneria Dalmine "Impianti Informatici" Reti di code - 73 modello completo equivalente   il modello è ora molto più semplice perché composto da due sole stazioni di servizio (Terminali e coda equivalente a  ) load dependent  nasce però un problema pratico di realizzazione dell’algoritmo perché bisogna calcolare i valori marginali della distribuzione della lunghezza della coda per ogni stazione load dependent tempi di residenza per visita alla stazione k stazione IS stazione load independent stazione load dependent k n frazione di tempo in cui nel nodo k si trovano i elementi quando ce ne sono n in totale nell’intero modello MVA load dependent


Scaricare ppt "Ingegneria Dalmine "Impianti Informatici" Reti di code - 1 Reti di code M. Arrigoni Neri & P. Borghese rev. 14/04/13 Teoria delle code – ramo di applicazione."

Presentazioni simili


Annunci Google