快速业务通道

构建自己的基于Java的超级计算机 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
udoRemThr 实例获得部分结果。将各部分结果组合起来即可得到最终结果,如清单2 所示。

清单2. 工作中的JobDispatcher

//此类可以命名为您选择的任何名称 //这里选用JobDispatcher只是为了方便 public class JobDispatcher {   public static void main(String args[])  {   double fin = 10000000; //代表 10^9   double finByTen = fin/10; //代表 10^8   long nlStartTime = System.currentTimeMillis();   //范围从1到3*10^8   Sqrt sqrt1 = new Sqrt(1,finByTen*3);   //范围从((3*10^8)+1)到10^9   Sqrt sqrt2 = new Sqrt((finByTen*3)+1,fin);   //以下创建 PseudoRemThr类的两个实例。 //此构造函数的参数如下所示。 //第一个参数:代表子任务的某个类的实例   //第二个参数:执行这一子任务的远程主机   //第三个参数:PseudoRemThr 实例的描述性名称。   PseudoRemThr psr1 = new   PseudoRemThr(sqrt1,"//192.168.1.1:3333/","Win98");   PseudoRemThr psr2 = new   PseudoRemThr(sqrt2,"//192.168.1.2:3333/","Win2K");   psr1.waitForResult(); //等待执行结束//获取每个线程的结果   Double res1 = (Double)psr1.getResult();   Double res2 = (Double)psr2.getResult();   double finalRes = res1.doubleValue() + res2.doubleValue();   long nlEndTime = System.currentTimeMillis();   System.out.println("Total time taken: " + (nlEndTime-nlStartTime));   System.out.println("Sum: " + finalRes);  } }

构建自己的基于Java的超级计算机(3)

时间:2010-05-21

性能评价

此计算的总执行时间在120,000 毫秒到 128,000 毫秒之间。如果在不分解任务的情况下在本地运行同样的任务,执行时间将在183,241到237,641 毫秒之间。

最初,主任务包括计算从1到10^7的所有整数的平方根之和。为测试性能,我将计算范围扩大到 10^8,最终扩大到 10^9。

随着任务量的增加,远程并行执行和本地执行所需时间的差别也越来越明显。这就是说,当执行大型任务时,远程并行执行消耗的时间较少。远程并行执行并不适合小型任务,因为机器间通信的系统开销不容忽视。随着任务量的增加,机器间通信的开销与在单个机器上执行全部任务的开销相比逐渐变得微不足道。因此,我得出以下结论:伪远程线程系统能很好地完成需要进行大量计算的任务。

使用伪远程线程有哪些优点?

因为伪远程线程是一种基于Java的系统,它可以用于实现包含多种操作系统的集群,或异构集群。使用伪远程线程,您就避免了转换原有 C/C++ 代码的麻烦,而且还能利用Java 标准库及其各种扩展库。此外,伪远程线程使您不必关心内存管理。当然,其缺点就是系统性能与 JRE 性能直接相关。

发展方向

现在相当多的商业应用程序都是用Java 平台创建的,并考虑到为了利用并行性需要转换原有的C/C++ 代码的实际困难,现在可能是基于Java的超级计算进入商业领域的时候了。在开始创建基于Java的应用程序时就将并行性和负载均衡考虑在内是个不错的开端。

互联网就是异构集群的一个很好的例子,因此伪远程线程可以在因特网中部署,将 Web 转换为一个单一的、基于Java的超级计算机(要了解这一概念的细节,请参阅参考资源)。然而,从实际应用出发,您应注意到在一个专门执行单一任务的同构集群中将获得最佳结果。

最后,从日常应用出发,伪远程线程使得将局域网(LAN)-- 诸如校园网和家庭网 -- 转换为微型的超级计算机变得相当简单。这就是 Beowulf 系统开创的用法。有了伪远程线程,Java编程人员也可以创建自己的超级计算机了。

参考资源

"Lin

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号