Lecture 38: Data centers, Warehouse Scale computing
计算机时代的演进
主机时代:1950s-1960s
在1950年代到1960年代,计算机技术主要以大型主机(Mainframe)为核心。这些主机通常由IBM、UNIVAC等公司制造,售价高达数百万美元,主要服务于大型企业和政府机构。这些计算机的体积庞大,占据了整间房间,并且依赖磁带、磁盘等输入/输出设备进行数据处理。这一时期的计算机使用的是COBOL和Fortran等编程语言,操作系统支持时间共享(Timesharing OS),允许多个用户同时使用计算机资源,以提高设备利用率。
- 特点:
- 高成本:每台计算机的价格极高,只有大型企业和政府能够负担得起。
- 大型物理空间:主机需要专门的机房和冷却设备。
- 时间共享:支持多用户同时操作,提高计算效率。
- 企业和政府主导:主要用于处理企业财务数据、政府统计等复杂计算任务。
小型机时代:1970s
进入1970年代,随着集成电路技术的进步,小型计算机(Minicomputer)开始普及。这些计算机体积更小、成本更低,价格约为1万美元,适用于实验室、大学和中型企业。数字设备公司(DEC)和惠普(HP)是这一时期的主要制造商。小型计算机开始使用C语言和UNIX操作系统,提供了更高的灵活性和功能,支持科学研究、教育和工业应用。
- 特点:
- 降低成本:相较主机时代,小型机的成本显著降低,更多的组织能够负担得起。
- 多功能性:支持复杂的科研和工程计算任务。
- C语言和UNIX:C语言的灵活性和UNIX的强大功能推动了小型机的广泛应用。
- 教育和科研推动:成为大学和实验室的主要计算工具。
个人计算机时代:1980s中期 - 2000s中期
1980年代中期至2000年代中期,个人计算机(PC)迅速崛起,标志着计算技术进入大众消费市场。苹果、IBM等公司通过微处理器技术,生产出了价格相对低廉、性能逐渐增强的个人计算机。这一时期,操作系统如Windows成为主流,编程语言如Basic和Java也得到了广泛应用。个人计算机的普及改变了人们的工作和生活方式,推动了软件产业的快速发展。
- 特点:
- 大众化:个人计算机的价格降低到1000美元左右,使得普通个人用户也能购买和使用。
- 家用和办公:PC逐渐成为家庭和办公室的标配设备,广泛应用于文字处理、游戏、编程等领域。
- 操作系统和软件:Windows操作系统和应用软件的发展推动了PC的普及。
- 个人和家庭用户主导:计算机逐渐从企业扩展到家庭,成为人们日常生活的一部分。
后PC时代:2000s后期 - ?
从2000年代后期开始,计算技术进入了后PC时代。个人移动设备(PMD)如智能手机和平板电脑,以及云计算(Cloud Computing)成为计算的主要形式。苹果、三星等公司推出的移动设备,价格为500美元左右,依赖无线网络,运行着如Android和iOS等移动操作系统。与此同时,亚马逊、谷歌等公司构建了大型的仓库级计算机(Warehouse Scale Computers),这些数据中心由成千上万台服务器组成,支持全球范围内的互联网服务。
- 特点:
- 移动设备:智能手机和平板电脑的普及使得计算设备变得更加便携和普及。
- 云计算:大规模数据中心支持的云计算服务,使得用户能够通过互联网随时随地访问计算资源。
- 应用和生态系统:移动应用和服务迅速发展,形成了丰富的应用生态系统。
- 互联网服务驱动:以互联网为核心的计算模式改变了人们的生活方式和商业模式。
Warehouse Scale Computers
为什么选择现在发展云计算?
“Web太空竞赛”:建设庞大的数据中心
随着互联网用户数量的爆炸式增长,特别是在千禧年之后,互联网基础设施的扩展成为必要。大型数据中心(Data Centers)的建设由此提上日程,这些数据中心由成千上万台标准化的廉价PC组成,形成了一个庞大的计算集群,能够处理巨量的用户请求和数据需求。与此同时,基础设施软件和运营专业知识的积累,也为云计算的发展奠定了基础。
- 关键因素:
- 用户需求增长:互联网用户的增加导致对计算资源和数据存储的需求激增。
- 集群计算:通过集群技术,数据中心能够以较低的成本实现高效的计算和存储能力。
规模经济的发现:降低成本
建立大规模的数据中心不仅满足了需求增长,还带来了显著的成本优势。通过规模经济,云服务提供商能够以比建立中型数据中心(1000台服务器)低5到7倍的成本提供服务。这种成本效益使得大规模数据中心成为主流,并推动了云计算的普及。
- 优势:
- 降低运营成本:大规模运营带来的规模经济效应使得每单位计算能力的成本大幅降低。
- 提高资源利用率:集中管理和标准化硬件的使用进一步降低了维护和运营成本。
宽带互联网的普及:高效远程计算
随着宽带互联网的普及,用户可以更加高效地访问远程计算资源。高速、稳定的网络连接使得用户能够像使用本地计算机一样访问远程的数据中心和云服务,这为云计算的广泛应用提供了技术基础。
- 发展因素:
- 高速网络支持:宽带互联网为云计算提供了必要的网络基础设施,保证了计算资源的高效访问。
- 全球覆盖:宽带互联网的普及使得全球用户都能通过互联网接入云计算服务。
硬件和软件的商品化:标准化软件堆栈
随着硬件和软件的逐渐标准化,云服务提供商可以利用商品化的硬件和软件来构建和运营数据中心。这不仅降低了成本,还简化了系统的维护和升级,使得大规模部署和管理变得更加容易和高效。
- 影响:
- 标准化降低成本:通过使用商品化硬件和标准化软件,数据中心能够以更低的成本提供可靠的服务。
- 简化管理:标准化使得系统的维护、升级和扩展变得更加方便和高效。
这些因素共同推动了云计算的迅速发展,使其成为现代计算的重要组成部分。
2020年11月亚马逊AWS实例与价格
标准小型(t3.small)实例:每小时$0.021
在2020年11月,亚马逊AWS提供了多种实例类型,其中标准小型(t3.small)实例是价格最低的之一,每小时仅需0.021美元。这类实例具有较低的成本,适用于资源需求不高的应用程序。AWS提供的灵活定价和多种配置,使得云计算服务不仅吸引了大企业,还对中小企业和个人开发者具有很强的吸引力。
AWS的实例定价模式允许用户根据实际需求选择合适的计算资源,这种灵活性降低了技术创新的门槛,使得各类组织都能利用强大的计算能力进行开发和部署。对于初创公司和开发者来说,这种低成本的计算资源使他们能够以较低的投资进行试验和创新。
仓库级计算机(Warehouse Scale Computers)
大规模数据中心:10,000到100,000台服务器及其网络连接
仓库级计算机(WSC)是指规模庞大的数据中心,通常包含成千上万台服务器,并通过复杂的网络结构将这些服务器连接在一起。这种大规模的数据中心能够支持巨大的计算和存储需求,如全球范围的搜索引擎、社交网络和视频流媒体服务。
成本效益与资源管理
WSC的设计高度注重成本效益,具体体现在硬件选择、能源利用和冷却系统的设计上。通过采购大批量的标准化硬件,WSC能够显著降低硬件成本。此外,WSC在能源管理方面也非常精细,以最大限度地降低电力消耗,这是运营成本的一个重要部分。通过优化冷却系统和电源管理,WSC实现了高效的资源利用和成本控制。
高可用性:每年停机时间少于1小时
WSC的设计目标之一是实现极高的可用性,确保系统的全年无故障运行。为了达到这一目标,WSC采用了冗余设计、自动故障切换和快速恢复机制。即使出现硬件故障或其他问题,系统也能够在最短时间内恢复,保证服务的连续性。这样的设计确保了用户体验的稳定性和服务的可靠性。
专业知识的重要性
仓库级计算机的设计和管理需要计算机系统架构师具备高度专业的技术知识。Barroso和Hoelzle在2009年强调,WSC的设计挑战和复杂性与传统计算机系统同样重要。系统架构师需要掌握大量的硬件和软件技术,以优化系统的性能、可靠性和成本效益。
WSC(仓库级计算机)的设计目标
规模的独特性
WSC的规模极为庞大,这带来了独特的设计机会和挑战。与传统数据中心相比,WSC的规模效应能够带来采购和运营方面的经济优势。然而,这种规模也意味着系统设计必须考虑到大量组件的故障管理和维护,以确保整体系统的稳定性和可靠性。
充足的并行性
在WSC中,并行处理能力至关重要,尤其是在批处理应用中。这类应用通常处理大量独立的数据集,允许数据集之间并行处理。此外,WSC还利用数据级并行性,通过同时处理大量数据来提高计算效率。这种高度并行的计算模型不仅提高了系统的整体处理能力,还能够缩短大型计算任务的完成时间。
规模的机遇与挑战
WSC的规模虽然提供了成本和资源上的优势,但也带来了管理上的挑战。随着系统规模的增加,硬件故障的发生率也随之上升。因此,系统设计必须具备强大的容错能力和自动恢复机制,以应对可能的大量故障。这需要在系统架构中引入高度的冗余设计和智能化的故障管理策略。
运营成本的优化
在WSC中,设备采购成本仅占整体拥有成本的一小部分,运营成本才是长期支出的主要组成部分。因此,优化运营成本是WSC设计中的一个关键目标。通过改进能源利用效率、优化冷却系统和简化维护流程,WSC能够在保证高性能的同时,大幅降低运营成本。这种成本优化不仅提高了WSC的经济效益,还使得云服务提供商能够以更具竞争力的价格向用户提供服务。
总结来说,WSC的设计不仅强调了系统的规模效应和高效并行处理能力,还深刻考虑了故障管理、成本控制和高可用性等方面的问题。通过结合这些设计目标,WSC能够为大规模互联网服务提供稳定、高效的支持。
Google俄勒冈仓库级计算机(WSC)示例
在Google位于俄勒冈的数据中心内,这个仓库级计算机(WSC)示例展示了数据中心如何利用地理位置的优势来优化运营效率。例如,俄勒冈的自然气候条件有助于降低冷却成本,这使得数据中心能够更高效地运行。通过选择合适的地理位置,Google不仅节约了能源,还能够实现更好的环境可持续性。
容器化的仓库级计算机(WSC)
WSC内部的容器
仓库级计算机(WSC)采用容器化设计,其中服务器和相关网络设备被安装在集装箱式的容器内。这种设计方式不仅使得数据中心的部署更为灵活,还便于数据中心的扩展和维护。通过这种模块化设计,数据中心可以快速增加计算能力,或者在需要时进行维护,减少对整体运营的影响。
容器内部
每个容器内部都配备了实际的服务器和网络设备。容器化设计允许服务器在一个高度集中的环境中运行,优化了冷却和管理效率。容器内部的设计通常注重高密度部署,以便在有限的空间内容纳更多的计算资源,同时通过先进的冷却技术保证设备的稳定运行。
WSC中的设备
服务器
服务器是WSC的基本构件,每台服务器的规格通常为1U(1.75英寸高,19英寸宽,16到20英寸深)。这些服务器通常配备8核处理器、16GB DRAM内存,以及4个1TB硬盘,以应对高性能计算和大规模数据存储的需求。在数据中心内,这些服务器被紧密地安装在机架中,形成强大的计算集群。每台服务器都是数据中心计算能力的一个独立单元,同时它们又通过网络连接形成一个高度协同的计算环境。
机架
机架是WSC中的核心物理结构之一,一个7英尺高的机架可以容纳40到80个服务器,并配备1-10 Gbps的以太网局域网交换机。机架内部的设计使得大量服务器可以紧密地相互连接,形成一个高效的计算集群。局域网交换机则确保了机架内的数据流量得到有效管理,使得数据处理和传输能够在不同服务器之间高效完成。
数组(集群)
WSC中的数组或集群由16到32个服务器机架组成,形成一个更大规模的计算单元。为了支持这种规模的数据处理能力,数组配备了更强大的局域网交换机,通常这些交换机的速度是机架交换机的10倍。这种设计不仅提高了计算能力,还增强了数据传输的效率。然而,随着集群规模的增加,系统的复杂性和成本也会显著增加,需要更加精细的管理和维护。
服务器、机架、数组
这部分展示了从单个服务器到完整机架,再到大规模数组的物理层次结构。单个服务器作为基本的计算单元被安装在机架中,多个机架组成数组,这种模块化的结构设计使得WSC能够根据需求灵活扩展计算能力。这种灵活性和可扩展性使得数据中心可以在面对不断增长的计算需求时,轻松增加资源而不影响整体系统的稳定性。
Google服务器内部
Google的服务器设计注重高效性和功能性。每台服务器内部包含多个处理器、内存条和硬盘,以支持高强度的计算和数据存储需求。与传统服务器相比,Google的服务器通常采用定制设计,优化了性能和能源效率。例如,Google可能会使用专为其工作负载设计的处理器和存储设备,以最大限度地提高数据中心的运营效率并降低能源消耗。这种定制化的设计不仅提升了计算能力,还显著减少了运营成本,使Google的数据中心在全球范围内保持竞争力。
定义性能
在讨论计算机系统的性能时,通常会涉及到“X比Y快”的比较。为了直观地理解这一概念,可以将计算机系统的性能比作车辆的速度。图中以2009年的法拉利599 GTB和校车为例进行对比。法拉利能够在11.1秒内跑完四分之一英里,而校车则需要大约1分钟才能完成同样的距离。这两个例子引出了性能的两个关键指标:
-
响应时间或延迟(Response Time or Latency):这是指从任务开始到任务完成所需的时间。比如,法拉利完成四分之一英里的时间就是其响应时间。
-
吞吐量或带宽(Throughput or Bandwidth):指在给定时间内可以完成的工作总量。例如,1 小时内的乘客英里数
这两个指标是衡量系统整体性能的基础。
应对阵列中的性能
在大规模计算机集群(如数据中心)中,不同组件之间的性能差异显著。例如,访问本地服务器的DRAM的延迟仅为0.1微秒,而访问集群中其他服务器的本地磁盘的延迟则高达12,000微秒。然而,本地磁盘的带宽(200MB/s)却低于集群中其他服务器的DRAM带宽(100MB/s)。这表明在设计和优化数据中心时,需要仔细权衡延迟与带宽的关系,以实现系统的最佳性能。
PowerUsage Effectiveness (PUE)
电源使用效率(PUE)
电源使用效率(PUE)是衡量数据中心能源利用效率的关键指标。PUE的计算方式为数据中心的总电力消耗除以用于计算设备的电力消耗。PUE值越接近1,表示数据中心的能源利用效率越高,意味着更多的电力被用于实际的计算而非冷却或其他辅助系统。
应对工作负载变化
数据中心通常需要处理动态变化的工作负载。在一天的高峰期,工作负载可能会是低谷期的两倍甚至更多。这种负载波动要求数据中心具备足够的弹性,以在高峰期提供充足的计算资源。在规划资源时,必须考虑这些波动,确保即使在最繁忙的时段,系统也能正常运行并提供高质量的服务。
延迟、带宽、故障、变化工作负载对WSC软件的影响
为了确保系统的高性能,仓库级计算机(WSC)软件必须特别关注数据在集群中的合理放置。良好的数据放置策略能够显著提高系统的整体性能。此外,WSC软件还需要具备高水平的容错能力。当系统出现故障时,软件应当能够快速恢复,并继续正常运行。
此外,WSC软件必须能够适应工作负载的动态变化。这意味着,当系统负载增加时,软件应自动扩展以处理更多的请求;而当负载减少时,软件则应缩减资源使用,以节省能耗。
由于WSC涉及复杂的内存层次结构、更高的容错需求以及多变的工作负载,因此WSC软件的开发和优化比单一计算机的软件开发更具挑战性。
服务器利用率与功耗
服务器的功耗与其利用率密切相关。即使服务器处于空闲状态,它仍然会消耗其峰值功耗的大约50%;而当服务器的利用率仅为10%时,它的功耗约为峰值功耗的2/3。即使服务器的利用率达到50%,其功耗也接近90%的峰值。
在大多数WSC中,服务器的平均利用率通常在10%到50%之间。因此,实现能源的高效利用的关键在于能耗的比例性:即服务器的功耗应与其负载成比例。这意味着要设计能够随着工作负载变化而高效调整功耗的系统,以提高整体能源利用效率。
通过这些深入的分析和优化措施,可以进一步提升数据中心的性能和能源效率,确保在面对复杂的工作负载和潜在的系统故障时,仍能提供可靠且高效的服务。
电源使用效率(PUE)
在数据中心设计中,电源使用效率(Power Usage Effectiveness,PUE)是一个衡量总体能源效率的重要指标。它通过计算完成的计算工作量与所用总能源的比率来衡量数据中心的效率。具体来说,PUE的计算公式为:总建筑功耗除以IT设备功耗。理想情况下,PUE值越接近1越好,这意味着数据中心在能源利用方面更为高效。
PUE是评估数据中心能源利用率的标准,反映了在整个设施中,除了直接用于计算的能源之外,有多少能源被用于辅助功能(如冷却、照明、UPS等)。
PUE的实际情况
图表显示了2007年24个数据中心的电源使用效率(PUE)的分布情况。PUE值越接近1.0,意味着数据中心的能源利用效率越高。然而,图中数据显示,大多数数据中心的PUE值较高,平均为1.83。这意味着在这些数据中心中,大约83%的电力被消耗在非计算相关的设备上,如制冷系统和电力保护设备,而不是用于直接的计算任务。这一结果反映了当时许多数据中心在能源利用上的效率不足。
为什么PUE值较高:电力的消耗分布
为了理解为何PUE值较高,必须了解电力在数据中心中的具体消耗情况。图表列出了电力的主要消耗分布:
-
冷却系统(Chiller):占33%。用于冷却从空调中排出的热水。冷却系统是数据中心最大的能源消耗部分。
-
IT设备(Servers + Networking):占30%。包括服务器和网络设备。这是直接用于计算和数据处理的部分。
-
UPS(Uninterruptible Power Supply,不间断电源):占18%。UPS提供电力保护,防止电源中断对系统造成影响。这一部分的能耗主要用于维持系统的持续运行。
-
CRAC(Computer Room Air Conditioner,计算机房空调):占9%。用于保持房间内的恒定温度。
-
PDU(Power Distribution Unit,电力分配单元):占5%。负责将电力分配到各个设备中。
这些数据表明,冷却系统和UPS是两个主要的电力消耗大户。优化这些系统的能效是降低PUE的重要途径。
Google WSC的低PUE实践:1.24
Google通过一系列创新措施将其仓库级计算机(Warehouse Scale Computer,WSC)数据中心的PUE降至1.24,这在行业中处于领先水平。以下是Google实现低PUE的关键措施:
-
精细的空气流动管理:通过严格控制数据中心内的空气流动,避免热空气和冷空气的混合,并缩短空气在数据中心内的移动距离,Google大幅减少了用于冷却的能源消耗。
-
提高冷通道温度:Google将冷通道的温度提高到81°F(相比传统的65°F-68°F)。研究表明,在较高温度下运行服务器并不会影响设备的可靠性,这一举措减少了对机械制冷的依赖。
-
利用自然冷却:在气候适宜的地区,Google通过蒸发冷却方式处理暖空气,减少了对传统制冷系统的需求,从而进一步降低了能耗。
-
每台服务器使用12V直流UPS:Google采用了在每个服务器板上单独使用电池的策略,相比整机房级别的UPS,这种方式将能源效率从90%提升到了99%。
-
持续测量和优化PUE:Google通过持续监测、估算和公布PUE数据,不断优化其运营流程,确保数据中心保持高效的能源利用率。
这些措施使得Google的数据中心在能源效率方面达到了业界领先水平,同时也为其他企业提供了优化能源使用的典范。
2011年:谷歌的数据中心电力使用
2011年,谷歌披露其数据中心的持续电力使用足以为20万户家庭供电。这一数字突显了谷歌在提供大规模计算服务时所需的巨大能源消耗。然而,谷歌同时强调,通过优化能效和使用可再生能源,他们的电力使用实际上有助于“让地球变得更绿”。谷歌表示,每人每天使用谷歌搜索所消耗的能量相当于点亮一个60瓦的灯泡3小时。这一数据不仅说明了谷歌计算基础设施的规模,也反映出其对能源使用和环境影响的深思熟虑。
谷歌在此背景下也致力于通过技术创新和优化数据中心的设计来减少碳足迹。例如,谷歌不断改进冷却系统和电源管理,并通过提高服务器的利用率来降低整体能耗。这种持续的努力使得谷歌能够在提供卓越计算服务的同时,尽量减少对环境的影响。
2018年:谷歌的可再生能源承诺
2018年,谷歌宣布在2017年全年,他们实现了每消耗一度电力就购买同等数量的可再生能源的目标。这个里程碑使谷歌成为首家实现全球范围内能源完全“绿化”的公共云服务提供商,也是全球首家达到这一成就的大型公司。谷歌的这一举措表明,其不仅在技术领域引领潮流,还在推动全球可持续发展方面做出了表率。
这背后的努力包括在全球范围内投资和购买风能、太阳能等可再生能源。谷歌不仅确保数据中心使用的能源是绿色的,还积极推动全球电网的清洁能源比例。下方的图表展示了不同公司在美国、欧洲和墨西哥购买的可再生能源总量,谷歌遥遥领先,证明了其在这一领域的领导地位。
谷歌的承诺不仅仅是一个企业的绿色宣言,它展示了技术巨头如何利用其规模和影响力,推动全球能源转型。通过大规模采购可再生能源,谷歌不仅为自身的运营提供了绿色动力,还为可再生能源行业的发展提供了巨大的支持。
总结
并行性是计算领域的伟大思想之一
并行性贯穿于计算系统的各个层次,从指令级并行到仓库规模计算(WSC),这一概念使得计算系统能够高效处理大规模的数据和复杂任务。通过并行处理,系统能够同时执行多个操作,从而显著提高性能和效率。
并行性的应用不仅限于数据中心。在个人设备(如智能手机)到大规模的WSC环境中,并行计算的理念已经成为推动计算性能提升的核心动力。这使得现代计算设备和服务能够处理前所未有的任务量和数据规模。
后PC时代的并行处理
在后PC时代,计算已经从单一设备扩展到广泛的并行计算环境。这一转变不仅表现在个人设备的性能提升,还反映在数据中心的巨大计算能力上。智能手机等个人设备通过云计算平台实现了强大的计算功能,而这些平台则依赖于WSC的并行处理能力。
这种计算模式的演进,使得我们日常生活中依赖的许多应用程序得以顺利运行。无论是社交媒体、搜索引擎还是视频流服务,它们都依赖于后端的并行计算架构来提供实时、可靠的服务。
WSC软件必须应对多种挑战
WSC的软件设计必须具备高度的灵活性,以应对大规模系统中的各种挑战。首先,软件必须能够处理硬件故障和节点故障,这在大规模系统中是常见的。其次,面对动态的负载变化,软件需要能够自动调整资源分配,确保在高负载下依然能够提供稳定的服务。
此外,WSC软件还必须能够适应硬件性能的变化,包括延迟和带宽的差异。通过智能的数据分布和负载均衡策略,软件能够最大限度地优化性能,确保系统在各种条件下都能高效运行。
WSC硬件设计注重成本效益与能效
在构建和维护WSC时,硬件的成本效益和能效是关键考虑因素。由于WSC包含成千上万台服务器,任何单一组件的成本和能效都将对整个系统的运营产生重大影响。因此,WSC硬件设计强调使用高效的组件,同时保持成本的可控性。
这些设计策略不仅确保了WSC能够提供强大的计算能力,还使得它们在长期运营中保持较低的能源消耗和运营成本。通过这种方法,WSC能够在提供高性能计算服务的同时,实现可持续的发展。
WSC支持关键应用程序
仓库规模的计算是现代社会中许多关键应用程序和服务的基础。例如,搜索引擎、社交网络、视频共享平台等,都依赖于WSC提供的计算能力。这些系统已经成为我们日常生活中不可或缺的一部分,为全球数十亿用户提供服务。
WSC不仅支持这些高负载的应用,还通过灵活的扩展能力和高效的资源管理,确保它们能够应对未来的增长需求。通过持续的技术创新,WSC将继续在推动数字经济发展中发挥关键作用。