Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206295
  • 博文数量: 60
  • 博客积分: 2142
  • 博客等级: 大尉
  • 技术积分: 560
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-13 00:08
文章分类

全部博文(60)

文章存档

2010年(2)

2009年(7)

2008年(30)

2007年(21)

我的朋友

分类: 项目管理

2008-04-09 16:16:15

随着科学技术的发展,以及人们对新的更高目标的探索和追求,科学和生产领域对计算机的计算能力不断地提出更高的要求,和计算能力的增长相比好像总在进行着 一场永无止境的竞赛。例如,更高集成度的集成电路设计、更精致的三维动画电影是在相关领域竞争中成功的需要,而在具体的设计生产方面更高的要求是如何在缩 短产品周期,降低总体的成本。高性能的大型专用计算机产品是非常昂贵的,而由大量小型计算机组成的计算“农场”却能够大大降低投资的前提下,提供近乎无限 的计算能力扩展。采用同样的思路,我们甚至可以利用桌面工作站交互式应用的非持续性,从而使用那些工作站或PC的“剩余”计算资源。例如,工作站的平均使 用率为5%~20%。这些工作站计算资源在夜晚和周末尤其被闲置,这些资源对于那些可以用批处理方式完成而对计算资源又非常需要的应用来讲无疑是为开采的 金矿了。

我们必须采取一种办法,利用小型计算机和工作站的计算能力完成更多的生产计算任务,从而使产品的周期和产品的成本都降到最低。

Sun Grid Engine软件是用来在一个分布式环境里优化利用软硬件资源的分布式计算管理软件,它能够聚合在一个专用的计算机“农场”中,或是一些大型的网络服务 器,甚至于在那些桌面工作站上的所有可用的计算能力,把这些聚合起来的计算能力能够达到以往只有超级计算机系统才能够提供的性能,能够满足那些对计算资源 非常敏感的高性能计算、技术计算等领域的应用和算法程序,并且能够给这些使用者程序一个单一的访问点。通过分配负载给任何可用的系统计算资源的方法,可以 完成更多的工作,使计算机系统、软件license达到最大的利用率,从而保证了我们在IT产品上的投资具有更大的回报率。

Sun Grid Engine软件是分布式计算管理软件Gridware家族的一部分。另外还在Sun Grid Engine软件基础的提供了一个增强工具“Global Resources Director(GRD)”,它进一步提供了增强的调度程序和策略管理等组件。SUN公司在2000年7月从Gridware公司收购了这两个产品。

计算农场特点——
一个计算机“农场”是一个计算环境,它由任意数量的计算资源——工作站、服务器和存储阵列组成,并把他们通过网络连接在一起,同时使用特定的管理软件管理,从而构成的可以面向所有用户的一个单一计算整体。
一 个计算机“农场”可以有由很多不同种类的计算机组成,但是单靠硬件是不能够确定是否有足够的计算资源可用的,尽管常常这些单独的硬件本身并没有满负荷运 行。因此我们就需要管理软件——例如Sun Grid Engine软件提供了一个对于这些剩余计算资源的管理,更重要的是它提供给所有用户一个单独的访问点。
很多工程师都有这样的经验:他们常常需要 在公司内部的网络上去寻找一个满足相应的软硬件环境要求、可用的、高性能的、可靠运行的系统来支持他们的本来在自己PC上需要很长时间才完成的计算工作。 这个过程是完全手动的、需要花费工程师的大量时间,工程师们所需要的是更快的看到结果,以了解刚完成的芯片设计是否存在问题,或是软件尽快编译完成以便进 行测试。工程师们不希望花费大量的时间在寻找最好的计算资源上去,他们不希望从一台单独的系统到另一台单独的系统之间进行耗时的寻找,最佳的方式是他们只 需面对一个单一的访问点——Sun Grid Engine软件,剩下的在分布的工作站或服务器系统上寻找可用的资源并监督工作的完成就全部交给它来执行。就像任何有一个英明统帅的的军队可以发挥强大 的战斗力一样,有了Sun Grid Engine软件,分布在网络上的计算机就构成了一台逻辑上的大规模、高性能的计算机了。

