【发布时间】:2013-09-20 05:21:31
【问题描述】:
低延迟访问数据是什么意思?
我实际上对 "LATENCY" 一词的定义感到困惑。
谁能详细说明“延迟”一词。
【问题讨论】:
标签: performance memory dataflow low-latency multiplexing
低延迟访问数据是什么意思?
我实际上对 "LATENCY" 一词的定义感到困惑。
谁能详细说明“延迟”一词。
【问题讨论】:
标签: performance memory dataflow low-latency multiplexing
经典例子:
装满备份磁带的货车具有高延迟和高带宽。那些备份磁带里有很多信息,但是一辆马车需要很长时间才能到达任何地方。
低延迟网络对于流媒体服务很重要。语音流需要非常低的带宽(电话质量 AFAIR 为 4 kbps),但需要数据包快速到达。即使有足够的带宽,高延迟网络上的语音通话也会导致扬声器之间的时间延迟。
延迟很重要的其他应用程序:
【讨论】:
DAT-磁带的旅行车的可爱例子:o) 你的BANDWIDTH 术语会造成麻烦。应该根据时间使用带宽(您的[kbit/s] 单位确认)。那么您如何期望旅行车具有 高带宽 - 即如何在迷你车中获得 huuuuuuuge 大量数据 out-of-the-wagon mu-m-amount-of-time?数据的VOLUME ([{G|T|P|E}B]) 没有说明BANDWIDTH 或LATENCY。高LATENCY 意味着,即使是与访问通道无关的第一位也必须等待很长时间BANDWIDTH(流)可能
BANDWIDTH。阅读器设备 + 交付通道 + 接收过程确实“拥有”它。所以,恕我直言,正确的说法是 -- " 对于 一辆装满 DAT 磁带的货车 和 对于端到端数据卸载过程,能够持续6GB/s BANDWIDTH,则需要x-[DAY]s时间来读取(卸载+传输+交付)整体VOLUME of DATA .
DATA VOLUME的z-[PB]的车子,至少要部署一个6GB/s BANDWITH的系统,这样才能少读超过 x-[DAY]s 时间。
LATENCY - 获得回复 [us] 的 时间
BANDWIDTH -每单位时间的数据流量[GB/s]`LATENCYfigures
如果不仔细考虑事务生命周期的整个上下文,可能会混淆术语延迟:参与行段 { 放大 |重定时|切换 |多路复用器/映射 |路由 | EnDec 处理(不谈密码学) |统计(去)压缩},数据流持续时间和成帧/行代码保护附加组件/(可选协议,如果存在,封装和重新成帧)额外的剩余开销,不断增加延迟但也增加数据-VOLUME。
举个例子,以任何 GPU 引擎营销为例。关于 DDR5 和 GHz 时间的 GigaBytes 的大量数据其中默默地用粗体字传达,他们没有告诉你的是,有这么多东西,你的每一个SIMTmany-cores,是的,所有的核心,都必须付出残酷的延迟-penalty和等待超过+400-800[GPU-clk]s只是为了接收第一个字节来自 GPU-over-hyped-GigaHertz-Fast-DDRx-ECC 保护的内存库。
是的,你的超级引擎的GFLOPs/TFLOPs必须等待! ...因为(隐藏)LATENCY
而你等待所有完整的并行-马戏团 ...因为 LATENCY
( ... 任何营销的花言巧语都无济于事,信不信由你(忘记缓存承诺,这些不知道,在远/迟/远的记忆单元中到底会有什么,所以不能喂你从他们的浅本地口袋中获得了这种延迟的“远”之谜))
LATENCY(和税收)无法避免高度专业的HPC——设计只帮助少付罚金,而仍然无法避免LATENCY(作为税收)惩罚 超出一些聪明的重新安排原则。
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 ]
POTS 电话服务曾经基于 同步 fix-latency 交换(70 年代后期已合并日本-PDH-standard、Continental-PDH-E3 运营商间标准和 US-PDH-T3运营商服务,终于避免了国际运营商服务抖动/滑点/(重新)同步风暴和掉线的许多头痛)
SDH/SONET-STM1 / 4 / 16,进行 155 / 622 / 2488 [Mb/s] BANDWIDTH SyncMUX 电路。
SDH 上的一个很酷的想法是时间对齐框架的全局强制修复结构,它既确定又稳定。
这允许简单的内存映射(交叉连接开关)低阶容器数据流组件,以便从传入 STMx 复制到 SDH 交叉连接上的传出 STMx/PDHy 有效负载(请记住,这与在 70 年代后期,因此 CPU 性能和 DRAM 比处理 GHz 和唯一的 ns 早了几十年。这种盒内盒内盒内有效负载映射既提供了硬件上的低切换开销,又提供了一些在时域中重新对齐的方法(盒子之间存在一些位间隙-收件箱边界,以提供一些弹性,远低于给定最大时间偏差的标准)
虽然可能很难用几句话来解释这个概念的美妙之处,但 AT&T 和其他主要的全球运营商非常享受 SDH 同步性以及全球同步 SDH 网络和本地端 Add-Drop- 的美妙之处MUX 映射。
话虽如此,
延迟控制设计
照顾:
- ACCESS-LATENCY :第一个比特到达需要多长时间: [s]
- TRANSPORT-BANDWIDTH :每个下一个时间单位可以传输/交付多少位: [b/s]
- VOLUME OF DATA :总共有多少位数据要传输: [b]
- TRANSPORT DURATION :需要多少时间单位
- ___________________ :to move/deliver整个VOLUME OF DATAto谁问过: [s]
LATENCY
[ns]上的 THROUGHPUT ( BANDWIDTH[GB/s]) 的主要独立性很好的说明在 >图 4 在来自爱立信的可爱 ArXiv paper on Improving Latency 中,测试来自 Adapteva 的多少核 RISC 处理器 Epiphany-64 架构可能有助于降低信号处理中的延迟。
了解图4,在核心维度上进行扩展,
也可以展示可能的场景
-如何增加BANDWIDTH[GB/s]
更多- 涉及加速/TDMux-ed[Stage-C]-处理的核心(时间交错)
以及
- LATENCY[ns]
永远不会更短大于主体SEQ-process-durations== [Stage-A]+[Stage-B]+[Stage-C]的总和,与架构允许使用的可用(单个/多个)核心的数量无关。
非常感谢 Andreas Olofsson 和 Eric小伙子们。勇往直前,勇敢的人!
【讨论】: