1.1Scalable Computing over the Internet
1.分布式系统模型和可用技术( Distributed System Models andEnabling Technologies)
这一章节主要呈现在过去的三十年中发生的革命性的技术变化,是由可变的的工作负载和大数据集的应用所驱动的,涵盖的领域包括并行,分布式,云计算。我们的研究包括并行计算机下的高性能和高吞吐量的计算系统,如计算机集群,面向服务的架构,网格计算,对等网络,Internet clouds和物联网。这些系统通过它们的硬件架构,操作系统平台,处理算法,通信协议,和支持的服务模型所区分。我们同样介绍一些分布式系统中其他的非常必要的问题,如高伸缩性,高性能,可用性,安全性和能量效率。
1.1 基于互联网的可伸缩计算(Scalable Computing over the Internet)
在过去的六十年中,计算机技术已经经历了一系列的平台和环境的变化。这一节中将说明在机器架构,操作系统平台,网络连通性,和应用负载所发生的革命性变化。代替了过去的集中式计算机,利用基于网络的并行和分布式计算系统去解决大规模的复杂问题。因此,分布式计算是数据密集型的和网络中心化的。这节将说明实现了并行计算和分布式计算的现代计算机系统。这些大规模的互联网应用已经极大的增强了我们的生活质量和今天的社会的信息服务质量。
1.1.1互联网计算的时代(The Age of Internet Computing)
每天数以亿计的人使用互联网。结果就是,超级计算机站点和大的数据中心必须为大量的互联网用户同时提供高性能的计算机服务。如此高的要求,HPC(high-performance computing)应用的Linpack 已经不再是测试系统性能的最佳标准。代替的计算云的出现需要构建在并行和分布式计算技术的HTC(high-throughput computing)系统。我们必须要升级数据中心,使用更快的服务器,存储系统和高带宽的网络。对于新技术出现目的就是提升基于网络的计算和web服务。
1.1.1.1 平台的革命(The platform Evolution)
计算机技术已经经历了五代的发展,每一代大约持续10到20年的时间。相继的两代之间有大约10年的重叠。例如,从1950到1970年代,少量的大型机包括IBM360和CDC6400,被建造出来用于满足大型商业和政府组织的需求。从1960到1980年代,低成本的小型电脑如DECPDP11 和VAX 系列成在小型商业和学校校园之间流行起来。从1970都1990年代,我们看到用VLSI微处理器制造的个人电脑大范围使用。从1980年代到2000年代,大量的手提电脑和大众设备出现了有线和无线应用。自从1990年代后,集群,网格和互联网云中,应用HPC和HTC系统的数量开始激增。
这些系统被同时部署到消费者和高端大规模计算和信息服务中。总体的计算趋势是将会利用互联网促使分享web资源和大规模数据的变化。图1.1用图表阐明了HPC和HTC系统的革命。在HPC端,超级计算机(大量并行处理器或MPPs)因共享计算资源需求而逐渐被协作计算机集群所取代。集群通常是同构计算节点的集合,这些节点在物理上互相紧密连接在一起的。我们将在第2章和第7章讨论集群,MPPs和网格系统的更多详情。在HTC端,P2P(peer-to-peer)网路由分布式文件共享和内容传送应用形成。一个P2P系统建立在许多客户端机器之上(在第五章讨论更多此概念)。peer机器全球自然分布。P2P,云计算和web服务平台更专注于HTC应用而不非HPC应用。集群和P2P技术导致了计算网格和数据网格的发展。
1.1.1.2 高性能计算(High-Performace Computing)
许多年来,HPC系统强调最初的加速性能。HPC系统的速度不断增加,从1990年代的十亿次浮点运算/秒(Gflops)到现在2010年代的Pflops。这一发展主要是科学,工程和制造通讯的需求所驱动。例如,世界Top 500的最强力计算机系统是浮点速度线性测试结果。然而,超级计算机的用户数量少于所有用户数量的10%。今天,大部分计算机用户正使用桌面计算机或大服务器,当他们互联网查询或市场驱动计算任务时。
1.1.1.3高吞吐计算(High-Throughput Computing)
面向市场的高端计算系统的发展正经历一个战略上的转变,从HPC范式到HTC范式。HTC范式更关注高流量计算。高流量计算的主要应用是面向互联网的查询服务,数以万计或更多的用户同时访问的时候。因此性能目标也转为测量高的吞吐量或者单位时间完成的任务数量。HTC技术不仅需要提高批处理速度,同时处理在大量数据和企业计算中心时,成本为难题,耗能保持,安全性,可靠性的问题。这本书将专注于HPC和HTC系统去满足所有计算机用户的需求。
1.1.1.4 三种新的计算范式(Three New Computing Paradigms)
如图1.1所释,SOA使用之后,Web2.0服务成为可能。虚拟化技术的提高,使看到互联网计算作为一种新的计算范式成为可能。RFID( radio-frequency identification)的成熟,GPS(Global Positioning System)和高级技术已经触发了物联网(IoT,Internet of Things)的发展。这些新的模式仅仅在此简短的介绍一下。我们将会在第五章详细研究SOA详情;第三章虚拟化;4,6,9章云计算;物联网和CPS(信息物理融合系统,cyber-physical systems)在第九章。
当1969年互联网出现时,UCLA(加州大学落砂机分校)的Leonard Klienrock 就宣称:“此时计算机网络仍然处于婴儿阶段,但是高速成长会使之变的复杂,我们可能将会看到计算机公共设施的传播,就像当前的电信和电话基础设施一样,通过跨国家地为个人家庭和公司提供服务”。许多人从此之后从新定义了"computer"这个词。1984年,Sun 微系统公司的John Gage 提出口号“网络就是计算机”。在2008年,加州大学伯克利分校的David Patterson 说,“数据中心就是计算机”。这有些戏剧性的不同,开发一种软件以服务的方式为数以万计的用户使用和运行在他们电脑中的分布式的软件之间。最近,Rajkumar Buyya of Melbourne 大学,简单总结“云就是计算机”。
这本书覆盖集群,MPPs,P2p网络,网格,云,webservices,社会网络和物联网。事实上,集群,网格,P2P系统和云之间的不同在将来可能变得模糊。
[注]CPS定义:
CPS是连接计算机虚拟世界与物理现实世界的系统。---We refer to systems that bridge the cyber-world of computing and communications with the physical world ascyber-physical systems.
CPS是把计算与物理世界整合到一起,并通过多种形式能与人类进行交互的新一代系统---The term cyber-physical systems (CPS) refers to a new generation of systems with integrated computational and physical capabilities that can interact with humans through many new modalities.
.并行计算(Parallel computing)
在并行计算中,所有的处理器或者是紧耦合的用集中式的共享内存的方式或者是松耦合的用分布式内存的方式。一些作者引用这些规程称作并行处理(parallel processing)。内部处理器之间的通信通过共享内存或者消息传递来实现。一个计算机系统具有并行计算的能力通常被称为并行计算机( parallel computer)。运行在并行计算机上的程序叫并行程序。编写并行程序的过程称为并行编程(parallel programming)。
.分布式计算:(Distributed computing)
分布式计算是计算机科学和工程中研究分布式系统的一个领域。一个分布式系统包含许多个独立的计算机(autonomous computers),每台有自己私有的存储,并通过计算机网络来进行通信。分布式系统内的信息互换是通过消息(message passing)传递来实现的。一个运行在分布式系统中的计算机程序被称为分布式程序(distributed program)。编写分布式程序的过程被认为是分布式编程(distributed programming)。
.云计算(Cloud computing)
一个因特网的资源云可以是集中式的或是分布式的计算机系统。云提供并行的或是分布式的计算或二者兼而有之。云可以用物理资源或者是基于大数据中心的虚拟化资源来构建,而数据中心也可以是集中式的或分布式的。一些作者认为云计算是效用计算(utility computing)或者是服务计算(service computing)的一种表现形式。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
