La latenza
La latenza è sinonimo di ritardo. Nelle telecomunicazioni, una bassa latenza è associata a un’esperienza utente (UX) positiva, mentre un’alta latenza è associata a una scarsa UX.
Nelle reti informatiche, la latenza è un’espressione di quanto tempo impiega un pacchetto di dati a viaggiare da un punto designato a un altro. Idealmente, la latenza sarà il più vicino possibile allo zero. La latenza di rete può essere misurata determinando il tempo di andata e ritorno (RTT) di un pacchetto di dati per viaggiare verso una destinazione e tornare indietro.
Un’elevata latenza di rete può aumentare drasticamente i tempi di caricamento delle pagine Web, interrompere i flussi video e audio e rendere inutilizzabile un’applicazione. A seconda dell’applicazione, anche un aumento relativamente piccolo della latenza può rovinare l’UX.
Uno dei principali motivi della scarsa latenza è la geografia. Le reti IP (Internet Protocol) altamente distribuite attraversano grandi distanze, aggiungendo tempo di trasmissione che può far deragliare un’applicazione. In qualsiasi situazione in cui la latenza tra rilevamento e risposta deve essere estremamente bassa, ad esempio, in determinate azioni di guida autonoma, ha senso posizionare il computer che elabora i dati il più vicino possibile alla fonte dei dati, un concetto noto come edge computing.
Cause di latenza nelle telecomunicazioni
La latenza può essere causata da molti fattori, tra cui i seguenti:
- Supporti di trasmissione. La latenza può essere influenzata dal tipo di supporto utilizzato per trasmettere dati, voce e video. Ad esempio, i pacchetti che viaggiano su una linea T1 possono avere una latenza inferiore rispetto ai pacchetti che viaggiano su un cavo Cat5.
- Dimensioni del pacchetto. Un pacchetto di grandi dimensioni impiegherà più tempo per l’invio di andata e ritorno rispetto a uno piccolo.
Perdita e jitter dei pacchetti. La latenza può anche essere introdotta da un’alta percentuale di pacchetti che non riescono a raggiungere la destinazione o da troppe variazioni nel tempo impiegato da alcuni pacchetti per viaggiare da un sistema all’altro. - Intensità del segnale. Se il segnale è debole e deve essere potenziato da un ripetitore, questo può introdurre latenza.
- Ritardi di propagazione. Se ogni nodo gateway deve impiegare del tempo per esaminare ed eventualmente modificare l’intestazione in un pacchetto, ad esempio modificando il conteggio dei salti nel campo time-to-live (TTL), la latenza sarà maggiore.
- Altri ritardi di computer e archiviazione. Se un pacchetto è soggetto a ritardi di archiviazione e accesso al disco rigido su un dispositivo intermedio, come uno switch, è probabile che la latenza sia maggiore.
Tipi di latenza
La latenza di interrupt è il periodo di tempo impiegato da un computer per agire su un segnale che indica al sistema operativo host (SO) di fermarsi finché non può decidere cosa fare in risposta a un evento.
La latenza della fibra ottica è il tempo impiegato dalla luce per percorrere una distanza specificata attraverso un cavo in fibra ottica. Per ogni chilometro (km) percorso, si verifica naturalmente una latenza di 3,33 microsecondi (μs), in base alla velocità della luce. In realtà, tuttavia, la latenza per chilometro dei cavi in fibra ottica è di circa 4,9 μs, perché la luce viaggia più lentamente in un cavo. Piegature o altre imperfezioni nel cavo potrebbero aumentare la latenza.
I tempi di latenza di Internet dipendono dalla distanza. Più a lungo un pacchetto deve viaggiare attraverso una rete WAN (Global Wide Area Network), maggiore è la latenza.
La latenza WAN può essere un fattore importante per determinare la latenza di Internet. Una WAN impegnata a dirigere altro traffico produrrà un ritardo, indipendentemente dal fatto che la risorsa venga richiesta da un server sulla rete locale (LAN), da un altro computer su quella rete o da un’altra parte su Internet.
La latenza audio è il ritardo tra la creazione e l’ascolto del suono. Nel suono creato nel mondo fisico, questo ritardo è determinato dalla velocità del suono, che varia leggermente a seconda del mezzo attraverso cui viaggia l’onda sonora. Il suono viaggia più velocemente nei mezzi più densi: viaggia più velocemente nei solidi, meno velocemente nei liquidi e più lentamente nell’aria. Nell’audio, la latenza media accettabile è di circa 8-12 μs. Le latenze di 30 millisecondi (ms) sono generalmente notate dall’ascoltatore.
La latenza operativa può essere definita come il tempo di somma delle operazioni se vengono eseguite in un flusso di lavoro lineare. Nei flussi di lavoro paralleli, la latenza è determinata dall’operazione più lenta eseguita da un singolo task worker.
La latenza meccanica è il ritardo dall’input in un sistema o dispositivo meccanico all’output desiderato. Questo ritardo è determinato dai limiti del meccanismo basati sulla fisica newtoniana (ad eccezione della meccanica quantistica).
La latenza del computer e del sistema operativo è il ritardo combinato tra un input o un comando e l’output desiderato. I fattori che contribuiscono all’aumento della latenza del computer includono buffer di dati insufficienti e discrepanze nella velocità dei dati tra il microprocessore e i dispositivi di input/output (I/O).
Test e misurazione della latenza
I test di latenza possono variare da applicazione ad applicazione. In alcune applicazioni, la misurazione della latenza richiede attrezzature speciali e complesse o la conoscenza di comandi e programmi speciali per computer; in altri casi, la latenza può essere misurata con un cronometro. I gestori di rete hanno una serie di strumenti tra cui scegliere per farlo, tra cui Traceroute, My traceroute (MTR) e Ping.
I comandi Ping vengono utilizzati per determinare se un computer host che l’utente sta tentando di raggiungere è in funzione. Per valutare la latenza, un amministratore di rete invia una richiesta di eco Internet Control Message Protocol (ICMP) a un’interfaccia specificata sulla rete e attende una risposta.
Le informazioni sulla latenza possono anche essere raccolte utilizzando un comando traceroute. Traceroute visualizza il percorso che i pacchetti seguono attraverso una rete IP, registrando la latenza tra ogni host sul percorso. MTR fonde elementi di Ping e Traceroute per tracciare sia il ritardo tra i dispositivi sul percorso sia il tempo di transito totale.
Per valutare la latenza meccanica, è possibile utilizzare telecamere ad alta velocità per catturare le minime differenze nei tempi di risposta dall’input all’azione meccanica.
Riduzione della latenza
La latenza può essere ridotta regolando, modificando e aggiornando l’hardware, il software e i sistemi meccanici del computer. All’interno di un computer, la latenza può essere rimossa o nascosta da tecniche come il prefetching, ovvero anticipando la necessità di richieste di input dati, e il multithreading o utilizzando il parallelismo su più thread di esecuzione.
Altri passaggi per ridurre la latenza e aumentare le prestazioni includono la disinstallazione di programmi non necessari, l’ottimizzazione delle configurazioni di rete e software e l’aggiornamento o l’overclocking dell’hardware.
Latenza vs. throughput
Sia il throughput che la latenza sono comunemente utilizzati per misurare le prestazioni di rete e migliorare i tempi di caricamento.
La latenza può essere considerata come il tempo necessario per eseguire un’azione, mentre il throughput può essere considerato come il numero di azioni che possono essere eseguite in un’unità di tempo. In altre parole, la latenza misura la rapidità con cui i dati vengono trasferiti, mentre il throughput è la quantità di dati che può essere inviata.
La larghezza di banda è un altro concetto spesso associato alla latenza. La larghezza di banda descrive la capacità massima di una connessione di rete/Internet. Minore è la larghezza di banda di una rete, maggiore è la latenza.
Per comprendere la relazione tra larghezza di banda e latenza, immagina la larghezza di banda come un tubo e la produttività come la quantità di acqua che un tubo può trasportare in un tempo specificato. La latenza diventa il tempo impiegato dall’acqua per raggiungere la sua destinazione. Più piccolo è il tubo, più tempo impiega l’acqua per raggiungere la sua destinazione. Con la stessa nozione, più grande è il tubo, più velocemente l’acqua può raggiungere la sua destinazione. Larghezza di banda e latenza hanno una relazione causa-effetto in questo modo.