跳转到主要内容

M.8 集群的发展(第 6 章)

本节介绍集群的发展,它是仓库级计算机(WSC)和效用计算的基础。希望深入了解的读者,可以从 Barroso 和 Hölzle[2009],以及 James Hamilton 在 http://perspectives.mvdirona.com 上发表的博客和演讲入手。

集群:WSC 的先驱

集群很可能由 20 世纪 60 年代的用户“发明”:他们或是无法将全部工作放进一台计算机,或是需要一台备用机器,以应对主机故障[Pfister,1998]。Tandem 于 1975 年推出 16 节点集群;Digital 随后在 1984 年推出 VAX 集群。最初,它们是共享 I/O 设备的独立计算机,需要分布式操作系统协调活动。很快,计算机之间加入了通信链路;其中一个目的是允许机器分布在不同地点,以在某一站点遭遇灾难时提高可用性。用户登录集群,并不知道自己实际运行在哪台机器上。到 1993 年,DEC——后来成为 HP 的一部分——已售出超过 25,000 套集群。其他早期厂商包括 Tandem,后来同样并入 HP,以及 IBM,仍然是 IBM。原文撰写时,几乎每家公司都有集群产品。多数产品主要面向可用性,性能扩展是次要收益。

集群上的科学计算后来成为大规模并行处理器(MPP)的竞争者。Beowulf 项目于 1993 年启动,目标是满足 NASA 的需求:用不到 50,000 美元,获得一台 1 GFLOPS 计算机。1994 年,用采用 80486 的现成 PC 构建的 16 节点集群达成了这一目标[Bell 和 Gray,2001]。对这种用途的重视,催生了多种软件接口,以便提交、协调和调试大型程序,或者大量独立程序。

一些研究项目努力降低集群通信延迟,同时提高带宽。低延迟研究的一项商业成果是 VI 接口标准,后来被下文提到的 InfiniBand 采用。低延迟又被证明有助于其他应用。例如,1997 年,University of California, Berkeley 的 100 台 UltraSPARC 桌面机,通过每条链路 160 MB/s 的 Myrinet 交换机连接,创下了数据库排序和破解加密消息的世界纪录:一分钟内,将原本位于磁盘上的 8.6 GB 数据排序;3.5 小时内,破解一个 40 位 DES 密钥。

这个名为 Network of Workstations 的研究项目[Anderson、Culler 和 Patterson,1995]还开发了 Inktomi 搜索引擎,并促成同名创业公司的成立。Eric Brewer 先在 Berkeley、后在公司领导 Inktomi 工作,展示了如何用商用通用硬件构建 Internet 服务的计算基础设施。Inktomi 在 PC 服务器机架内采用标准化网络,获得了更好的可扩展性。相比之下,此前领先的搜索引擎 Alta Vista 采用大型 SMP。与集群领域的高性能计算工作相比,Inktomi 更重视数量较多的低成本节点,以及清晰的编程模型。因此,NOW 项目和 Inktomi 被视为 WSC 与云计算的基础。Google 采用与 Inktomi 类似的技术,从 Inktomi 手中接过搜索引擎的领先地位,正如 Inktomi 此前超过 Alta Vista 一样[Brin 和 Page,1998]。Google 最初的创新在搜索质量,WSC 方面的创新则晚得多。此后多年来,所有 Internet 服务都依靠集群技术服务数百万客户。

效用计算:云计算的先驱

正如正文所述,效用计算最早的形式是分时系统。虽然更小、更便宜的个人计算机出现后,分时逐渐衰落,但在原文所述的过去十年间,复兴效用计算的尝试很多,只是都未获得充分成功。Sun 于 2000 年开始以每小时 1 美元出售 Sun Cloud 的使用时间;HP 于 2001 年推出 Utility Data Center;Intel 也在 21 世纪初尝试出售内部超级计算机的使用时间。这些服务虽然已经商业化,却很少有人使用。

相关的另一个领域是网格计算,它最初旨在让科学程序跨越地理分散的计算设施运行。当时,姑且不论实现的难度,就有人质疑这个目标本身是否明智。网格计算往往要求极大的系统运行极大的程序,并用多个数据中心完成任务。然而,远距离固有的长延迟,使单个应用难以在地理分散的条件下高效运行。这一最初尝试最终促成了一些数据访问约定,但网格计算界没有形成在高性能计算领域之外也有用的 API,因此云计算与网格计算共享的代码和历史都很少。

Armbrust 等人[2009]指出,Internet 服务公司一旦解决大规模运营的问题,就会发现显著的规模经济,使成本低于较小的数据中心。Amazon 意识到,如果这种成本优势成立,就应该能够通过出售这类服务盈利。2006 年,Amazon 公布 Elastic Cloud Computing(EC2),每个实例每小时收费 0.10 美元。EC2 随后的流行,使其他 Internet 公司也开始提供云计算服务,例如 Google App Engine 和 Microsoft Azure;不过,它们提供的抽象层次高于 Amazon Web Services 的 x86 虚拟机。因此,按使用量付费的计算之所以流行,并非因为有人最近才想出这一主意,而是技术与商业模式终于相互契合,使公司能够通过提供许多人愿意使用的服务来赚钱。效用计算未来会出现许多成功模式,还是会围绕单一标准趋于统一,只有时间才能回答。这一过程一定值得关注。

集装箱

2003 年秋,许多人开始考虑用集装箱容纳服务器。Internet Archive 的创始人兼负责人 Brewster Kahle 在演讲中介绍,如何把整个档案库放进一个 40 英尺集装箱。他希望复制档案并将副本分布到世界各地,确保其长期存续,避免重蹈公元前 48 年亚历山大图书馆毁于大火的覆辙。与 Kahle 合作的人根据其 2003 年 11 月的演讲撰写了白皮书,进一步说明集装箱设计的具体形态。

同一年,Google 工程师也在研究用集装箱建造数据中心,并于 2003 年 12 月就其中一些设计提交专利申请。第一个用于数据中心的集装箱于 2005 年 1 月交付,Google 于 2007 年 10 月获得专利,并在 2009 年 4 月公开披露其使用集装箱的做法。

Sun Microsystems 的 Greg Papadopolous 和 Applied Minds 的 Danny Hillis 听过 Kahle 的演讲后,设计了名为 Sun Modular Datacenter 的产品,于 2006 年 10 月首次亮相。项目代号是 Black Box,许多人后来仍沿用这一称呼。这个半长、20 英尺的集装箱可容纳 280 台服务器。该产品的发布,加上 Microsoft 宣布正在建造能够容纳 220 个 40 英尺集装箱的数据中心,促使许多其他公司推出集装箱,以及专为安装在其中而设计的服务器。

故事迎来了令人欣慰的转折:2009 年,Internet Archive 将数据迁入 Sun Modular Datacenter。原文撰写时,埃及的新亚历山大图书馆已保存了一份 Internet Archive 副本,地点就在古代图书馆遗址附近。

