Esercizio - ALOHA puro e slotted
In questa pagina 5
Testo. Si considerino i seguenti sistemi ALOHA.
- Un gruppo di utenti condivide un canale ALOHA puro da kbit/s. Ogni utente genera pacchetti secondo un processo di Poisson, uno da bit ogni s, anche se il precedente non è ancora stato trasmesso. Qual è il massimo valore di ?
- Diecimila stazioni di prenotazione aerea si contendono un unico canale ALOHA slotted. In media ogni stazione fa richieste all'ora. Uno slot dura s. Qual è, approssimativamente, il carico totale del canale?
Teoria usata: Protocolli di accesso multiplo - ALOHA e CSMAQuando più stazioni condividono lo stesso mezzo serve un protocollo di accesso (MAC) che decida chi trasmette. Accesso casuale: ALOHA puro (si trasmette subito, tempo vulnerabile $2t_F$), slotted ALOHA (si parte solo a inizio slot, vulnerabile $t_F$), CSMA (si ascolta prima di parlare, vulnerabile $\tau_p$) con le varianti 1-persistent, non persistent e p-persistent, CSMA/CD (rileva la collisione mentre trasmette: serve $t_F\ge2\tau_p$, quindi un frame minimo) e CSMA/CA del Wi-Fi (IFS, finestra di contesa con backoff esponenziale, ACK, RTS/CTS e NAV). Accesso controllato: prenotazione, polling, token. Canalizzazione: FDMA, TDMA, OFDMA, CDMA, SDMA.Protocolli di accesso multiplo - ALOHA e CSMA →, Prestazioni dei protocolli di accesso - ALOHA, CSMA, TDMA e FDMACon arrivi di Poisson, la probabilità di successo di un frame è la probabilità che nessun altro frame arrivi nel tempo vulnerabile: ALOHA puro $P_S=e^{-2G}$, throughput $S=Ge^{-2G}$ con massimo $1/(2e)\approx0{,}18$ in $G=1/2$; slotted ALOHA $S=Ge^{-G}$ con massimo $1/e\approx0{,}37$ in $G=1$. CSMA non persistente con $a=\tau_p/t_F$: $S=\frac{Ge^{-aG}}{G(1+2a)+e^{-aG}}$, che tende a 1 per $a\to0$ ma crolla per $a$ grande, dove lo slotted ALOHA è migliore. Per TDMA ($M/D/1$) $E[T]=t_F\left(\frac{N_u}2+\frac{SN_u}{2(1-S)}+1+a\right)$ e per FDMA $E[T]=t_F\left(N_u+\frac{SN_u}{2(1-S)}+a\right)$: FDMA è più lento di $t_F(N_u/2-1)$.Prestazioni dei protocolli di accesso - ALOHA, CSMA, TDMA e FDMA → (dove le formule sono ricavate), Analisi delle prestazioni di reteLe prestazioni di una rete si misurano con tre famiglie di metriche: traffico (bitrate $R_0$ massimo del collegamento, throughput $S\le R_0$ dati consegnati con successo, goodput al livello applicazione), ritardo (end-to-end $d_{tot}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$ con $d_{trans}=L/R$ e $d_{prop}=d/v$; jitter; RTT) e capacità del tubo (BDP $=R\cdot$ ritardo, bit che riempiono il collegamento), più l'affidabilità (PER, PDR, PLR). Il throughput di un percorso è quello del collegamento collo di bottiglia, $\min$ dei bitrate, ricordando che i collegamenti condivisi dividono la capacità.Analisi delle prestazioni di rete →.
Idea di fondo
In ALOHA le stazioni trasmettono senza coordinarsi, quindi alcuni pacchetti collidono e vanno ritrasmessi. Il canale non può mai essere usato al 100%: esiste un throughput massimo (normalizzato alla capacità del canale), che dipende solo dal tipo di ALOHA. Se è il traffico offerto al canale (in pacchetti per tempo di trasmissione di un pacchetto, comprese le ritrasmissioni) e il throughput utile (sempre in pacchetti per tempo di pacchetto), valgono
Il primo ha massimo in : . Il secondo ha massimo in : . Il fattore nell'esponente del puro viene dal tempo di vulnerabilità: per l'ALOHA puro, per lo slotted (un pacchetto sopravvive solo se nessun altro viene iniziato in quella finestra).
Da dove vengono le formule e i massimi. Gli arrivi sono di Poisson di tasso , quindi la probabilità che in un intervallo lungo non arrivi nessun pacchetto è (formula di Poisson con : Distribuzione di PoissonPoi(λ) conta eventi rari: P(X = k) = e^(−λ) λ^k / k! per k = 0, 1, 2, …, con media e varianza entrambe uguali a λ; approssima la binomiale Bin(n, p) quando n è grande e p piccolo, con λ = np.Distribuzione di Poisson →). Con e finestra si ha , e il throughput è il traffico offerto per la probabilità di successo, . Per il massimo si deriva col prodotto: , da cui e (Massimi e minimi relativi e teorema di Fermatx0 è punto di minimo (massimo) relativo se f(x0) ≤ f(x) (≥) per gli x del dominio vicini a x0. I candidati sono gli estremi del dominio, i punti dove f non è derivabile e i punti interni con f'(x0) = 0 (punti critici o stazionari). Teorema di Fermat: in un punto interno di minimo o massimo relativo dove f è derivabile, f'(x0) = 0. È solo una condizione necessaria: x³ in 0.Massimi e minimi relativi e teorema di Fermat →, Regole di derivazioneDerivate delle funzioni elementari e delle loro inverse (arcsin, arctan, settcosh...) e regole di calcolo: linearità, prodotto (Leibniz), quoziente, funzione composta (regola della catena), funzione inversa, f(x)^g(x).Regole di derivazione →). Per lo slotted dà e .
Grafico interattivo: Throughput S in funzione del traffico offerto G: ALOHA puro S = G e^(−2G), massimo 0,184 in G = 0,5; slotted S = G e^(−G), massimo 0,368 in G = 1
(1) massimo con ALOHA puro
Traffico di un utente. Un pacchetto da bit ogni s significa Non serve conoscere altro sul processo di Poisson: conta solo la quantità media di bit generati. Infatti la somma di processi di Poisson indipendenti è ancora un processo di Poisson, con tasso uguale alla somma dei tassi (Somma di Poisson indipendenti e processo di PoissonSe X ~ Po(λ) e Y ~ Po(μ) sono indipendenti, X + Y ~ Po(λ + μ). Un processo di Poisson di intensità λ (eventi per unità di tempo) è una famiglia {Xₜ} in cui Xₜ ~ Po(λt) conta gli eventi in [0, t], gli incrementi X_{t+τ} − Xₜ ~ Po(λτ) dipendono solo dalla lunghezza τ dell'intervallo, e incrementi su intervalli disgiunti sono indipendenti. Quindi il numero di eventi in un intervallo non dipende da quanti ne sono avvenuti prima; la probabilità di nessun evento in un tempo τ è e^{−λτ}.Somma di Poisson indipendenti e processo di Poisson →): il canale vede un unico flusso, di bit/s in media.
Capacità utile del canale. Il canale ha capacità kbit/s, ma l'ALOHA puro ne sfrutta al massimo il circa, perché il resto va perso in collisioni e ritrasmissioni. Quindi il traffico utile massimo sostenibile è Il prodotto ha senso perché è normalizzato alla capacità: vorrebbe dire canale pieno di bit utili ( bit/s), al più bit/s utili.
Condizione. Il traffico totale generato deve stare sotto :
Il massimo è utenti. Ogni utente genera pochissimo (10 bit/s contro 56 000), ma l'ALOHA puro regge solo poco più di mille utenti perché la capacità efficace è circa un quinto di quella nominale.
(2) Carico del canale con ALOHA slotted
Richieste al secondo di una stazione.
Richieste al secondo di tutte le stazioni.
Carico per slot. Il carico è il numero medio di richieste che arrivano in uno slot (tasso di arrivo per durata dello slot, un numero puro: ). Uno slot dura s, quindi
Il canale è quasi scarico: . Con questo carico quasi tutte le richieste passano al primo tentativo: , praticamente uguale a (collisioni rarissime: la probabilità di trovare un altro pacchetto nello stesso slot è , circa lo ). Siamo molto a sinistra del massimo : il canale è sfruttato appena allo .
Confronto con la soluzione ufficiale
- (1) Ufficiale: . Coincide, perché la soluzione usa arrotondato. Con il valore esatto si ottiene bit/s e (arrotondando per difetto): la differenza è solo di arrotondamento, e all'esame va usato il valore indicato nel corso ().
- (2) Ufficiale: richieste per slot. Coincide.
Errori comuni
- Confrontare con kbit/s invece che con kbit/s: si trova , che sovraccaricherebbe il canale.
- Confondere ALOHA puro () e slotted (): usare lo slotted per la domanda (1) darebbe .
- Lasciare le richieste "all'ora" senza convertirle in secondi: è , non .
- Dimenticare che il carico si esprime per slot: richieste/s sono , non .
(Verificato con Python: , , esatto ; , .)
Versione ripasso
Dati. (1) ALOHA puro, kbit/s, utente: 1000 bit ogni 100 s bit/s; ? (2) slotted, stazioni, richieste/ora, slot s: carico?
- (1) bit/s; .
- (2) ; richieste/slot (canale quasi scarico).
Errore tipico: dimenticare il fattore (o usare dello slotted) e confrontare con la capacità nominale.