首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要建议!用于Java的集群程序?

需要建议!用于Java的集群程序?
EN

Stack Overflow用户
提问于 2013-08-29 05:18:47
回答 1查看 145关注 0票数 1

,我正在寻找一个集群程序,我可以并行计算作业。,我看了looked集群和Hadoop。使用run集群的问题是,它需要Unix中的脚本并行运行计算。但是,我想要做的是用Java本身将作业发送给工人,这样工人就可以计算它们并返回值。这是因为我的工作是由许多不同的用户决定的,您不能在运行作业之前编写脚本。而且,使用Hadoop的问题是它使用了Map-还原工具,但我认为我的Java工作并没有从Map-reduce方案中受益。

我想要的很简单。我希望将作业发送给工人(其他计算机节点)并接收结果。我发送给工人的所有工作都将是独立的(因此,我不必担心依赖关系)。(简单的工作)另外,我希望在Java本身中实现这些并行化。当我向调度器发送多个作业时,希望调度器设置队列,并自动将一些作业发送到可用节点并将结果返回给用户。

为了得到更好的解释,让我举一个例子。假设有一个user1正在使用Java。他正在他的电脑里用main()做三次计算。下面是他的密码。

公共级乘法{

代码语言:javascript
运行
复制
public static void main(String[] args){
    Multiplecal calobj= new Multiplecal();
    int result1, result2, result3;
    result1=calobj.addtwo(5);
    result2=calobj.addthree(6);
    result3=calobj.addfour(7);
}
public int addtwo(int n){
    return (n+(n-1));
}
public int addthree(int n){
    return (n+(n-1)+(n-2));
}
public int addfour(int n){
    return (n+(n-1)+(n-2)+(n-3));
}

}`

然而,user1希望通过使用一些集群程序来获得result1、result2、result3。如果存在一个名为服务的API,那么他的主()代码可能如下所示。

*进口服务;

公共级乘法{

代码语言:javascript
运行
复制
public static void main(String[] args){
    Multiplecal calobj= new Multiplecal();
    int result1, result2, result3;
    result1=service.send("Multiplecal", "addtwo", 5);
    result2=service.send("Multiplecal", "addthree", 6);
    result3=service.send("Multiplecal", "addfour", 7);
}

……}`

服务API将向并行程序管理器发送每个(类名、方法名和输入参数)。然后并行程序管理器将这些作业分配给节点(工人)。因为工作人员已经有了Multiplecal类,所以他们可以通过匹配从服务API发送的类和方法来获得结果。当工人完成工作后,他们会将结果返回给user1。

我上面提到的只是我想要做的事情的大画面。并行化的参数格式不必像上面那样。如果您知道一个很好的软件可以设置集群和并行化,请给我您宝贵的建议。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-29 18:16:03

有许多网格计算/集群中间件。您可能想看看JPPF (主/工作者)、GridGain(地图/减少)或HTCondor

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18502810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档