Esercizio 28codifica a correzione d'errore e ARQ selective repeat per un server (tema d'esame luglio 2021)
In questa pagina 4
Testo (tema d'esame del 2 luglio 2021, esercizio 3). Un server riceve ogni secondi dei file con lunghezze aleatorie , indipendenti a ogni arrivo e con distribuzione esponenziale di media kbit. Anche l'intervallo tra i file è una variabile aleatoria con distribuzione esponenziale di media ms, e gli intervalli sono indipendenti fra loro.
- (3p) Determinare il bit-rate medio di arrivo.
Il server immagazzina in un buffer i file che arrivano e li divide in pacchetti da bit che invia a un'unità di storage. Il collegamento verso quest'ultima ha un ritardo di propagazione s ed è affetto da una probabilità d'errore sul bit ; per controllare questi errori si possono applicare diverse tecniche (FEC o ARQ). Il bit-rate di questo collegamento viene indicato come . Calcolare il valore minimo per il bit-rate nel caso in cui:
- (2p) Si utilizza forward error correction (FEC) con codice lineare a massima distanza, in cui le parole di codice sono lunghe come i pacchetti, e va garantito di correggere un numero di errori pari all' della lunghezza dei pacchetti. (Si utilizzi il bound di Singleton.)
- (2p) Si controllano gli errori con selective repeat ARQ e si richiede che da quando escono dal buffer, i pacchetti arrivino a destinazione corretti in un tempo medio inferiore a s.
Teoria usata: Codifica di canale - codici a blocco, distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza ai bit per rivelare o correggere gli errori del canale. Un codice a blocco $(n,k)$ trasforma $k$ bit in $n$ bit (rendimento $R_c=\frac kn$). Con la distanza di Hamming minima $d_{min}$ il codice rivela fino a $d_{min}-1$ errori e ne corregge $t=\left\lfloor\frac{d_{min}-1}2\right\rfloor$ (decodifica a minima distanza). Vale il limite di Singleton $d_{min}\le n-k+1$. Su un canale binario simmetrico con errore $p$, la probabilità di parola sbagliata è $P_w\le\sum_{i>t}\binom nip^i(1-p)^{n-i}$ e, con $p$ piccola, $P_{bit}\approx\frac{d_{min}}n\binom n{t+1}p^{t+1}$.Codifica di canale - codici a blocco, distanza minima, rivelazione e correzione →, Tecniche ARQ - stop-and-wait, go-back-N e selective repeatL'ARQ (automatic repeat request) usa un codice che rivela gli errori e fa ritrasmettere i pacchetti sbagliati, con conferme ACK/NACK. Con $p=1-(1-P_{bit})^L$ la probabilità che un pacchetto sia errato, $t_P$ il tempo di pacchetto, $t_A$ quello dell'ACK e $\tau_P$ il ritardo di propagazione: stop-and-wait $S=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}$; go-back-N $S=\frac{(1-p),t_P}{1+(N-1)p}$ con $N-1=\left\lceil\frac{2\tau_P}{t_P+t_A}\right\rceil$; selective repeat $S=(1-p)\frac{t_P}{t_P+t_A}$. Il numero medio di trasmissioni di un pacchetto è $\frac1{1-p}$.Tecniche ARQ - stop-and-wait, go-back-N e selective repeat →, Sistemi a coda - processo di Poisson, M/M/1 e formula di LittleUn sistema a coda ha arrivi (di pacchetti, file) e un servitore (il collegamento). Con arrivi di Poisson di intensità $\lambda$ e tempi di servizio esponenziali di media $\frac1\mu$ (coda M/M/1) e $\rho=\frac\lambda\mu<1$: $P[N=n]=(1-\rho)\rho^n$, numero medio nel sistema $\bar N=\frac\rho{1-\rho}$, tempo medio di permanenza $\bar W=\frac1{\mu-\lambda}$, attesa in coda $\bar W_q=\frac\rho{\mu-\lambda}$. La formula di Little $\bar N=\lambda\bar W$ vale in generale. Con buffer finito (M/M/1/K) i pacchetti sono persi con $P_K=\frac{(1-\rho)\rho^K}{1-\rho^{K+1}}$.Sistemi a coda - processo di Poisson, M/M/1 e formula di Little →, Informazione ed entropiaL'informazione di un evento di probabilità $p$ è $\log_2\frac1p$ bit; l'entropia $H(x)=\sum p\log_2\frac1p$ è l'informazione media e misura l'incertezza della sorgente: $0\le H\le\log_2M$, con il massimo quando i simboli sono equiprobabili. Per più simboli: $H(x,y)\le H(x)+H(y)$ (uguaglianza se indipendenti), $H(x|y)=H(x,y)-H(y)$. Per una sorgente con $F_s$ simboli al secondo il rate di informazione è $F_sH_s$, il rate nominale $F_s\log_2M$ e l'efficienza $\eta=\frac{H_s}{\log_2M}$.Informazione ed entropia →.
(1) Bit-rate medio di arrivo
I file arrivano con intervallo medio ms ( file/s) e ognuno porta in media kbit. Il bit-rate medio è il bit medio per arrivo diviso l'intervallo medio (media di un processo con arrivi indipendenti):
(2) FEC con codice a massima distanza
Parola di codice lunga come il pacchetto: . Si devono correggere errori, quindi Limite di Singleton: , cioè . Il numero massimo di bit di informazione per parola è (rendimento ). Per smaltire i Mbit/s di informazione il collegamento deve trasmettere volte tanto: (Nella soluzione a mano del Drive si usa e , che dà Mbit/s: la differenza è irrilevante, ma per correggere errori basta .)
Osservazione. A Mbit/s il collegamento è saturo (): il buffer non sarebbe stabile. Per un buffer che si comporta come una coda M/M/1 (Sistemi a coda - processo di Poisson, M/M/1 e formula di LittleUn sistema a coda ha arrivi (di pacchetti, file) e un servitore (il collegamento). Con arrivi di Poisson di intensità $\lambda$ e tempi di servizio esponenziali di media $\frac1\mu$ (coda M/M/1) e $\rho=\frac\lambda\mu<1$: $P[N=n]=(1-\rho)\rho^n$, numero medio nel sistema $\bar N=\frac\rho{1-\rho}$, tempo medio di permanenza $\bar W=\frac1{\mu-\lambda}$, attesa in coda $\bar W_q=\frac\rho{\mu-\lambda}$. La formula di Little $\bar N=\lambda\bar W$ vale in generale. Con buffer finito (M/M/1/K) i pacchetti sono persi con $P_K=\frac{(1-\rho)\rho^K}{1-\rho^{K+1}}$.Sistemi a coda - processo di Poisson, M/M/1 e formula di Little →) serve . Con Mbit/s la capacità utile è Mbit/s, cioè file/s, e il tempo medio di un file nel buffer sarebbe ms.
(3) Selective repeat ARQ
Probabilità d'errore sul pacchetto: un pacchetto da bit è errato se almeno un bit lo è, Con selective repeat si ritrasmette solo il pacchetto errato; il numero medio di trasmissioni di un pacchetto è (Tecniche ARQ - stop-and-wait, go-back-N e selective repeatL'ARQ (automatic repeat request) usa un codice che rivela gli errori e fa ritrasmettere i pacchetti sbagliati, con conferme ACK/NACK. Con $p=1-(1-P_{bit})^L$ la probabilità che un pacchetto sia errato, $t_P$ il tempo di pacchetto, $t_A$ quello dell'ACK e $\tau_P$ il ritardo di propagazione: stop-and-wait $S=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}$; go-back-N $S=\frac{(1-p),t_P}{1+(N-1)p}$ con $N-1=\left\lceil\frac{2\tau_P}{t_P+t_A}\right\rceil$; selective repeat $S=(1-p)\frac{t_P}{t_P+t_A}$. Il numero medio di trasmissioni di un pacchetto è $\frac1{1-p}$.Tecniche ARQ - stop-and-wait, go-back-N e selective repeat →). Si adotta un modello semplice: il pacchetto, appena uscito dal buffer, viene trasmesso più volte consecutivamente fino al successo, ciascuna trasmissione durando , e al tempo si aggiunge il ritardo di propagazione dell'ultima: Quindi (Se si trascura , come fa la soluzione a mano del Drive, s e Mbit/s. La capacità di smaltire il traffico, Mbit/s, è un vincolo meno stretto.)
Confronto. La FEC richiede solo Mbit/s per sostenere il traffico, l'ARQ Mbit/s di capacità (e Mbit/s per rispettare anche il ritardo): con la FEC ha un overhead fisso del , l'ARQ ritrasmette il dei pacchetti e aggiunge ritardo variabile.
(Verificato con Python: , , , Mbit/s; , e Mbit/s.)
Errori comuni
- Usare (): per correggere errori servono .
- Dimenticare di moltiplicare per : la FEC trasmette più bit di quelli utili.
- Calcolare al posto di (qui l'approssimazione ha un errore del ).
- Confondere il tempo di trasmissione con il tempo di propagazione .
Versione ripasso
Testo. File esponenziali di media kbit ogni ms (esp.); pacchetti bit, s, : bit-rate di arrivo; minimo con FEC a massima distanza ( di errori corretti) e con selective repeat (tempo medio s) (luglio 2021).
- (1) Mbit/s.
- (2) (Codifica di canale - codici a blocco, distanza minima, rivelazione e correzioneLa codifica di canale aggiunge ridondanza ai bit per rivelare o correggere gli errori del canale. Un codice a blocco $(n,k)$ trasforma $k$ bit in $n$ bit (rendimento $R_c=\frac kn$). Con la distanza di Hamming minima $d_{min}$ il codice rivela fino a $d_{min}-1$ errori e ne corregge $t=\left\lfloor\frac{d_{min}-1}2\right\rfloor$ (decodifica a minima distanza). Vale il limite di Singleton $d_{min}\le n-k+1$. Su un canale binario simmetrico con errore $p$, la probabilità di parola sbagliata è $P_w\le\sum_{i>t}\binom nip^i(1-p)^{n-i}$ e, con $p$ piccola, $P_{bit}\approx\frac{d_{min}}n\binom n{t+1}p^{t+1}$.Codifica di canale - codici a blocco, distanza minima, rivelazione e correzione →) , , , Singleton: ; Mbit/s (con : , ms).
- (3) (Tecniche ARQ - stop-and-wait, go-back-N e selective repeatL'ARQ (automatic repeat request) usa un codice che rivela gli errori e fa ritrasmettere i pacchetti sbagliati, con conferme ACK/NACK. Con $p=1-(1-P_{bit})^L$ la probabilità che un pacchetto sia errato, $t_P$ il tempo di pacchetto, $t_A$ quello dell'ACK e $\tau_P$ il ritardo di propagazione: stop-and-wait $S=\frac{t_P(1-p)}{t_P+t_A+2\tau_P}$; go-back-N $S=\frac{(1-p),t_P}{1+(N-1)p}$ con $N-1=\left\lceil\frac{2\tau_P}{t_P+t_A}\right\rceil$; selective repeat $S=(1-p)\frac{t_P}{t_P+t_A}$. Il numero medio di trasmissioni di un pacchetto è $\frac1{1-p}$.Tecniche ARQ - stop-and-wait, go-back-N e selective repeat →) ; s s, Mbit/s ( senza ).
- Errori: ; manca ; ; vs .