Latenza

intervallo di tempo che intercorre fra il momento in cui arriva l'input al sistema e il momento in cui è disponibile il suo output

La latenza, da un punto di vista generale, è il lasso di tempo che intercorre tra la causa e l'effetto di un cambiamento fisico in un sistema in osservazione.

Dal punto di vista fisico, la latenza è una conseguenza della velocità limitata alla quale ogni interazione fisica può propagarsi. Il modulo di questa velocità è sempre minore o uguale alla velocità della luce. Per questo motivo ogni sistema fisico che presenti una qualsiasi separazione fisica (distanza) tra causa e effetto sarà soggetto a qualche forma di latenza, in modo indipendente dalla natura dello stimolo a cui è stato esposto.

La precisa definizione di latenza dipende dal sistema che si sta osservando o dalla natura dello stimolo. Nelle telecomunicazioni il limite inferiore della latenza è determinato dal mezzo usato per trasferire l'informazione. Nei sistemi di comunicazione bidirezionale affidabile la latenza limita la massima velocità di trasmissione, poiché c`è spesso un limite alla quantità di informazione che può trovarsi in trasmissione in ogni istante. La latenza percepibile ha un effetto considerevole sulla soddisfazione degli utenti e l'usabilità nel campo dell'interazione uomo-macchina.[1]

Nei sistemi software, misurare le prestazioni utilizzando la latenza media e mediana può trarre in inganno poiché la presenza di pochi campioni eccezionali può alterarne negativamente il valore. Al loro posto, architetti e sviluppatori del software vengono incoraggiati ad usare il "99° percentile": per esempio se il 99° percentile della latenza è due secondi, questo significa che il 99% delle richieste viene processato entro due secondi. Questo da una visione più realistica della latenza.[2]

Giochi online modifica

  Lo stesso argomento in dettaglio: Lag (informatica).

I giochi online sono sensibili alla latenza, siccome tempi di risposta ridotti ai nuovi eventi che occorrono durante una partita vengono premiati mentre risposte lente potrebbero portare a penalità. A causa del ritardo di trasmissione degli eventi di gioco, un giocatore con una connessione internet ad alta latenza potrebbe mostrare risposte lente pur avendo tempi di reazione appropriati. Questo dà ai giocatori con connessioni a bassa latenza un vantaggio tecnico.

Mercati finanziari modifica

  Lo stesso argomento in dettaglio: High-frequency trading.

Joel Hasbrouck e Gideon Saar (2011) misurano la latenza di esecuzione delle transazioni finanziarie basandosi su tre componenti: il tempo necessario all'informazione per raggiungere l'operatore, per l'esecuzione degli algoritmi dell'operatore per analizzare l'informazione e decidere come agire, e per l'azione scelta a raggiungere la borsa ed essere realizzata. Il metodo di Hasbrouck e Saar si trova in contrasto con il modo in cui le latenze vengono misurate in molti luoghi di negoziazione che usano parametri molto più specifici, come il ritardo di elaborazione misurato dall'istante di arrivo dell'ordine alla trasmissione della conferma di ricezione.[3] Il trading tramite computer si è sviluppato al punto dove miglioramenti della latenza di rete nell'ordine dei millisecondi offrono un vantaggio competitivo rilevante per le istituzioni finanziarie.[4]

Reti a pacchetto modifica

Nel contesto delle reti a pacchetto la latenza della rete può essere misurata in due modi diversi: come ritardo di trasmissione puro (tempo di andata), o come tempo di risposta (tempo di andata e ritorno). Il tempo di risposta è spesso più utilizzato perché può essere misurato da un singolo punto. Molte piattaforme software offrono un servizio chiamato ping, che può essere usato per per misurare il tempo di risposta. Ping usa i messaggi ICMP "echo request" che stimolano il ricevente a mandare indietro il pacchetto ricevuto come risposta, offrendo così un metodo grezzo ma efficace per misurare il tempo si risposta della rete in modo approssimativo. Ping non può realizzare misure precise,[5] principalmente perché ICMP è pensato solo per scopi di diagnostica e controllo, e differisce dai protocolli di comunicazione propriamente detti come TCP. Inoltre, i router e gli ISP potrebbero applicare differenti politiche di gestione del traffico a protocolli diversi.[6][7] Per misure più accurate è meglio utilizzare software specializzato come: hping, Netperf o Iperf.

