论文阅读----Ten Lessons From Three Generations Shaped Google‘s TPU V4i

文章目录

论文阅读----Ten Lessons From Three Generations Shaped Google’s TPU V4i

1, 论文常见缩写

1) Domain Specific Architecture (DSA)

2) A custom chip-to-chip interconnect fabric (ICI)

3) P99 latency:

P99延迟: 一段时间内,所有请求中最快的 99%请求的平均延时,能直观的衡量服务器性能指标.

同理 P95就是快的95%的请求延时.

4) SLA/SLO/SLI

SLA = Service Level Agreement = 服务质量 / 水平协议

SLO = Service-level-objective = 服务质量 / 水平目标

SLI = Service Level Indicator = 服务质量 / 水平指标

5) ISA(Instruction set architecture)

6) MLPerf benchmarks 0.5-0.7 :

  • MLPerf Training benchmarks 0.5-0.7 :
  • MLPerf Inference benchmarks 0.5-0.7

7) High BandWIdth Memory(HBM)

8) Itanium’s VLIW architecture: Very Long Instruction Word:超长指令集架构

  • 安腾(英语:Itanium),是英特尔安腾架构(通常称之为IA-64)的64位处理器,该处理器的市场定位是在于企业服务器高性能运算系统。该架构由惠普创始,后来则是惠普与英特尔共同开发。

  • 安腾的微架构是彻底的不同于其他英特尔处理器采用的x86(包含x86-64)架构。这个架构是建基于显性的指令并发,由编译器来决定哪些指令并发处理。这种方式允许处理器在每个周期最多可以运行6个指令。与超标量架构的不同点,安腾在并发处理中并没有复杂的线路来判断指令依赖性,所以编译器必须要在编译的时候就已经处理妥当。

9) compiler:

  • XLA : Accelerated Linear Algebra : 加速线性代数,是一种针对特定领域的线性代数编译器,能够加快 TensorFlow 模型的运行速度

    • XLA将编译任务分成两步:
      • High Level Operations(HLO) that are machine independent
      • Low Level Operations(LLO) that are machine dependent.
  • CUDA : Computer Unified Device Architecture : 统一计算架构.

    • 是NVIDIA推出的一种集成技术, 是对GPGPU (General-purpose computing on graphics processing units, 图形处理单元上的通用计算) 的正式名称.
    • 利用CUDA技术,能够将GPU中的多个内处理器串连起来,成为线程处理器去解决数据密集的计算. 而多个处理能能够交换, 同步 和共享数据.

10) CMEM: Common Moemory

11) performance per TCO(Total cost of ownership) vs Per CapEx

CapEx: Capital Expense is the price of an item .

OpEx: Operation Expense is the cost of operation. including electricity consumed and power provisioning(power distribution and cooling).

TCO(Total cost of ownership)

Standard accounting amortizes computer CapEx over 3-5 years, so for 3 years

​ **TCO = CapEx + 3 ✕ OpEx. **

Google and most companies care more about performance/TCO of production apps (perf/TCO) than raw performance or performance/CapEx (perf/CapEx) of benchmarks.

performance/mm2 can look good even if it’s bad for perf/TCO

TDP(Thermal design power)

总体来说, TCO和TDP具有正向相关性.若无法获得TCO可用TDP.

2, 总结:

如题所示,论文首先介绍了TPUv1,2,3三代产品的总体结构,并据此总结出TPU/GPU设计中的十个经验:

  • ①逻辑块增加速度快于连线和SRAM: Logic improves more quickly than wires and SRAM
    • TPUv4i has 4 MXUs per core vs 2 for TPUv3 and 1 for TPUv1/v2.
  • ②相比从头设计,最好利用已有的编译器做优化 (Leverage existing compiler optimizations )
    • TPUv4i evolved from TPUv3 instead of being a brand new ISA.
  • ③用perf/TCO 作为设计的参考指标: Design for perf/TCO instead of perf/CapEx
    • TDP is low, CMEM/HBM are fast, and the die is not big.
  • ④考虑编译器兼容性而不是二进制兼容性,更能促进训练好的DNN的快速部署 : Backwards ML compatibility enables rapid deployment of trained DNNs
    • TPUv4i supports bf16 and avoids arithmetic problems by looking like TPUv3 from the XLA compiler’s perspective.
  • ⑤气冷更适用于推理DSAs的部署: Inference DSAs need air cooling for global scale
    • Its design and 1.0 GHz clock lowers its TDP to 175W.
  • ⑥一些用于推理的应用 以及 可能存在的量化操作 需要浮点运算,所以最好支持 bf16和fp32: Some inference apps need floating point arithmetic
    • It supports bf16 and int8, so quantization is optional.
  • ⑦生产推理通常需要支持同时使用多个应用: Production inference normally needs multi-tenancy
    • TPUv4i’s HBM capacity can support multiple tenants.
  • ⑧DNN在存储和计算上的年度增长率为 ~1.5倍 : DNNs grow ~1.5x annually in memory and compute
    • To support DNN growth, TPUv4i has 4 MXUs, fast on- and off-chip memory, and ICI to link 4 adjacent TPUs.
  • ⑨DNN的进步推动 工作负载的进步 : DNN workloads evolve with DNN breakthroughs
    • Its programmability and software stack help pace DNNs.
  • ⑩ 推理的工作的服务级别的目标是 P99延时,而不是 批量尺寸: The inference SLO is P99 latency, not batch size
    • Backwards ML compatible training tailors DNNs to TPUv4i, yielding batch sizes of 8–128 that raise throughput andmeet SLOs. Applications do not restrict batch size.

进而介绍了根据这些经验产生的TPUv4i 产品,及其采用的技术,如

  • 采用编译器兼容性而不是二进制兼容性(Compiler compatibility, not binary compatibility),如XLA(Accelerated Linear Algebra)编译器
  • 增加了带有**通用内存(CMEM,common memory)**的片上SRAM存储: 扩展了的存储等级结构减少访存次数,降低能耗
  • Tensor DMA Engines 能够减轻互连延迟和线路伸缩挑战的影响, TPUV4i 采用4维张量DMA结构(4-dimensional (triple-strided) tensor DMA architecture), 和之前的TPU 芯片是编译器兼容的
    • 延迟: TPUv4i统一了跨本地(片上)、远程(片到片)和主机(主机到片和片到主机)传输的DMA体系结构,从而简化了从单个芯片到完整系统的应用程序的扩展。
  • Custom on-chip interconnect(OCI): 定制的片上互连线 : 用于连接片上的组件,可以缩放其拓扑结构,尤其对CMEM很重要, 对HBM, CMEM, VMEM之间的数据传输都有影响
    • 采用更宽的数据通路:受到NUMA存储系统 (NUMA memory system) 的启发---- 利用访问的空间局部性来最小化延迟和平分带宽 ---- TPUv4i的设计在同一芯片的各个部分间使用: 较大的高带宽存储器(HBM, CMEM, 和 VMEM) 在物理上被拆分为4组 来优化 HBM的访问.
  • Arithmetic improvements: 算法改进: **算术单元(arithmetic unit)**的改进, 为了满足后期可能存在的量化( quantization) 和 向后ML兼容(backwards ML compatibility) 需求, TPUv4i支持 bfloat16 和 fp32 , 并支持 int8 来方便 TPUv1的应用移植过来.
    • 通过MXU脉动阵列(systolic array) ,在减少面积和功耗的同时,减小延迟 ---- 对128个两输入的加法器, 用定制的 4输入浮点加法器 和 32个两输入加法器 替换,减少关键路径到原来的1/4
  • 采用 Air cooling来保证clock rate 和 TDP, 并采用**2组 ICI(chip-to-chip interconnect fabric)**快速访问一块板子上的4个芯片
  • 追踪和性能计数硬件应用(tracing and performance counter hardware features): 分析用户工作负载的系统级瓶颈(system-level bottlenecks in user workloads), 引导连续的编译器级别和应用级别的优化( compiler-level and application-level optimization)
  • 增加了CMEM : common memory
    • CMEM的主要优势是更高的内存带宽, 增加CMEM相比于 加倍HBM的带宽 更便宜,低功耗,容易.
    • used an integer linear programming solver to effectively triple memory space

最后,文章讨论了关于参数和性能评估标准等的选取问题.

上一篇:Linux nand设备驱动


下一篇:SoC(System on chip)与NoC(network-on-chip)