概念
-
高性能计算系统(HPC):强调的是原始的速度性能,通常用来衡量浮点计算能力。【速度性能】
-
高吞吐计算系统(HTC):强调的是单位时间完成的任务数,而不是单个任务能有多快完成。【单位时间 任务数】
-
Peer-to-peer P2P网络:是一种分布式应用架构,他将任务划分到多个节点上,每个节点同时充当客户端和服务器,采用的是分布式控制的自组织方式。对等ID在逻辑层形成一个结构化或非结构化的全覆盖网络【分布式 任务 多节点 自组织】
-
计算机集群 vs. 计算网格:
- 计算机集群是由一组互相连接的独立计算机组成,这些计算机作为单一的集成计算资源工作。【独立计算机】
- 计算网格提供了一种将计算机、软件和传感器等耦合在一起的基础设施,通常是跨特定的网络构建的。【基础设施】
- 两者主要区别在于:网格趋向于更加松散耦合、异构和地理上的分散。【耦合 异构 分散】
-
面向服务的体系结构:SOA(service oriented architecture)
- SOA起源于根据服务构建系统的思想。基于SOA的系统将功能分组为可在多个独立系统中使用的一套互操作服务,比如jini,corba,rest 【功能分组 多个独立系统 互操作服务】
-
普适计算 vs. 互联网计算:
- 普适计算意味着在日常物品中嵌入微处理器,令其可以无处不在地进行信息通信。
- 互联网计算能够为在互联网上不同计算设施之间分配计算任务。
-
虚拟机 vs. 虚拟基础设施:
- 虚拟机是中间件层提供的一组抽象,它输出一个与物理机相同的资源(CPU、内存、磁盘等)的假象。
- 虚拟基础设施是用于连接资源(如计算、存储和网络)和分布式应用。它是系统资源与特定应用程序的动态映射
-
公有云 vs. 私有云
- 公有云指的是服务提供商通过互联网向公众提供应用、存储等资源
- 私有云指的是使用云计算技术,并由所服务组织 管理专有网络或者数据中心。
-
RFID 射频识别技术:通过在物体上附着电子标签并与阅读器通信,利用无线电来识别和跟踪物体。可以用于物联网。
-
GPS 全球定位系统:通过与卫星的通信,为装有GPS的目标提供可靠的位置和时间信息。
-
传感器网络:由分布式自主传感器组成,这些传感器检测物理条件或者环境条件比如温度、声音、震动、压力等,并协同将数据通过网络传递到一个主要位置进行进一步的处理。
-
IoT internet of things: 物联网是一种传感器组成的无线网络,将我们日常生活中的一切事物连接起来。可以以低成本连接任何地点任何时间下的任何物体。随着IPV6协议的出现,物联网变得更加流行。
-
Cyber-physical system(CPS): 信息物理系统:将计算、通信和控制融合为物理世界和信息世界之间的智能封闭反馈系统,它探索了虚拟现实在物理世界中的应用。
-
紧凑 vs 松弛 集群:(地理位置)
- 紧凑集群中,节点被紧密地封装在一个房间中的一个或者多个机架中,并且节点没有连接到外围设备。
- 松弛集群中,它们可能位于不同的房间、建筑物甚至地理上的偏远区域,节点连接到他们通常的外围设备中。
-
集中式 vs 分散 集群:(所有者)
- 集中式集群中,所有节点都由一个中央操作员拥有、控制、管理掌控。
- 分散集群中,节点由单独的所有者。
-
同构集群 vs 异构集群:(平台)
- 同构集群意味着节点采用的是相同的平台,即相同的处理器架构和相同的操作系统。这些节点通常来自相同的供应商。
- 异构集群使用不同平台的节点。互操作性是异构集群中一个重要的问题。
-
公开集群 vs 封闭集群:(通信)
- 公开集群中,节点之间的通信路径是公开给外界的。外部的机器可以使用标准协议访问通信路径,从而访问单个节点。
- 封闭集群中,集群内的通信是与外界隔离的。
-
专用集群 vs 企业集群:
- 专用集群特点:
- 通常安装在中央电脑室旁边【紧凑集群】
- 通常使用相同类型的节点进行异构配置【同构集群】
- 有一个管理员组统一管理【集中式集群】
- 通过前端系统访问。(通信)
- 专用群集作为单个计算机安装,使用和管理
- 企业集群特点:
- 主要利用节点的空闲资源
- 每个节点通常是一个完整的SMP(对称多处理)、工作站或者PC, 并附加了所有必要的外围设备
- 节点通常是地理分布的,不一定在同一个房间,甚至不一定在同一个建筑【松弛集群】
- 节点由多个所有者单独拥有【分散集群】集群管理员只能对节点进行有限控制,因为节点的所有者可以在任何时候关闭节点。所有者本地工作要比企业工作有更高的优先级。
- 集群通常配置了异构的计算机节点。这些节点通过低成本的以太网连接。【异构集群】
- 专用集群特点:
-
五个层次的虚拟化:
【指令级:通过主机的ISA仿真给定的ISA;灵活;速度慢】
【硬件抽象级:在硬件上的虚拟化;性能、隔离性;成本高】
【操作系统级:在物理服务器和操作系统上创建隔离容器;成本低,扩展性;不灵活,隔离性差】
【库支持级:为外来程序创建执行环境;工作量低;灵活差,隔离性差】
【用户应用程序级:应用程序虚拟化为虚拟机;隔离性强;性能低,不灵活,复杂】
-
指令架构级:通过主机的ISA仿真给定的ISA,例如 在ISA仿真帮助下,MIPS二进制代码可以在基于x86的主机上运行。典型系统:bochs,crusoe,quemu,bird
- 优点:它可以在任何给定的新硬件主机上运行为各种处理器编写的大量遗留二进制代码;应用程序的灵活性高
- 缺点和限制:一个源指令可能需要数十条或数百条本机目标指令才能执行其功能,速度相对较慢。
-
硬件抽象级别:虚拟化是在硬件之上执行的,它为虚拟机生成虚拟硬件环境,并通过虚拟化对底层硬件进行管理。
典型系统:VMware, Virtual PC, Denali, Xen
- 优点: 性能更高,应用隔离性好
- 缺点和限制:执行成本非常昂贵(复杂性)
-
操作系统层:它是传统操作系统和用户之间的抽象层。这种虚拟化在单个物理服务器和操作系统实例上创建隔离的容器,以利用数据中心中的硬件和软件。
- 优势: 启动/关闭成本低,资源需求低,可扩展性强;同步虚拟机和主机状态的变化。
- 缺点和限制:操作系统级别的所有vm必须有相同类型的guest OS;应用程序灵活性和隔离性差。
-
库支持级别:它为在一个平台上运行外来程序创建执行环境,而不是创建VM来运行整个操作系统。
它是通过API调用拦截和重新映射来完成的。
典型系统:Wine, WAB, LxRun,
- 优点:它的实现工作量非常低
- 缺点和限制:应用程序的灵活性和隔离性差
-
用户应用程序级:将应用程序虚拟化为虚拟机。这一层作为操作系统之上的应用程序,导出VM的抽象,VM可以运行编写和编译到特定抽象机器定义的程序。典型系统:JVM, NET CLI, Panot
- 优点:具有最好的应用程序隔离
- 缺点和局限:性能低,应用灵活性低,实现复杂性高。
-
-
全虚拟化不需要修改客户操作系统,关键指令通过软件使用二进制翻译进行模拟。 完全虚拟化,其优点是不需要修改操作系统。 然而,这种二进制翻译方法大大降低了性能
para虚拟化需要修改客户操作系统,非虚拟化指令被直接与VMM虚拟器监视器通信的超级调用所取代。 para 准虚拟化减少了开销,但是维护准虚拟化操作系统的成本很高。
改进取决于工作量。VMware Workstation采用全虚拟化,使用二进制翻译实时自动修改x86软件以替换关键指令。Xen、Denali和VMware ESX都支持准虚拟化。
-
虚拟化数据中心
虚拟化数据中心是指使用虚拟化技术运行的数据中心。服务器、存储和网络都可以通过使用系统软件和硬件虚拟化技术进行虚拟化。
从用户的角度来看,用户不会关心用于提供服务的计算资源。用户不需要知道,也没有办法发现在处理服务请求时涉及的物理资源。
从开发人员的角度来看,应用程序开发人员并不关心一些基础设施问题,如可伸缩性、容错性,因为它们是虚拟化的。
例如Amazon Web Services (AWS),它通过使用XEN管理程序和虚拟机提供弹性云计算服务;提供块存储、增强键/块存储、从EBS到全自动自动伸缩的存储云服务;通过声明式IP级拓扑、弹性IP等方式提供网络云服务。
-
绿色信息技术
绿色IT指的是环境可持续计算IT。它的定义是研究和实践设计、制造、使用和处理计算机、服务器和相关的子系统,如监视器、打印机、存储设备、网络和通信系统,高效和有效地减少或不影响环境。
绿色科技的目标包括减少有害物料的使用,在产品使用期内最大限度地提高能源效率,以及促进报废产品和工厂废物的可回收性或生物降解性。
对关键领域的研究仍在继续,例如尽可能高效地使用计算机,为与效率相关的计算机技术设计算法和系统。
EMC公司就是一个绿色IT的例子,这些年来,该公司一直在将其物理IT基础设施发展为私有云。
对于存储的数据,他们采用了信息生命周期管理、高效节能的闪存驱动器和存档技术,这些技术减少了数据占用空间,并将数据转移到高效节能的SATA驱动器上。在分配存储容量以支持业务应用程序时,他们使用最先进的重复备份技术和精简配置技术。他们还在改进设施中的电力和冷却系统,以实现进一步的绿色计算。
-
多租户技术
多租户技术指的是软件体系结构中的一种原则,即软件的单个实例运行在一台服务器上,服务于多个租户。
l个客户端组织都使用一个定制的虚拟应用程序实例,是云计算的本质属性之一。
问答
在云计算应用中使用虚拟化资源的优点:
【资源管理:资源管理方便,软件易于维护,动态响应,资源利用率提高】
【灵活性:应用程序灵活性提高,可以作为计算密集型桌面应用程序的扩展】
【成本效益:由于资源利用率的提高,成本得到了控制,在资源不再使用的时候,可以通过释放资源降低成本】
【可靠性:故障恢复速度块,对荷载失效有很好的响应,入侵检测防御更方便】
- 资源管理
-
服务提供商享有极大简化的软件安装、维护和集中控制。
-
有效地访问和管理资源,以减少操作和系统管理成本,同时保持所需的能力。
-
使用虚拟化使单个服务器具有多个虚拟服务器的功能。
-
使用虚拟化动态响应用户的应用程序需求。
-
使用虚拟化通过支持资源池的动态共享来增加现有资源的使用。
- 应用程序的灵活性
- 亚马逊EC2是一个极端。
EC2实例看起来很像物理硬件,用户几乎可以控制从内核向上的整个软件堆栈。
这种低级别使Amazon难以提供自动可伸缩性和故障转移,因为与复制和其他状态管理问题相关的语义高度依赖于应用程序。
- 另一个极端是特定于应用领域的平台,如谷歌AppEngine。
AppEngine专门针对传统的web应用,强制应用结构在无状态计算层和有状态存储层之间清晰分离。
AppEngine拥有令人印象深刻的自动扩展和高可用性机制。
- 它可以用于交互式移动应用程序、并行批处理、商业分析,作为计算密集型桌面应用程序的扩展
- 成本效益
-
消除了云用户的预先承诺,从而允许公司开始时规模较小,只有在需求增加时才增加硬件资源。
-
能够根据需要为计算资源的短期使用支付费用(例如,按小时计算处理器和按天计算存储),并根据需要释放它们,因此,当机器和存储不再有用时,通过释放它们来奖励节约。
-
微软Azure的应用程序使用.Net库编写,并编译到公共语言运行时(Common Language Runtime),这是一个独立于语言的托管环境。
因此,Azure介于AppEngine这样的应用框架和EC2这样的硬件虚拟机之间。
- 可靠性
-
当您在单个物理服务器上运行一定数量的虚拟机时,提高其可靠性。
-
虚拟机故障恢复速度快。
-
它对载荷引起的失效有很好的响应。
-
它可以以保持可用性的方式管理补丁。
-
执行故障安全行为。
-
入侵检测和防御。
WS-*和RESTful Web服务的区别:
- 传输层:WS-* SOAP可以通过任何协议传输;RESTful 只能通过http
- 消息传递层:ws 中所有消息都是xml中的soap消息;rest消息类型不一,pdf,jpg,html,文本
- 服务和操作描述层:ws 依赖WSDL描述服务支持操作;rest仅支持四种类型操作;
- 服务发展和发现层:ws依赖于UDDI注册发现服务;Rest通过URI标识
- 服务质量:ws支持不同QoS的状态服务;rest服务无状态,不提供QoS控制;
- 服务组合:ws主要支持业务流程、工作流组合;res是复合web 2.0
在传输层,WS-* SOAP消息可以通过各种协议传输,如HTTP、SMTP、FTP等,而RESTful Web服务只能通过HTTP运行。这限制了RESTful Web服务的应用范围。
在消息传递层上,WS-* Web服务中的所有消息都被格式化为XML中的SOAP消息,而有效负载REST消息可以是各种类型的,包括HTML、纯文本、JPEG、PDF等。SOAP消息处理起来是重量级的和消耗资源的,特别是对于非文本有效负载。
在服务和操作描述层,WS-* Web服务依赖WSDL来描述服务支持的操作集,因此,可以支持许多不同类型的操作。相反,基于REST的Web服务只支持4种类型的操作:PUT、GET、POST和DELETE,而且每个REST消息都包含足够的信息来描述如何处理消息。
在服务发布和发现层,WS-* Web服务依赖于UDDI来注册和发现服务,而RESTful Web服务是通过uri标识的,可以被书签或通过超链接进行交换,而不需要UDDI这样的中心注册中心。
在服务质量方面,WS-* Web服务可以支持具有不同QoS级别的有状态服务,而RESTful Web服务是无状态的,不提供QoS控制。
在服务组合方面,WS-* Web服务主要应用于业务流程或工作流的组合,而rest式Web服务的组合一直是复合Web 2.0应用的重点,如“mashup”。
Amazon S3同时支持使用标准SOAP和RESTful Web服务进行通信,但是REST是首选的机制,这是由于在SOAP API中处理大型二进制对象的困难,特别是SOAP对要管理和处理的对象大小的限制。
为什么网格在学术应用中流行,而云计算在商业应用中占主导地位?
-
网格支持高性能计算和高吞吐量应用。学术应用程序通常需要在并行组件之间进行复杂的数据通信和同步。 它们通常使用MPI等技术实现,并利用由网格提供的高性能硬件和网络支持。
-
云计算是为按需使用和随用随付而设计的一种行业支持的商业模式。商业应用程序通常是用类似MapReduce的技术编写的,部署在商用硬件上,它们对这种网络延迟不敏感,也不依赖复杂的进程间通信,因此适合云环境。
编程环境 | 谷歌MapReduce | Apache Hadoop MapReduce | 微软Dryad |
---|---|---|---|
使用的编码语言和编程模型 | C | java | C# |
数据处理机制 | GFS(谷歌文件系统) | HDFS (Hadoop 分布式文件系统) | 共享目录和本地磁盘 |
故障处理方法 | 重新执行失败的任务,并谴责执行缓慢的任务 | 重新执行失败的任务;重复执行慢速任务 | 重新执行失败的任务;重复执行慢速任务 |
用于数据分析的高级语言 | Sawzall | Pig Latin, Hive | DryadLINQ |
操作系统和集群环境 | Linux 集群 | Linux 集群, 在EC2上的亚马逊Elastic MapReduce | Windows HPCS 集群 |
中间数据传输方法 | 通过文件传输或使用http链接 | 通过文件传输或使用http链接 | 文件、TCP管道、共享内存FIFOs |
特征 | P2P 网络 | 网格系统 | P2P 网格 |
---|---|---|---|
应用程序与节点角色 | 分布式文件共享、内容分发、节点均可作为客户端和服务器 | 分布式文件、内容分发、节点均可作为客户端和服务器 | 分布式文件共享、内容传递、游戏和娱乐应用 |
系统控制与服务模型 | 去中心化、自组织、匿名性 | Globus Toolkit, CGSP | 在P2P网格中基于策略的控制,所有服务来自客户端机器 |
系统连通性 | 临时连接和动态性 | 网格资源上具有高速链接的静态连接 | 节点上具有公共链接的动态连接 |
资源发现与作业管理 | 自治节点无需发现,没有中央作业调度器 | 自主的,每个组织可能有自己的资源管理策略,多RMS结构 | CPU清除和虚拟超级计算机 |
典型系统 | Napster, Gnutella, KaZaA, eDonkey, BitTorrent | NSF TeraGrid, UK EGGE Grid, ChinaGrid | SETI@Home, Parasic Grid, FightAIDS@Home |
1、P2P网络是由分布在互联网边缘的节点(peer)或客户端自由组成的自治和自组织系统。在P2P网络中,节点之间共享计算和数据资源,所有节点按照自愿的方式共同提供丰富的在线服务。
2、P2P网络具有下列共同的特征:
-
去中心化: 节点在功能上是对等的,不存在中央服务器。
-
自组织:意味着系统无需中央管理器来组织分散在所有节点上的计算和数据资源。
-
临时链接和动态性:节点可以随时加入或者离开,其可用性是不可预见的。这就导致覆盖网络拓扑和系统规模以较大的幅度变化。
-
容错:由于所有节点在功能上都是对等的,单个节点不会造成系统的失败,可以提高系统容错能力。
-
匿名性:节点通过迂回路径来发送和接收请求,保证了发送者的匿名性。
-
可扩展性:每个节点仅仅维护有限的系统状态和其他节点共享资源,这可以让P2P计算系统有很高的扩展性。
-
去中心化:在纯P2P计算系统中,节点在功能上是对等的,并不存在中央服务器来协调整个系统。每个节点仅有系统的部分视图来构建覆盖网络,控制其数据和资源。
-
自组织:自组织意味着系统无需中央管理器来组织分散在所有节点上的计算和数据资源。P2P计算系统中的资源是动态或波动的,即资源可以随时随意地增加和移除。
-
临时连接和动态性:节点可能随时加入或者离开,其可用性是不可预见的。这就导致覆盖网络拓扑和系统规模以较大的幅度变化。
-
匿名性:在去中心化的P2P网络中,节点通过迂回路径来发送和接收请求(即两个节点借助一些中间节点通信),这个特点保证了发送者的匿名性。匿名性也可以借助哈希运算来实现。
-
可扩展性:P2P模型消除了传统集中式客户端/服务器模型中固有的单点失效问题,每个节点仅仅维护有限的系统状态并和其他节点直接共享资源。这些特征使得P2P计算系统具有很高的可扩展性。
-
容错:在P2P网络中,所有节点在功能上是对等的,没有节点支配整个系统。因此,单个节点不会造成系统的单点失效问题,资源可以存储在多个节点来提高容错能力。
客户端/服务器体系结构和P2P体系结构的区别
- 传统C/S架构由一台服务器和与其连接的大量客户端主机组成。
- P2P架构由对等主机按照分布式的结构组成的。
- C/S架构是面向服务器的:服务器将任务划分为多个子任务,并把子任务分配给客户端。
- P2P架构相对松散没有结构,安全性可靠性较低。
传统的客户端/服务器体系结构由一台服务器和与其连接的大量客户端主机组成。
P2P计算系统并不需要一台中央服务器,而是由对等主机按照完全分布式的结构组成的。
也就是说,客户端/服务器体系结构是面向服务器的:服务器把任务分成多个子任务,并把子任务分配给客户端,客户端则独立地完成分配的子任务;或者客户端向服务器请求资源,而服务器把所请求的资源分发到客户端。
与此相反,在P2P网络中,客户端(节点)在功能上是对等的,是自治的、自组织的,它们之间直接交换资源。
与客户端/服务器系统相比,P2P系统相对松散而没有结构,安全性和可控性较低。
4、三种P2P网络模型
集中式、扁平式、基于超级节点的层次式
(a).开源与专有操作系统
私有操作系统(如Windows)由单个或极少数几个组设计,编写和分发。 为了制作一个通常独特的程序,它非常标准化。软件,外观和名称均为私有,并且销售时明确禁止以任何方式修改代码,以未经特别许可的方式复制或使用该软件,外观和名称。 主要关注点通常是从产品中赚钱。
开源操作系统(例如Linux)由各个组编写和分发,目的是更改或改进原始产品。 通常,许可证声明源代码是免费提供的,欢迎任何感兴趣的人使用它或按其认为合适的方式添加它,但要让其他人也可以更改它。
(b).物联网(IoT)与网络物理系统(CPS)
物联网是一种基于RFID,无线传感器网络和GPS技术无线连接的自配置网络。
CPS是计算过程和物理世界之间交互的结果。CPS将网络与物理对象集成在一起。
物联网和CPS之间的主要区别在于,物联网强调物理对象之间的各种网络连接,而CPS强调在物理世界中探索虚拟现实应用。
(c ) 社交网络与职业网络
社会网络(例如Facebook)是一种在线服务平台,其专注于建立和反映具有相同兴趣的人之间的社交网或社会关系。
专业网络(如LinkedIn)是一种社会网络服务,其专注于业务相关人员的关系和交互,而不是个人、非业务人员的交互。