Sun Grid Engine软件结构和特点——
负 载管理的概念已经存在了很多年了,尤其是在那些大型计算机时代,字符终端用户向大型计算机提交计算任务,大型机的操作系统将这些任务放在计算批处理队列当 中,等待合适的资源或排出相应的优先等级为相应的工作进行服务。由于计算机的昂贵和计算能力的有限,必须对负载和计算机进行详尽的资源管理,才能够满足为 相应的用户提供其所需的服务水准的要求。
随后的负载管理概念,有了较大的改变,尤其是在分布式计算和网络的出现。但是其最基本的机制仍然是“批处 理队列”,在一个分布式集群中,如果某项工作所需的资源目前不可用,那么这项工作将被派到一个队列当中,等待分布式管理软件对其进行调度。分布式管理软件 监控着集群中的计算机,看它们的资源是否能够满足队列中某项工作的执行,这使得所有的计算机系统都不会发生超载或闲置的现象,起到了负载平衡的功能。
Sun Grid Engine软件提供了下述分布式环境负载管理的基本特性:
·批处理队列
·负载平衡
·无需重新连接应用程序
·具备在节点间的失败切换能力,无单点失效
·工作记账统计
·计算任务的容错——未正常完成的任务可自动在其它主机上运行
·挂起/重新开始功能
·任务状态显示
·主机状态显示
·任务编排能力

Sun Grid Engine软件使用多个Daemons运行在集群中的多台计算机上,它们分别用来运行批处理任务、报告任务状态、报告全面的机器负载等等。
Sun Grid Engine 软件Daemon Daemon 功能 运行计算机
Execd 监视和报告某主机上的负载 全部
Execd 监视过程信息 全部
Execd 运行批处理任务 全部
Commd 在各组件之间通信 全部
Schedd 确定批处理任务工作表 主控主机
Qmaster 分配和控制批处理工作 主控主机
Daemons 运行时作为一个系统进程,因此不需要修改原来操作系统的内核。在Sun Grid Engine软件管理之下的主机被称作“主机”,在该软件中,由分为几种主机:Master(主控),execution(运行),submit(提交) 和administration(管理)主机。

Master Host
它是一台单独的计算机,具备以下功能:
·主控功能:服务级能力——分配任务,收集计算机负载报告,回答用户的请求以及接收和控制批处理任务。
·工作表功能:运行级能力——持续分析未觉任务和可用资源,任务布置和掌握错误条件。
主控功能和工作表功能是必须具备的单确实两类完全不同的功能,主控功能产生中断驱动,工作表拨能应用决策算法。Schedd damon完成工作表功能,Qmaster daemon掌握主控功能。

划分两个功能在不同的进程有以下优点:
每个单独的进程可以被优化
·提供更快速的响应
·快速的工作分配
·更好的伸缩性
另 外,在集群中其它的主机可以被设置成为“shadow master”计算机,它可以监控在Master Host上的主控功能是否已经停止,如果是,“shadow master”计算机可以接管主控功能。以此消除了Master Host的单点失效,使整个集群具备容错功能。

Execution Host
运行主机指那些符合条件运行的计算 机,运行主机运行Commd和Execd Daemons。Execd监控在在运行主机上的负载情况,这些负载信息包括CPU负载,交换区,和内存信息。此外,任何可以被测量的负载可以被加入到负 载信息的收集机制当中。因此,某些特殊的负载信息,如某种特定的软件License、网络带宽,或本地磁盘空间等等都可以被加上。这些资源能被Sun Grid Engine软件的用户请求。
Execution Host同时也可被配置为submit Host。

Submit Host

那 些可以提交工作任务的主机被称为submit Host。在submit Host上面没有相应的Sun Grid Engine软件Daemons运行。对于一个submit Host唯一的要求是它必须被加入到符合条件的提交主机列表中,这中设计主要是用来起到限制访问Sun Grid Engine软件功能。

Administration Host
这 台主机主要起到特殊的管理功能,例如,改变队列参数,增加新的集群内部节点或增加或改变用户,这些工作必须有管理员在管理主机上完成。同submit Host一样,Administration Host上面也没有相应的Sun Grid Engine软件Daemons运行。对于一个submit Host唯一的要求是它必须被加入到符合条件的提交主机列表中。这样,可以增加Sun Grid Engine软件的安全性,例如我们可以将管理主机放在一个仅管理员可控制的安全的房间。

用户接口和支持平台
Sun Grid Engine软件作为一个负载均衡的批处理系统,专门为用户设计了一个批处理的shell软件,Qtcsh,这允许远程用户的以shell的交互应用方式 透明的使用批处理系统。通过使用Qtcsh,对资源敏感的应用将会被自动送到适合的运行主机上而不需要用户的干预。

目前Sun Grid Engine软件可用于SUN Solaris2.6,7,8(32位和64位操作系统或linux操作系统环境。
阅读(1293) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~