In ogni caso, in una rete non triviale, un tipico pacchetto sarà instradato attraverso multipli collegamenti e nodi, ogniuno dei quali non comincerà a trasmettere il pacchetto finchè non sarà stato completamente ricevuto. In tale rete, la latenza minima è la somma dei ritardi di trasmissione di ogni collegamento, più il tempo di instradamento di ogni nodo. In pratica, la latenza minima include anche i ritardi di accodamento e di elaborazione. I ritardi di accodamento si manifestano quando un nodo riceve multipli pacchetti da fonti diverse, diretti verso la stessa destinazione. Siccome tipicamente è possibile trasmettere solo un pacchetto alla volta, alcuni pacchetti devono essere messi in coda per la trasmissione, accumulando ritardo addizionale. I ritardi di elaborazione occorrono mentre un nodo determina cosa fare con un pacchetto appena ricevuto. La combinazione dei ritardi di propagazione, serializzazione, accodamento, ed elaborazione spesso produce un profilo di latenza della rete altamente complesso e variabile.

La latenza limita la capacità effettiva dei sistemi di comunicazione affidabili a due vie, come descritto dal prodotto banda-ritardo.


Audio digitale modifica

È il tempo che passa tra la conversione analogico-digitale del segnale in ingresso a un sistema (ad esempio nell'ingresso microfonico della scheda audio di un computer), l'elaborazione del segnale stesso e la sua successiva conversione digitale-analogico in fase di riproduzione. In termini pratici è il tempo che intercorre tra l'acquisizione di un segnale audio in ingresso da parte di un sistema digitale e la sua (quanto possibile immediata) riproduzione in uscita. Si parla di latenza anche nel caso dell'intervallo di tempo tra la pressione di una nota su una tastiera MIDI (o analogo controller) collegata a un pc o expander e la riproduzione del suono corrispondente da parte di quest'ultimo.

Di norma per elaborazioni in tempo reale si cerca di avere un valore basso di latenza, il limite massimo può essere considerato di circa 30 ms in quanto al di sopra di esso il suono verrebbe percepito come eco, è tuttavia pratica comune tenersi ben al di sotto di questo valore. Allo stato dell'arte con un calcolatore dedicato ad alte prestazioni (DAW) e una scheda audio professionale o semi-pro si possono raggiungere latenze inferiori ai 5 ms.

Note modifica

  1. ^ (EN) Steve Souders, Velocity and the Bottom Line, su radar.oreilly.com. URL consultato il 23 February 2023.
  2. ^ (EN) Foundations of Data Intensive Applications Large Scale Data Analytics Under the Hood, 2021, ISBN 9781119713012.
  3. ^ (EN) Joel Hasbrouck e Gideon Saar, Low-Latency Trading (PDF), su www2.binghamton.edu, p. 1. URL consultato il 18 luglio 2011 (archiviato dall'url originale l'11 novembre 2011).
  4. ^ (EN) High-frequency trading: when milliseconds mean millions, in The Telegraph. URL consultato il 25 marzo 2018.
  5. ^ (EN) Don't misuse ping!, su c0t0d0s0.org. URL consultato il 29 aprile 2015 (archiviato dall'url originale il 12 ottobre 2017).
  6. ^ (EN) Shane Chen, Network Protocols Discussion / Traffic Shaping Strategies, su knowplace.org, 2005 (archiviato dall'url originale il 9 gennaio 2007).
  7. ^ (EN) Basic QoS part 1 – Traffic Policing and Shaping on Cisco IOS Router, in The CCIE R&S, 19 Settembre 2012. URL consultato il 29 Aprile 2015.

Bibliografia modifica

  • James F. Kurose e Keith W. Ross, Reti di calcolatori e internet. Un approccio top-down, a cura di Antonio Capone e Sabrina Gaito, 8ª ed., Pearson, 2022, ISBN 978-8891916006.

Voci correlate modifica

Altri progetti modifica

Collegamenti esterni modifica