日期:2014-05-20  浏览次数:20712 次

并行计算?
各位好,小弟有个问题如下:
局域网内有一台计算机需要计算大量数据,故想利用同一个局域网内的其他空闲计算机计算,并返回给计算结果。
请问,这属于并行计算的范畴吗?
如果用java实现并行计算,是否已经存在着几个模型呢?
谢谢各位!
------最佳解决方案--------------------
很多技术都能解决你的问题,即便你不用任何框架,或者就直接把计算节点开发成一个 WebService 服务。

网格计算的优势是可以动态迁移处理逻辑,也就是可以将程序动态部署到新的节点上去,你这里并不需要。

Apache的项目名称叫做: Hadoop

主要是我确实不太清楚你的需求究竟有多复杂,如果简单的话,其实你就直接在其它人电脑上安装个Resin或Jetty之类的轻量级中间件,然后写个 JSP 页面供你的主程序来调用,也能实现所谓的 “分布式计算”。


不要拘泥于招式,手中无剑,心中不贱。。。
------其他解决方案--------------------
这个是不是分布式
------其他解决方案--------------------
该回复于2012-11-21 13:59:22被管理员删除
------其他解决方案--------------------
是分布式还是并行,其实也不是很重要。

主要看你对时间的要求了:
如果是那种处理到哪儿就算哪儿的,可以认为是分布式计算;比如搜索外星人信号啥的。
如果是协同要求极高,要短期内处理出结果才算完成的,可以认为是并行计算;比如大规模数据分析啥的。

不过我觉得定义并不影响你对问题解决方案的分析设计。
------其他解决方案--------------------
属于并行计算。
------其他解决方案--------------------
引用:
是分布式还是并行,其实也不是很重要。

主要看你对时间的要求了:
如果是那种处理到哪儿就算哪儿的,可以认为是分布式计算;比如搜索外星人信号啥的。
如果是协同要求极高,要短期内处理出结果才算完成的,可以认为是并行计算;比如大规模数据分析啥的。

不过我觉得定义并不影响你对问题解决方案的分析设计。

我刚接触这一块,发现MPI可以实现这个功能。请问具体实现的时候,是不是需要局域网内其他空闲电脑的用户名和密码?然后才能连接?连接之后,又如何给它们分配任务呢?
------其他解决方案--------------------
引用:
属于并行计算。
我刚接触这一块,发现MPI可以实现这个功能。请问具体实现的时候,是不是需要局域网内其他空闲电脑的用户名和密码?然后才能连接?连接之后,又如何给它们分配任务呢?
------其他解决方案--------------------
引用:
我刚接触这一块,发现MPI可以实现这个功能。请问具体实现的时候,是不是需要局域网内其他空闲电脑的用户名和密码?然后才能连接?连接之后,又如何给它们分配任务呢?


你用网格计算也一样能达到效果,关键是先找到一个合适的实现框架。

是否需要用户名和密码,这个是不一定的;但你需要在别的空闲电脑上运行你的代理程序,由它负责接收处理任务并执行,然后将结果进行返回。
------其他解决方案--------------------
是框架,就是选择以何种方式/形式来利用/整合其它计算机的计算能力/资源

webservice不失为一种吧
------其他解决方案--------------------
你的举例我个人认为可以搞成并行,也可以搞成串行.
一个恰当的例子:
中午同事一起去吃饭,你太忙,叫同事帮忙带饭,这就是并行,在你继续工作的时候,同事也帮助你把饭带回来了。
同样,你虽然叫了同事帮你带饭,但自己也傻傻做在位置上等待同事回来,这就是串行.

------其他解决方案--------------------
引用:
引用:我刚接触这一块,发现MPI可以实现这个功能。请问具体实现的时候,是不是需要局域网内其他空闲电脑的用户名和密码?然后才能连接?连接之后,又如何给它们分配任务呢?

你用网格计算也一样能达到效果,关键是先找到一个合适的实现框架。

是否需要用户名和密码,这个是不一定的;但你需要在别的空闲电脑上运行你的代理程序,由它负责……
若利用局域网内的其他电脑,必须要在别的空闲电脑上运行我的代理程序吗? 这个是必须的吗?
------其他解决方案--------------------
引用:
若利用局域网内的其他电脑,必须要在别的空闲电脑上运行我的代理程序吗? 这个是必须的吗?


必需的。

如果你可以未经安装就调用其它电脑的资源,你需要黑客级的技巧;我们一般称这样的程序是 木马或病毒。
------其他解决方案--------------------
引用:
是框架,就是选择以何种方式/形式来利用/整合其它计算机的计算能力/资源

webservice不失为一种吧
我想用java编写Swing桌面应用程序,要达到利用别人的电脑,有没有合适的框架呢?谢谢
------其他解决方案--------------------
引用:
引用:若利用局域网内的其他电脑,必须要在别的空闲电脑上运行我的代理程序吗? 这个是必须的吗?

必需的。

如果你可以未经安装就调用其它电脑的资源,你需要黑客级的技巧;我们一般称这样的程序是 木马或病毒。