• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025全景工博会
工业数据中心

网格计算给我们带来的便利

  2009年04月20日  

一、开发资源利用率

网格计算的基本功能之一就是在不同的机器上运行同一个程序。如果开始运行这个程序的机器的负载达到了峰值时,这项功能就显得非常有用了,因为它可以请求在网格中的尚有空闲的机器上运行这个程序。

要完成这一操作有两个前提条件。首先,这个任务需要是能够被送到远程机器上去运行的,如果这个任务只能在你的机子上运行那就没办法了。其次,被选中的远程机器必需是符合这个任务的特殊需求的,比如特殊的软硬件,资源等。

这项功能会有很大用场。因为许多组织中潜在着大量可利用的计算资源。大多数桌面机在工作日只有少于5%的时间是忙碌的,甚至在有的组织中连服务器都经常是空闲的。网格计算为挖掘这类计算资源的潜力提供了框架。

可以挖掘利用潜力的资源远不止此。计算机中的磁盘经常会有大量的空闲空间可以利用。网格可以利用这些空间提供虚拟存储,以及提高整个系统的可靠性与性能(比如说,用提高数据冗余度的方式在网格的节点中对某些重要的或经常被用到的数据增加副本。后者考虑的是提高性能,选择的备份节点应该考虑近可能靠近经常需要这些数据的结点)。

网格中这样的功能可以更好的平衡各个资源的利用率。能够进行调节的资源也并不仅限于CPU与存储器,任何类型的资源在网格中都是可用的。

二、利用并行计算提高运算速度

能够利用CPU并行的去完成任务也是网格能吸引人的主要原因之一。并行计算现在一般都用在科学计算方面,有时一个天文现象或气象预报方面的运算的繁杂用超级计算机(并行的)也要计算好久。如果网格计术能把这种并行计算能力带入我们寻常百姓家那真是太好了,谁不希望自己的任务会完成的更快些呢。

能使用这项功能的前提首先是任务应该能够通过某种算法划分为许多子任务,这些子任务可以被运行在网格中的不同的机器上。如果这些子任务之间是独立的,那么就可以用最快的速度完成这个父任务,从而达到了所谓的最好的扩展性(scalable)。比如这个父任务被划为十个子任务被分配到十台不同的机器上去运行的话,那么在并行计算的环境下只需十分之一的时间就可完成(假设所有的机器都性能一样的话)。

要获得最好的扩展性(scalable)不是件容易的事,大多数情况下都是不可能的。首先要遇到的障碍是用来分割任务的算法。如果这个算法最多只能将一个任务划成十个子任务(假设这个任务实际上应该可以划成一百个子任务),那顶多也只能快个十倍了。其次要遇到的障碍是这些任务之间可能并不是绝对独立的。它们可能要共享一些资源,比如说都要读写同一个文件,都要用同一个打印机,那么这时就要考虑资源同步这方面的问题了。第三个障碍是这些任务之间或者任务与别的资源之间可能还需要互相通信。这时网络通信的负载,任务之间的同步(比如一个任务在进行下一步运算之前要等待另一个任务传过来的数据),与其它存储器之类的资源输入输出数据的带宽等等因素都会影响到任务执行的时间。

需要认识到的是并不是所有的程序都可以被转换成grid-enabling程序从而去并行的运行。目前还没有一件工具能够让一个不可分割的程序经过转换并行的运行在网格上。现在只有一些工具可以帮助一个有经验的程序设计者写出一个能在网格上并行的运行的程序,但是能够自动去转换的工具还刚开始研究。现在新计算密集型(computation-intensive)程序时都是为了能够并行执行而设计的。这些程序能够很容易的转换为grid-enabled。

三、利用虚拟资源在虚拟组织间进行合作

已经有些分布式技术能够做到提供一个环境让不同的机器之间能够合作,但是网格技术大大扩展了这种合作的的范围。它能够让大泛围分布的异够的系统之间进行合作,并且并不要求服务或客户端要用某一种特定的语言去编写。网格虚拟的计算系统能够提供各种不同的资源,加入网格的用户将被按照不同的策略(策略来自双方,用户自己的或是资源本身的)被动态的组织起来形成一个个虚拟组织。虚拟组织之间可以在网格中共享他们的资源。这些参与者也可以是多个不同的虚拟组织中的成员,网格的安全机制约束了他们的行为,这样才能实施资源或用户对与共享的一些要求(比如指定哪些用户不能用某项资源),规范用户的行为。

最常见的共享资源是数据资源,包括文件与数据库。为网格范围内提供数据的全局视图的网格可被称为数据网格(这个定义是一种用途的网格还是看网格的一种视角?)。数据可以被拷贝到网格中的不同结点以做为备份,或是拷贝到经常需要这些数据的结点附近以提高整个系统的性能。

除了数据共享之外,还包括对一些特殊的设备,服务,执照(比如需要一个很贵的软件运行一个任务,就可以把这个任务发送到安装了这台软件的机器上去让它运行,而不用也花钱装上软件并取得执照)等资源的共享。对这些资源的虚拟为异构的网格参与者之间提供了趋于一体化的互操作。

四、平衡资源的负载
网格将由单独的机器提供的大量的资源整合起来提供了一种单一系统视图。如果一个程序是grid-enabled,网格就可以通过任务调度来进行负载平衡。这种特性能够调节某个网格节点突如其来的负载峰值。做到这一点有两个前提是网格以及网格应用程序要有两个特性。首先这项资源的负载必需是能够被调节到网格中空闲的机器上去的;其次,如果网格中所有的资源已经没有空闲的资源了,那么低优先级的任务应该要是能够被高优先级的任务抢占执行的。
要具有这样的特性,网格中的每个资源都应该可以将它们的能力用各项参数用某种方式表式出来,参与网格的用户也需要一种机制能够表明它们在网格中的信誉,这样网格中的任务调度才能正常的实施,并且这样也能够方便对于使用资源的计费。
这种特性在完成实时任务方面也能派上大用场。比如有一个任务需要在一个特定时间之前必须完成,但是运行这项任务的机器自身已经不能按时完成了,那么我们就可以将这项任务分割(如果它能被分割的话)调度让它按时完成。如果已经没有空闲资源也可以用抢占的方式完成。
这种特性也可以减低网络通迅的负载。假设有个任务需要用到一个远方结点中存储的大量数据,那么这样远距离的传输大量的数据肯定会给网络带来沉重负担,这时如果把任务发送到靠近数据存储结点的机器上去运行,那自然可以减轻网络的通信量。

五、提高可靠性
目前系统的可靠性大都是依靠一些特殊的设备或是进行大量的备份还达到的,无疑这必然大大增加了可靠性的成本。网格技术可以在花费不多的情况下增强可靠性,顶多要付点钱给让我们使用资源的人,由于他们的资源闲着也是闲着,因此花费不可能比我们另买一个设备更多。比如上面提到的可以通过增加数据备份的方式来增加可靠性。在执行任务的时候,如果正在执行任务的某部主机出了问题(比如说突然断电),网格管理软件能够自动重新提交任务。在执行实时任务时,一个重要认务可能会被送到好几个机器上去同时执行,以免中途出现差错,它们送回的结果将会被检查一致性已排除可能的出错情况。
这样的网格系统可称为自治系统。它甚至可以在管理人员介入之前自动修复自身出现的问题,尽量不影响任务的完成。它提供了现在需要添加特殊设备才能得到的可靠性。

六、更方便管理
网格能够统一的操作异构的系统,这也给管理大范围分布的异构系统提供了方便。至少这些异构的系统之间可以进行互操作,就不需要为了增强系统性能给不同的系统购买不同的设备了。管理只需由管理员更改一下使用策略即可。而且网格系统运行时保留下的大量的日志也为管理员能更好的从全局把握系统的运行状况提供了最可靠的信息。

最新视频
75秒,致敬万可连接之路   
重磅加码具身智能!华沿机器人全新发布七轴人形手臂   
福禄克钢铁冶金行业测温解决方案专题
Creo:在更短的时间内交付更好的设计
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
普罗精工寰宇共生-普罗宇宙全球合作伙伴大会
普罗精工寰宇共生-普罗宇宙全球合作伙伴大会

在具身智能跨越商业化临界点的关键时刻,我们以“普罗精工”为核,让机器人真正胜任复杂多变的工业现场;我们以“寰宇共生”为愿

图尔克电子杂志-202604
图尔克电子杂志-202604

本期杂志将展示数字化与智能自动化解决方案不仅赋能技术,更重要的是服务于人。协助用户将复杂问题化繁为简,提高透明度与效率,

在线会议
热门标签

社区