-
2004-03-03
网格计算模式探讨-分布式计算(分层计算)
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://shensr.blogbus.com/logs/107694.html
分布式计算(分层计算)
说到分布式超级计算,大家马上就会想到庞大的超级计算机,现有的分布式超级计算应用也大都是基于超级计算机而设计的。我们这里介绍的分布式计算模式,其初衷是利用现有PC机来达到超级计算的能力(虽然该模式也能应用于超级计算机)。为了强调不依赖于超级计算机,我们在名称上没有使用"超级"二字;同时为了与普通商业应用中的分布式计算区分开,我们临时称之为分层计算(Hierarchy Computing)。
1.1. 分层计算技术架构
分层计算主要包含以下几个元素和概念:
- 宿主机,拥有一个以上客户机,并负责将计算代码和分解后的计算任务分发到客户机。
- 客户机,接收宿主机下发的计算代码和计算任务,并在完成计算后将结果返回宿主机。其职责便是处理任务,因此我们也可以称之为计算节点。每一客户机也可以作为宿主机而拥有自己的客户机,从而无限地扩展下去。另一方面每台宿主机本身也可以作为客户机以处理计算任务。
- 容器,分层计算的中间件,负责宿主机与客户机的通信,以及通过调用计算代码的接口进行计算任务的分解、执行、计算结果的合并。同时还负责计算代码的安全、认证、生命周期等其它管理,是整个分层计算的核心。
- 计算代码,用于执行计算任务的代码,通常计算代码应该包含分解计算任务以及合并计算结果的逻辑。
- 计算任务,通常应该具有可分解性、可参数化等特点(当然某些情况下,所有的客户机的计算任务完全相同;如DoS攻击)。
1.2. 层次计算
宿主机分割计算任务,交由客户机计算,等待客户机返回计算结果后合并成自己这一层的完整结果的过程,我们称之为完成了一个层次计算。具体而言,一个层次计算的过程以及这一过程中宿主机和客户机的协作关系如下:
1. 宿主机根据其客户机的情况(例如计算能力强的客户机应该分配更多的任务)对自己的计算任务进行分割。
2. 宿主机将代码和计算任务分发给客户机。
3. 客户机根据从宿主机获得的代码执行计算任务。
4. 客户机完成计算任务后将结果返回给宿主机。
5. 宿主机汇总所有客户机的计算结果后,汇总成该层次计算的完整结果。
其中步骤2、3是一个异步处理过程,这中间宿主机和客户机之间不需要保持连接。
1.3. 容器
容器是分层计算的核心,宿主机与客户机之间的数据传递、计算代码的管理、客户机的监控和管理等等完全由容器负责;而计算任务的分解、执行以及计算结果的合并等等也都需要由容器来发起。
容器各用例的说明如下:
1. 将计算代码和计算任务从宿主机分发到客户机,以及将客户机的计算结果返回到宿主机。
2. 运行计算代码分解计算任务、处理相应的计算任务、合并计算结果以及获取任务执行进度的量化指标(如果计算代码支持的话)。
3. 对于宿主机,还需要负责对客户机进行监控和管理,提供一定的容错性支持。在一定条件下(如客户机超时未返回计算结果或有其它客户机处于空闲时)对任务进行重新派发。记录客户机的计算能力,用于下次任务分配(例如计算能力强的客户机应该分配更多的任务)。
4. 负责代码的安全、认证、生命周期等等其它管理。
在具体实施中,如果我们定义出一套开放的容器功能说明(这包括容器最低职责要求,宿主机与客户机之间通信的协议,以及容器与计算代码之间的交互协议等等),那么我们甚至可以实现不同厂家的容器协同工作。1.4. 计算代码、计算任务和计算结果
容器传递计算代码时,采用一定的数据结构(毫无疑问,我们将使用XML来承载)来描述计算代码及其针对的操作系统平台。这样,我们的分层计算架构原则上便支持异构系统。
计算任务通常与特定的计算代码相关,因此计算代码需负责计算任务的分割、执行以及计算结果的合并,而容器则负责调用相应的接口方法。
如果计算代码实现了对于其计算任务的量化指标,我们甚至可以1.5. 应用场景
分层计算模式最适合的应用应该具有这样的特点:1)计算量巨大;2)计算任务可分解;3)计算结果可合并;4)计算代码的尺寸适中 。
此外,应用分层计算模式我们可以轻松实现高效的搜索引擎:使用多台机器,每台机器负责一定网段(具体负责某网段的机器可能像Google一样采用了缓存技术),当主机(宿主机)接收到用户的搜索请求后,主机将请求分发给各子网的机器(客户机)。子网机完成搜索任务后将结果返回给主机,主机再合并成一份完整的搜索结果提供给用户。
最后值得一提的是,分层计算模式同样可能被应用于黑客攻击,如DoS攻击、密码攻击等等。历史上的今天:
网格计算模式探讨 - 协同工作 2004-03-03网格计算模式探讨 - 网格应用程序(客户机方式) 2004-03-03网格计算模式探讨 - 网格应用程序(宿主机方式) 2004-03-03随机文章:
网格计算模式探讨.pdf 2004-03-04网格计算模式探讨 - 网格应用程序(客户机方式) 2004-03-03网格计算模式探讨 - 网格应用程序(宿主机方式) 2004-03-03发表在其他网站的文章 2004-02-16网格计算模式探讨 - 协同工作 2004-03-03
收藏到:Del.icio.us







