并行计算?各位好,小弟有个问题如下:局域网内有一台计算机需要计算大量数据,故想利用同一个局域网内的其他
并行计算?
各位好,小弟有个问题如下:
局域网内有一台计算机需要计算大量数据,故想利用同一个局域网内的其他空闲计算机计算,并返回给计算结果。
请问,这属于并行计算的范畴吗?
如果用java实现并行计算,是否已经存在着几个模型呢?
谢谢各位!
[最优解释]
很多技术都能解决你的问题,即便你不用任何框架,或者就直接把计算节点开发成一个 WebService 服务。
网格计算的优势是可以动态迁移处理逻辑,也就是可以将程序动态部署到新的节点上去,你这里并不需要。
Apache的项目名称叫做: Hadoop
主要是我确实不太清楚你的需求究竟有多复杂,如果简单的话,其实你就直接在其它人电脑上安装个Resin或Jetty之类的轻量级中间件,然后写个 JSP 页面供你的主程序来调用,也能实现所谓的 “分布式计算”。
不要拘泥于招式,手中无剑,心中不贱。。。
[其他解释]
这个是不是分布式
[其他解释]
该回复于2012-11-21 13:59:22被管理员删除
[其他解释]
是分布式还是并行,其实也不是很重要。
主要看你对时间的要求了:
如果是那种处理到哪儿就算哪儿的,可以认为是分布式计算;比如搜索外星人信号啥的。
如果是协同要求极高,要短期内处理出结果才算完成的,可以认为是并行计算;比如大规模数据分析啥的。
不过我觉得定义并不影响你对问题解决方案的分析设计。
[其他解释]
属于并行计算。
[其他解释]
我刚接触这一块,发现MPI可以实现这个功能。请问具体实现的时候,是不是需要局域网内其他空闲电脑的用户名和密码?然后才能连接?连接之后,又如何给它们分配任务呢?
[其他解释]我刚接触这一块,发现MPI可以实现这个功能。请问具体实现的时候,是不是需要局域网内其他空闲电脑的用户名和密码?然后才能连接?连接之后,又如何给它们分配任务呢?
[其他解释]你用网格计算也一样能达到效果,关键是先找到一个合适的实现框架。
是否需要用户名和密码,这个是不一定的;但你需要在别的空闲电脑上运行你的代理程序,由它负责接收处理任务并执行,然后将结果进行返回。
[其他解释]是框架,就是选择以何种方式/形式来利用/整合其它计算机的计算能力/资源
webservice不失为一种吧
[其他解释]你的举例我个人认为可以搞成并行,也可以搞成串行.
一个恰当的例子:
中午同事一起去吃饭,你太忙,叫同事帮忙带饭,这就是并行,在你继续工作的时候,同事也帮助你把饭带回来了。
同样,你虽然叫了同事帮你带饭,但自己也傻傻做在位置上等待同事回来,这就是串行.
[其他解释]若利用局域网内的其他电脑,必须要在别的空闲电脑上运行我的代理程序吗? 这个是必须的吗?
[其他解释]必需的。
如果你可以未经安装就调用其它电脑的资源,你需要黑客级的技巧;我们一般称这样的程序是 木马或病毒。
[其他解释]我想用java编写Swing桌面应用程序,要达到利用别人的电脑,有没有合适的框架呢?谢谢
[其他解释]谢谢您的指点。我想要实现的是用java编写个桌面应用程序,其中之一需要处理大量数据。
在单个电脑上运行时间太长,所以我想到利用局域网内其他电脑。
假设现在的情况是:有一个由十台普通个人电脑组成的局域网,我的电脑是其中一台,如果我想尽快处理完大量数据,您能提供几种解决方案吗?
[1] 网格计算?
[2] MPI?
[3] 其他框架?(您说的‘合适框架’有哪些呢?)
万分感激...
[其他解释]框架我不清楚
一般如果自己编写,就在各个局域网机器上安装一个worker server程序(完全可以用java写),然后和你的主工作程序进行交互就行了
[其他解释]几个问题需要确认下:
1、处理规则是否固定,也就是其它电脑总是用需要执行完全相同的运算过程,而不是经常变化的;
2、被处理数据的规模,也就是为了让其它电脑能进行处理,需要传输 几GB的数据给它 还是只需要有 几KB?
3、每个处理片段数据之间是否存在依赖关系,比如必须某个数据先处理完毕,后续才能开始处理另外几个数据?
另外,楼主可以先了解下 MapReduce
[其他解释]您好,下面是三个问题的回答。
1. 处理规则是固定的,不是变化的。
2. 传输几百M的数据吧,到不了几G。
3. 每个处理片数据之间没有依赖关系,它们之间是独立的。
我会学习下MapReduce,请问您接下来如何考虑呢?万分感激
[其他解释]非常感谢您的指点。我想用java来实现这个功能,请问Apache提供的开源框架,您能提供该框架的名字吗?我刚接触这一块,实在是一头雾水。如果您能提供该框架的名字,真是省了很多时间,万分感谢...
[其他解释]规则是固定的,这个挺好,省很多事情;意味着你的框架不需要支持对程序逻辑的迁移。
传输量有几百M,这个其实挺糟糕的,意味着为了计算就要浪费半天网络资源;更可怕的是,这很可能意味着你的主机网络可能将成为瓶颈:比如有10个节点需要帮你计算,你就要传输几个G的资料出去,资料没传完毕的话,意味着计算可能也没法开始。
——这个要考虑是否能减少数据传输量或者计算本身是否可以是流式处理。
独立很好,意味着不需要进行复杂的协同控制。
总的来说用MapReduce框架应该基本能满足你的要求,它可以帮你完成节点监控、任务切割、网络通讯之类的基础保障;算法等当然要你自己去搞定;你学习下,然后用Apache提供的开源框架来试试看吧。
[其他解释]您第一帖回复了说:用网格计算可以解决这个问题,现在又说用MapReduce框架可以解决问题,那么,哪个可以更好的解决问题呢?谢谢您..
[其他解释]非常感谢您的回复。我再仔细想想您的回复。万分感激...