多节点SLURM纯python解决方案

2024-03-29 08:52:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个项目,在SLURM集群上执行多节点python脚本。解决方案应该是p2p,问题是我真的不知道从哪里开始。不过,我应该先广播,对吗?找出哪些节点分配给我的作业(4个节点),然后利用每个节点的1/4部分作业(?)。每个节点都必须跟踪作业的哪一部分已经完成,对吗?我听到有人提到一个基于文件的解决方案,但我不太明白。希望你们能帮我。另外,不应该使用MPI或类似的东西。你知道吗

(我应该提交的工作是读取一个大文件,并处理该文件的每一行)


Tags: 文件项目脚本利用节点作业集群p2p
1条回答
网友
1楼 · 发布于 2024-03-29 08:52:36

你说总体任务是读取一个大文件并处理每一行。你知道吗

首先,你需要一个划分工作的策略。如果磁盘速度非常慢,网络速度非常快,让一个进程读取整个文件,然后将其发送给其他进程可能是有意义的,但更可能的情况是您希望划分读取任务。你知道吗

您通常可以在没有进程间明确通信的情况下执行这些操作。只需让第一个进程读取文件字节的前25%,然后继续读取,直到它看到一个新的行。第二个进程读取文件中25%到50%的内容,然后继续,直到看到一个新的行。等等。你知道吗

这样,您只需在启动时告诉流程三个事实:

  1. 文件路径。你知道吗
  2. 将处理文件的进程数(N)。你知道吗
  3. 每个特定进程(0到N)的索引,以便推断要读取的部分。你知道吗

相关问题 更多 >