3

我有兴趣了解任何编程语言(Java/Perl/Python/PHP)中的分布式并行编程模型——类似于 Apache Hadoop,但它支持 Windows 机器(我不想安装 Cygwin)。

另外,我并不热衷于高可用性和容错。

示例:创建一个作业“sum”并从客户端提交,以便它在许多工作节点中运行(包括没有 cygwin 的 windows 机器)

sum(int a, int b)
{
   return a+b;
}
4

4 回答 4

0

您可能需要考虑JPPFGridGain,它们都是 Java 分布式框架,可以在任何平台上运行

于 2013-02-26T11:33:35.430 回答
0

您所需要的只是 ZeroMQ ...您可以在没有 cygwin 的情况下在 Windows 上简单地实现多个工作人员

这是 PHP 中一个简单的并行任务工作者,它接收一条消息,休眠该秒数,然后发出完成的信号

$context = new ZMQContext();

// Socket to receive messages on
$receiver = new ZMQSocket($context, ZMQ::SOCKET_PULL);
$receiver->connect("tcp://localhost:5557");

// Socket to send messages to
$sender = new ZMQSocket($context, ZMQ::SOCKET_PUSH);
$sender->connect("tcp://localhost:5558");

// Process tasks forever
while ( true ) {
    $string = $receiver->recv();
    $json = json_decode($string,true);

    // Do the work
    echo sum($json['left'], $json['right']), PHP_EOL;  // <--- call SUM
    usleep(strlen($string) * 1000);

    // Send results to sink
    $sender->send("");
}

这是一个很好的起点

于 2013-02-25T09:23:56.370 回答
0

请考虑 Gearman:http://gearman.org/

perl gearman 服务器在 windows 下运行,没有 cygwin:http ://code.activestate.com/ppm/Gearman/

http://www.phpvs.net/2010/11/30/installing-gearman-and-gearmand-on-windows-with-cygwin/

于 2013-02-25T09:06:45.560 回答
0

尝试使用IPython进行并行计算!

于 2013-02-25T09:54:35.833 回答