gpt4 book ai didi

Perl分布式并行计算

转载 作者:行者123 更新时间:2023-12-02 05:14:25 26 4
gpt4 key购买 nike

我想知道是否有任何 perl 模块可用于启用类似于 apache hadoop 的分布式并行计算。

例子,提交给客户端节点时在多台机器上并行执行的 perl 脚本。

最佳答案

我是 Perl 众核引擎的作者。

在接下来的几个周末,我会去MCEGearman::XS一起旋转. MCE 擅长最大化给定节点上的可用内核。 Gearman 擅长作业分配,并包含负载均衡等许多功能。将两者结合在一起是我跨多个节点水平扩展 MCE 的想法。 :) 直到现在我才与任何人分享这个消息。

为什么这两个模块很合适(我的愚见):

  1. 对于分发,需要某种分块引擎。 MCE 是一个分块引擎——所以分解输入对 MCE 来说是很自然的。本质上,MCE 可以用在双方,作业提交主机以及工作节点上,以最大限度地利用可用内核。

  2. 对于工作节点,MCE 在处理输入数据时遵循银行排队模型。这有助于确保所有 CPU 从作业开始到结束都保持忙碌。当工作人员空闲下来时,剩余的“工作人员”正在处理他们的最后一 block 。

人的想象力是无限的——这两个模块一起工作有很多可能性。在写MCE的时候,我首先关注的是节点端。接下来显然是工作分配,我进行了搜索,发现了 Gearman::XS。这 2 个模块可以愉快地组合在一起 :) 作业分发端(更大的 block ),一次在节点上(更小的 block )。所有网络事务均由 Gearman 处理。

基本上,当 Gearman::XS 已经相当不错时,我不需要编写作业分配方面。这一直是我的计划。我很快就会写关于 Gearman::XS + MCE 的文章。

顺便说一句:我想人们可以使用 GRID-Machine + MCE 做类似的事情。 MCE 的优点在于最大化任何给定节点上的所有可用内核。

关于 MCE 的另一个神奇之处在于,例如,人们可能不希望 200 个节点 * 16 个工作人员都从/向 NFS 服务器读取/写入。这将极大地影响 NFS 服务器。顺便说一句:RHEL 6.4 将包括 pNFS(并行 NFS)。使用 MCE,工作人员可以调用“do”方法来序列化来自 NFS 的写入/读取。因此,不是 200 * 16 = 3200 次攻击 NFS,而是在任何给定时间(每个物理节点 1 个)对 NFS 服务器的最大请求只有 200 个。

在写MCE的时候,grace可以应用到很多场景。我需要向 MCE 的主页添加更多 wiki MCE at code.google.com .此外,MCE 吃早餐的日志文件非常大 :) 查看 examples 下的 egrep.pl 和 wc.pl。目录。它甚至击败了具有顺序 IO 的 wide finder 项目(许多 worker 中强大的 slurp IO)。

查看 images包含在 MCE 发行版中。哦,别忘了查看主Gearman网站也是如此。

这之后还剩下什么?嗯,网片。想到的一个想法是使用 Mojo .有很多选择。这只是一个:

Gearman::XS + MCE + Mojolicious

同样,如果想通过 SSH 进行通信,可以使用 GRID-Machine 而不是 Gearman::XS。

无论如何,我计划使用一个已经可用的工作分配模块。对于 MCE,我的重点是最大化单个节点上的性能——包括分块、序列化、银行排队模型、用户任务(允许多个角色)、工作人员之间的编号排序和顺序 slurp IO。

-- 马里奥

关于Perl分布式并行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14893851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com