计算机体系结构-量化研究方法(第六版)-汉化
  • 关于翻译
  • 前言
    • 我们为什么写这本书
    • 当前版本
    • 选材与组织
    • 内容概述
    • 阅读导览
    • 章节结构
    • 案例研究与习题
    • 补充材料
    • 帮助改进这本书
    • 结语
  • 第一章 量化设计和分析的基础知识
    • 摘要
    • 1.1 介绍
    • 1.2 计算机的类别
      • 物联网/嵌入式计算机
      • 个人移动终端
      • 桌面计算机
      • 服务器
      • 集群/数据仓库规模的计算机
      • 并行性和并行架构的类别
    • 1.3 计算机体系结构的定义
      • 指令集架构:计算机体系结构的“狭隘”观点
      • 名副其实的计算机体系结构:设计组织(Organization)和硬件以满足设计指标和功能需求
    • 1.4 技术趋势
      • 性能趋势:带宽的提升大于延迟
      • 晶体管性能和导线的扩大
    • 1.5 集成电路中功率和能耗的发展趋势
      • 电源和能耗,一个系统的视角
      • 微处理器内的能耗和功率
      • 由于能耗的限制,计算机架构的转变
    • 1.6 成本的发展趋势
      • 时间、数量和商品化的影响
      • 集成电路的成本
      • 成本与价格
      • 制造成本与运营成本
    • 1.7 可靠性
    • 1.8 评测、报告和总结性能
      • 基准评测
        • 桌面应用基准
        • 服务器应用基准
      • 报告性能结果
      • 总结性能结果
    • 1.9 计算机量化设计原则
      • 利用并行化的优势
      • 局部性原理
      • 关注常见情况
      • 阿姆达尔定律
      • 处理器性能方程
    • 1.10 把它们放在一起:性能、价格和功耗
    • 1.11 谬误和陷阱
    • 1.12 结论
    • 1.13 历史观点和引用
    • 案例研究和习题
  • 第二章 内存层次结构设计
  • 第三章 指令级并行及其应用
  • 第四章 矢量、SIMD和GPU架构中的数据级并行性
  • 第五章 线程级并行
  • 第六章 大规模数据中心级计算机的并行性:请求级并行(RLP)和数据级并行
  • 第七章 领域特定架构(DSA)
  • 附录A-指令集设计原则
  • 附录B-内存层次结构的回顾
    • 摘要
    • B.1 介绍
      • 缓存性能回顾
      • 四个内存层次的问题
      • 一个例子:Opteron的数据缓存
  • 附录C-流水线:初级和中级概念
  • 附录D-存储系统
  • 附录E-嵌入式系统
  • 附录F-多机互联
  • 附录G-深入向量处理器
  • 附录H-VLIW和EPIC的硬件和软件
  • 附录I-大规模多处理器和科学计算的应用
  • 附录J-计算机算数(Arithmetic)相关
  • 附录K-指令集架构的回顾
  • 附录L-地址翻译(Address Translation)的高级概念
  • 附录M-历史观点和参考文献
Powered by GitBook
On this page
  1. 第一章 量化设计和分析的基础知识

1.10 把它们放在一起:性能、价格和功耗

Previous处理器性能方程Next1.11 谬误和陷阱

Last updated 2 years ago

在每一章结尾处的 "把它放在一起 "部分,我们提供了使用该章原则的真实例子。在本节中,我们使用SPECpower基准测试来衡量小型服务器的功耗-性能对比。

图1.20显示了我们评估的三种多处理器服务器及其价格。为了保持价格比较的公平性,都是戴尔PowerEdge服务器。第一个是PowerEdge R710,它基于Intel Xeon ×85670微处理器,时钟频率为2.93GHz。与第-章中的英特尔Core i7-6700 不同,它有20个核和40MB的L3缓存,Xeon ×85670有22个内核和55MB的L3缓存,尽管核本身是相同的。对于服务器,我们选择了一个双插槽系统--所以总共有44个核心--有128GB的ECC保护的2400MHz DDR4 DRAM。下一台服务器是PowerEdge C630,具有相同的处理器、插座数量和DRAM。主要的区别是采用了更小的机架式封装:730的 "2U "高(3.5英寸),而630的 "1U"(1.75英寸)。第三台服务器是一个由16台PowerEdge 630组成的集群,用一个1Gbit/s以太网交换机连接在一起。所有服务器都运行Oracle Java HotSpot 1.7版Java虚拟机(JVM)和微软Windows Server 2012 R2 Datacenter 6.3版操作系统。

请注意,由于只需要跑基准测试(见第1.11节),这些是不太常见的服务器配置。图1.20中的系统相对于计算量来说内存很少,只有一个很小的120GB固态硬盘。如果你不需要增加相应的内存和存储空间,那么增加CPU核的成本是很低的。

SPECpower不是运行SPEC CPU的静态链接C程序,而是使用一个用Java编写的更现代的软件栈。它以SPECjbb为基础,代表商业应用的服务器端,性能以每秒的交易数来衡量,称为ssj_ops,代表服务器端每秒的Java操作。它不仅测验了服务器的处理器,就像SPEC CPU一样,还测验了缓存、内存系统,甚至是多处理器的互连系统。此外,它还也测验了JVM,包括JIT运行时编译器和垃圾收集器,以及底层操作系统的部分。

如图1.20的最后两行所示,性能上的赢家是16台R630的集群,这并不令人惊讶,因为它是最昂贵的。价格-性能的赢家是PowerEdge R630,但它勉强击败了集群,价格是213比211 ssj-ops每美元。令人惊讶的是,16个节点的集群尽管是单节点的16倍大,但其价格-性能比却在1%以内。

虽然大多数基准(和大多数计算机架构设计者)只关心系统在峰值负载下的性能,但计算机很少在峰值负载下运行。事实上,第6章中的图6.2显示了谷歌公司6个月来对数万台服务器的利用率进行测量的结果,只有不到1%的服务器在平均利用率为100%的情况下运行。大多数服务器的平均利用率在10%到50%之间。因此,SPECpower基准捕捉到了目标工作负载从10%的峰值一直到0%的功率变化,这被称为主动闲置。

图1.21描绘了每瓦特的ssj_ops(SSJ操作/秒)以及目标负载从100%到0%变化时的平均功率。英特尔R730总是有最低的功率,而单节点R630在每个目标工作负载水平上都有最好的每瓦特ssj_ops。由于瓦特=焦耳/秒,这个指标与每焦耳的SSJ操作成正比:​

SPECpower使用一个单一的值,用于比较系统的功率性能比:

三台服务器的总体ssj_ops/watt为:R730为10,802,R630为11,157,16台R630组成的集群为10,062。因此,单节点的R630具有最佳的功率性能比。除以服务器的价格,ssj_ops/watt/$1,000,R730为879,R630为899,16个节点的R630集群为789(每个节点)。因此,在增加功率后,单节点的R630在性能/价格方面仍然排在第一位,但现在单节点的R730的效率明显高于16节点的集群。

2
5
图1.20 评测的的三台戴尔PowerEdge服务器及其截至2016年7月的价格。我们通过减去第二个处理器的成本来计算处理器的成本。同样地,我们通过查看额外内存的成本来计算内存的整体成本。因此,服务器的基本成本是通过去除默认处理器和内存的估计成本来调整的。第5章描述了这些多插槽系统是如何连接在一起的,第6章描述了集群是如何连接在一起的。
图1.21 图1.20中三台服务器的功率性能。 Ssj_ops/watt值在左轴上,与之相关的是三列,瓦特在右轴上,与之相关的是三条线。横轴显示的是目标工作负载,因为它从100%到Active Idle变化。单个节点R630在每个工作负载水平上都有最好的ssj_ops/watt,但是R730在每个水平上消耗的功率最低。