构建自己的基于Java的超级计算机 - 编程入门网
udoRemThr 实例获得部分结果。将各部分结果组合起来即可得到最终结果,如清单2 所示。
清单2. 工作中的JobDispatcher
构建自己的基于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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |