performance - test - ¿Qué es el acceso de baja latencia de datos?
latencia ping (2)
¿Qué quiere decir con acceso de datos de baja latencia?
De hecho, estoy confundido acerca de la definición del término " LATENCIA " .
¿Alguien puede por favor elaborar el término "Latencia"?
- Latencia: el tiempo que lleva acceder a los datos.
- Ancho de banda: la cantidad de datos que puede obtener.
El ejemplo clásico:
Un vagón lleno de cintas de respaldo tiene una alta latencia y un gran ancho de banda. Hay mucha información en esas cintas de respaldo, pero lleva mucho tiempo que un vagón llegue a algún lado.
Las redes de baja latencia son importantes para los servicios de transmisión. La transmisión de voz necesita muy poco ancho de banda (4 kbps para la calidad del teléfono AFAIR) pero necesita que los paquetes lleguen rápidamente. Una llamada de voz en una red de latencia alta provoca un retraso de tiempo entre los altavoces, incluso si hay suficiente ancho de banda.
Otras aplicaciones donde la latencia es importante:
- Algunos tipos de juegos en línea (FPS, RTS, etc.)
- Comercio algorítmico
-
LATENCY -
una cantidad de tiempo para obtener la respuesta[us]
-
BANDWIDTH -
una cantidad de volumen de flujo de datos por unidad de tiempo[GB
/s
] `
Los documentos de marketing son fabulosos en mistificaciones con cifras de LATENCY
Una latencia de término podría confundirse, si no se toma con cuidado todo este contexto del ciclo de vida de la transacción : segmentos de línea participantes {amplificación | retiming | cambio | MUX / MAP-ing | enrutamiento | EnDec-processing (sin hablar de criptografía) | estadístico- (de) compresión}, duración del flujo de datos y enmarcación / add-ons protectores de código de línea / (optativo procotol, si está presente, encapsulación y reencuadre) sobrecarga adicionales de sobrecarga, que aumentan continuamente la latencia pero también aumentan los datos - VOLUME
.
Solo como ejemplo, tome cualquier comercialización de motores GPU. Los enormes números que se presentan sobre GigaBytes de DDR5
y su sincronización de GHz
silencio se comunican en negrita, lo que omiten decir es que con todos esos tropecientos de cosas, cada uno de sus múltiples núcleos SIMT
, sí, todos los núcleos, tiene que pagar una latencia cruel - multa y esperar más de +400-800
[GPU-clk]
s solo para recibir el primer byte del banco de memoria protegido por GPU sobredotado-GigaHertz-Fast-DDRx-ECC.
Sí, los GFLOPs/TFLOPs
tu Super-Engine tienen que esperar! ... debido a (oculto) LATENCY
Y esperas con todo el circo paralelo ... por la LATENCY
(... y cualquier campana o silbato de marketing no puede ayudar, lo crea o no (olvídese también de las promesas de caché, estas no lo saben, qué demonios habría en la celda de memoria lejana / tardía / lejana, así que no puedo alimentarlo ni una sola vez) copia de bit de dicha latencia - enigma "lejos" de sus bolsillos locales poco profundos))
LATENCY
(y los impuestos) no se pueden evitar
Los diseños altamente profesionales de HPC
solo ayudan a pagar menos penalizaciones, mientras que aún no pueden evitar la LATENCY
(como impuestos) más allá de algunos principios de redistribución inteligente.
CUDA Device:0_ has <_compute capability_> == 2.0.
CUDA Device:0_ has [ Tesla M2050] .name
CUDA Device:0_ has [ 14] .multiProcessorCount [ Number of multiprocessors on device ]
CUDA Device:0_ has [ 2817982464] .totalGlobalMem [ __global__ memory available on device in Bytes [B] ]
CUDA Device:0_ has [ 65536] .totalConstMem [ __constant__ memory available on device in Bytes [B] ]
CUDA Device:0_ has [ 1147000] .clockRate [ GPU_CLK frequency in kilohertz [kHz] ]
CUDA Device:0_ has [ 32] .warpSize [ GPU WARP size in threads ]
CUDA Device:0_ has [ 1546000] .memoryClockRate [ GPU_DDR Peak memory clock frequency in kilohertz [kHz] ]
CUDA Device:0_ has [ 384] .memoryBusWidth [ GPU_DDR Global memory bus width in bits [b] ]
CUDA Device:0_ has [ 1024] .maxThreadsPerBlock [ MAX Threads per Block ]
CUDA Device:0_ has [ 32768] .regsPerBlock [ MAX number of 32-bit Registers available per Block ]
CUDA Device:0_ has [ 1536] .maxThreadsPerMultiProcessor [ MAX resident Threads per multiprocessor ]
CUDA Device:0_ has [ 786432] .l2CacheSize
CUDA Device:0_ has [ 49152] .sharedMemPerBlock [ __shared__ memory available per Block in Bytes [B] ]
CUDA Device:0_ has [ 2] .asyncEngineCount [ a number of asynchronous engines ]
Sí, ¡teléfono!
Por qué no?
Un punto genial para recordar
un muestreo de 8kHz-8bit en una conmutación de circuito de 64k
utilizado dentro de una jerarquía TELCO E1 / T1
Un servicio telefónico POTS
solía basarse en una conmutación síncrona de latency
fija (a finales de los 70 se fusionaron las redes Plesiochronous Digital Jerarchy globales, sino in sincronizables, entre estándares PDH
- PDH
-estándar, Continental- PDH
- E3
entre operadores y los servicios de operador US- PDH
- T3
, que finalmente evitaron muchos problemas con las fluctuaciones de jitter / slippage / (re) -sincronización del servicio de operador internacional y los abandonos)
SDH
/ SONET-STM1 / 4 / 16
, llevado a 155/622/2488 [Mb/s]
BANDWIDTH SyncMUX-circuits.
La idea genial en SDH
era la estructura de corrección forzada a nivel mundial del encuadre alineado en el tiempo, que era a la vez determinista y estable.
Esto permitió simplemente copiar los componentes del flujo de datos del contenedor de mapas de memoria (conmutador de conexión cruzada) del STMx entrante a las cargas útiles STMx / PDHy salientes en las conexiones cruzadas SDH (recuerde, eso fue tan profundo como a finales de los 70 -ies por lo que el rendimiento de la CPU y DRAM fueron décadas antes de manejar GHz
y sole ns
). Una asignación de carga útil de caja dentro de una caja dentro de una caja proporcionaba gastos generales de conmutación baja en el hardware y también proporcionaba algunos medios para la realineación en el dominio del tiempo (había algunas brechas de bits entre la caja y la caja). límites dentro de la caja, a fin de proporcionar cierta elasticidad, muy por debajo de una inclinación máxima estándar dada en el tiempo)
Si bien puede ser difícil explicar la belleza de este concepto en pocas palabras, AT & T y otros importantes operadores globales disfrutaron mucho de la sincronicidad SDH y la belleza de la red SDH globalmente sincrónica y las asignaciones Add-Drop-MUX laterales locales.
Habiendo dicho ésto,
diseño controlado por latencia
cuidar algo:
- ACCESS-LATENCY :
cuánto tiempo lleva llegar por primera vez : [s]
- TRANSPORT-BANDWIDTH :
cuántos bits puede transferir / entregar cada siguiente unidad de tiempo : [b/s]
- VOLUME OF DATA :
cuántos bits de datos hay en total para transportar : [b]
- TRANSPORT DURATION :
DE TRANSPORT DURATION :
¿cuántas unidades de tiempo tarda?
- ___________________ :
mover / entregar VOLUME OF DATA
completo a quien ha preguntado : [s]
Epílogo:
Una ilustración muy agradable de la independencia principal de un THROUGHPUT ( BANDWIDTH
[GB/s]
) en LATENCY[ns]
muestra en la Fig.4 en un precioso artículo ArXiv sobre Mejora de latencia de Ericsson, probando cuántos core RISC-procesor Epiphany-64 architecture de Adapteva puede ayudar a disminuir la LATENCIA en el procesamiento de la señal.
Comprender la Fig . 4 , extendida en la dimensión central,
también puede mostrar los posibles escenarios
- cómo aumentar BANDWIDTH[GB/s]
por más-núcleo (s) involucrados en el procesamiento acelerado / TDMux-ed[Stage-C]
(intercalado en el tiempo)
y también
- esa LATENCIA[ns]
nunca puede ser más corto que una suma deSEQ
principal -proceso-duraciones== [Stage-A]
+[Stage-B]
+[Stage-C]
, independientemente del número de calificaciones disponibles (simples / múltiples) que la arquitectura permita usar.
Muchas gracias a Andreas Olofsson y los chicos de Ericsson. MANTENGASE A PIE, HOMBRES VALIENTES!