参考文献

  1. Anderson, T. E., D. E. Culler, and D. Patterson [1995]. “A case for NOW (networks of workstations),” IEEE Micro 15:1 (February), 54–64.

  2. Apache Software Foundation. [2011]. Apache Hadoop project, http://hadoop.apache.org.

  1. Armbrust, M., A. Fox, R. Griffith, A.D. Joseph, R. Katz, A. Konwinski, G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia [2009]. Above the Clouds: A Berkeley View of Cloud Computing, Tech. Rep. UCB/EECS-2009-28, University of California, Berkeley (http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html).

  2. Barroso, L. A. [2010]. “Warehouse scale computing [keynote address],” Proc. ACM SIG-MOD, June 8–10, 2010, Indianapolis, Ind.

  3. Barroso, L. A., and U. Hölzle [2007]. “The case for energy-proportional computing,” IEEE Computer 40:12 (December), 33–37.

  4. Barroso, L.A., and U. Hölzle [2009]. “The datacenter as a computer: An introduction to the design of warehouse-scale machines,” in M. D. Hill, ed., Synthesis Lectures on Computer Architecture, Morgan & Claypool, San Rafael, Calif.

  5. Barroso, L.A., Clidaras, J. and Hölzle, U., 2013. The datacenter as a computer: An introduction to the design of warehouse-scale machines. Synthesis lectures on computer architecture, 8(3), pp.1–154.

  6. Barroso, L.A., Marty, M., Patterson, D., and Ranganathan, P. 2017. Attack of the Killer Microseconds. Communications of the ACM, 56(2).

  7. Bell, C. G., and J. Gray [2002]. “What’s next in high performance computing,” Communications of the ACM 45:2 (February), 91–95.

  8. Brady, J.T., 1986. A theory of productivity in the creative process. IEEE Computer Graphics and Applications, 6(5), pp.25–34.

  9. Brin, S., and L. Page [1998]. “The anatomy of a large-scale hypertextual Web search engine,” Proc. 7th Int’l. World Wide Web Conf., April 14–18, 1998, Brisbane, Queensland, Australia, 107–117.

  10. Carter, J., and K. Rajamani [2010]. “Designing energy-efficient servers and data centers,” IEEE Computer 43:7 (July), 76–78.

  11. Chang, F., J. Dean, S. Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E. Gruber [2006]. “Bigtable: A distributed storage system for structured data,” in Proc. Operating Systems Design and Implementation (OSDI ’06), November 6–8, 2006, Seattle, Wash.

  12. Chang, J., J. Meza, P. Ranganathan, C. Bash, and A. Shah [2010]. “Green server design: Beyond operational energy to sustainability,” Workshop on Power Aware Computing and Systems (HotPower ’10), October 4–6, 2010, Vancouver, British Columbia.

  13. Clark, J., 2014 Five Numbers That Illustrate the Mind-Bending Size of Amazon’s Cloud, Bloomberg, https://www.bloomberg.com/news/2014-11-14/5-numbersthat-illustrate-the-mind-bending-size-of-amazon-s-cloud.html.

  14. Clidaras, J., C. Johnson, and B. Felderman [2010]. Private communication.

  15. Climate Savers Computing. [2007]. Efficiency specs, http://www.climatesaverscomputing.org/.

  16. Clos, C., 1953. A Study of Non-Blocking Switching Networks. Bell Labs Technical Journal, 32(2), pp.406-424.

  17. Dean, J. [2009]. “Designs, lessons and advice from building large distributed systems [keynote address],” Proc. 3rd ACM SIGOPS International Workshop on Large Scale Distributed Systems and Middleware, Co-located with the 22nd ACM Symposium on Operating Systems Principles (SOSP 2009), October 10–11, 2009, Big Sky, Mont.

  1. Dean, J. and Barroso, L.A., 2013. The tail at scale. Communications of the ACM, 56(2), pp.74-80.

  2. Dean, J., and S. Ghemawat [2004]. “MapReduce: Simplified data processing on large clusters.” In Proc. Operating Systems Design and Implementation (OSDI ’04), December 6–8, 2004, San Francisco, 137–150.

  3. Dean, J., and S. Ghemawat [2008]. “MapReduce: simplified data processing on large clusters,” Communications of the ACM 51:1, 107–113.

  4. DeCandia, G., D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels [2007]. “Dynamo: Amazon’s highly available key-value store,” in Proc. 21st ACM Symposium on Operating Systems Principles, October 14–17, 2007, Stevenson, Wash.

  5. Doherty, W.J. and Thadhani, A.J., 1982. The economic value of rapid response time. IBM Report.

  6. Fan, X., W. Weber, and L. A. Barroso [2007]. “Power provisioning for a warehouse-sized computer,” in Proc. 34th Annual Int’l. Symposium on Computer Architecture (ISCA), June 9–13, 2007, San Diego, Calif.

  7. A. Fikes, “Storage architecture and challenges,” in Google Faculty Summit, 2010.

  8. Ghemawat, S., H. Gobioff, and S.-T. Leung (2003). “The Google file system,” in Proc. 19th ACM Symposium on Operating Systems Principles, October 19–22, 2003, Lake George, N.Y.

  9. Greenberg, A., N. Jain, S. Kandula, C. Kim, P. Lahiri, D. Maltz, P. Patel, and S. Sengupta [2009]. “VL2: A scalable and flexible data center network,” in Proc. SIGCOMM, August 17–21, Barcelona, Spain.

  10. González, A. and Day, M. April 27, 2016, “Amazon, Microsoft invest billions as computing shifts to cloud,” The Seattle Times. http://www.seattletimes.com/business/technology/amazon-microsoft-invest-billions-as-computing-shifts-to-cloud/

  11. Hamilton, J. [2009]. “Data center networks are in my way,” Stanford Clean Slate CTO Summit, October 23, 2009, http://mvdirona.com/jrh/TalksAndPapers/JamesHamilton_CleanSlateCTO2009.pdf.

  12. Hamilton, J. [2010]. “Cloud computing economies of scale,” Proc. AWS Workshop on Genomics & Cloud Computing, June 8, 2010, Seattle, Wash. (http://mvdirona.com/jrh/TalksAndPapers/JamesHamilton_GenomicsCloud20100608.pdf).

  13. Hamilton, J., 2014. AWS Innovation at Scale, AWS Re-invent conference. https://www.youtube.com/watch?v=JIQETrFC_SQ

  14. Hamilton, J., May 2015. The Return to the Cloud, http://perspectives.mvdirona.com/2015/05/the-return-to-the-cloud//

  15. Hamilton, J., April 2017. How Many Data Centers Needed World-Wide, http://perspectives.mvdirona.com/2017/04/how-many-data-centers-needed-worldwide/

  1. Hölzle, U. [2010]. “Brawny cores still beat wimpy cores, most of the time,” IEEE Micro, July/August.

  2. Kanev, S., Darago, J.P., Hazelwood, K., Ranganathan, P., Moseley, T., Wei, G.Y. and Brooks, D., 2015, June. Profiling a warehouse-scale computer. ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

  3. Lang, W., J. M. Patel, and S. Shankar [2010]. “Wimpy node clusters: What about non-wimpy workloads?” Proc. Sixth Int’l. Workshop on Data Management on New Hardware, June 7, 2010, Indianapolis, Ind.

  4. Lim, K., P. Ranganathan, J. Chang, C. Patel, T. Mudge, and S. Reinhardt [2008]. “Understanding and designing new system architectures for emerging warehouse-computing environments,” Proc. 35th Annual Int’l. Symposium on Computer Architecture (ISCA), June 21–25, 2008, Beijing, China.

  5. Narayanan, D., E. Thereska, A. Donnelly, S. Elnikety, and A. Rowstron [2009]. “Migrating server storage to SSDs: Analysis of trade-offs,” Proc. 4th ACM European Conf. on Computer Systems, April 1–3, 2009, Nuremberg, Germany.

  6. Pfister, G. F. [1998]. In Search of Clusters, 2nd ed., Prentice Hall, Upper Saddle River, N.J.

  7. Pinheiro, E., W.-D. Weber, and L. A. Barroso [2007]. “Failure trends in a large disk drive population,” Proc. 5th USENIX Conference on File and Storage Technologies (FAST ’07), February 13–16, 2007, San Jose, Calif.

  8. Ranganathan, P., P. Leech, D. Irwin, and J. Chase [2006]. “Ensemble-level power management for dense blade servers,” Proc. 33rd Annual Int’l. Symposium on Computer Architecture (ISCA), June 17–21, 2006, Boston, Mass., 66–77.

  9. Reddi, V. J., B. C. Lee, T. Chilimbi, and K. Vaid [2010]. “Web search using mobile cores: Quantifying and mitigating the price of efficiency,” Proc. 37th Annual Int’l. Symposium on Computer Architecture (ISCA), June 19–23, 2010, Saint-Malo, France.

  10. Schroeder, B., and G. A. Gibson [2007]. “Understanding failures in petascale computers,” Journal of Physics: Conference Series 78, 188–198.

  11. Schroeder, B., E. Pinheiro, and W.-D. Weber [2009]. “DRAM errors in the wild: A large-scale field study,” Proc. Eleventh Int’l. Joint Conf. on Measurement and Modeling of Computer Systems (SIGMETRICS), June 15–19, 2009, Seattle, Wash.

  12. Schurman, E. and J. Brutlag [2009]. “The User and Business Impact of Server Delays,” Proc. Velocity: Web Performance and Operations Conf., June 22–24, 2009, San Jose, Calif.

  13. Tezzaron Semiconductor. [2004]. “Soft Errors in Electronic Memory—A White Paper, Tezzaron Semiconductor, Naperville, Ill. (http://www.tezzaron.com/about/papers/soft_errors_1_1_secure.pdf).

  14. Vahdat, A., M. Al-Fares, N. Farrington, R. N. Mysore, G. Porter, and S. Radhakrishnan [2010]. “Scale-out networking in the data center,” IEEE Micro July/ August 2010.