MPI任务调度

2023-12-14

我想使用 MPI 开发一个任务调度程序,其中有一个主处理器和多个工作/客户端处理器。每个工作进程都拥有计算所需的所有数据,但从主进程获取要处理的索引。计算完成后,worker 返回一些数据给 master。问题是有些进程会很快,有些会很慢。 如果我运行一个循环,以便主节点在每次迭代时发送和接收(阻塞/非阻塞)数据,那么它无法继续下一步,直到它从分配给它的上一个索引中接收到来自当前工作线程的数据。最重要的是,如果一个工作程序花费太长时间来计算,那么它就会成为限制因素,即使使用非阻塞技术,主程序也无法继续为下一个工作程序分配索引。是否可以跳过分配给工人并继续下一步。

我开始认为 MPI 可能不是执行此操作的范例。 python会是一个很好的任务调度平台吗?


这绝对可以使用MPI_Irecv() and MPI_Test()。主进程需要做的就是为每个工作进程发布非阻塞接收,然后在循环中测试每个工作进程的传入数据。如果一个进程完成,则向其发送一个新索引,为其发布一个新的非阻塞接收,然后继续。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MPI任务调度 的相关文章

  • 使用 Windows 调度程序运行 jar 文件

    我有 jar 文件 我想从 Windows 7 中的 Windows 调度程序运行该文件 我已经给出了路径java exe在路径 脚本中和 jar c abc ab jar在参数字段中 但它不运行 我也曾在bat文件的帮助下尝试过 但它无法
  • OpenMPI 1.4.3 mpirun 主机文件错误

    我正在尝试在 4 个节点上运行一个简单的 MPI 程序 我正在使用在 Centos 5 5 上运行的 OpenMPI 1 4 3 当我使用主机文件 机器文件提交 MPIRUN 命令时 我没有得到任何输出 而是出现空白屏幕 因此 我必须终止这
  • MPI_Isend 和 MPI_Irecv 似乎导致死锁

    我在 MPI 中使用非阻塞通信在进程之间发送各种消息 然而 我似乎陷入了僵局 我用过PADB see here http padb pittman org uk 查看消息队列并得到以下输出 1 msg12 Operation 1 pendi
  • Windows 7 任务计划程序和 Python - 壁纸不变

    我尝试每五分钟运行一次 Python 脚本来更新 Windows 7 桌面背景 从命令行启动时它可以完美运行 但不能作为计划任务运行 相关代码 import ctypes According to MSDN other websites S
  • 无法通过 Windows 任务计划程序运行我的 python 脚本

    我已经安装了 anaconda 包 并直接从控制台轻松运行 python 笔记本和 python 脚本 我创建了一个脚本并希望它每天在特定时间段运行 但它不起作用 所以我创建了一个简单的测试文件来检查问题所在 这是我的测试文件 print
  • 尝试在 Windows 2016 Core 容器中创建计划任务时出错

    我正在尝试构建一个包含自定义计划任务的容器 这是我的 dockerfile FROM microsoft windowsservercore RUN schtasks create tn hello sc daily st 00 00 tr
  • asp.net 网站中的 Quartz.net 设置

    我刚刚将quartz net dll 添加到我的bin 中并启动了我的示例 如何使用基于时间的quartz net 调用C 方法 using System using System Collections Generic using Sys
  • MPI 是否提供预处理器宏?

    MPI 标准是否提供了预处理器宏 因此如果我的 C C 代码由支持 MPI 的编译器编译 它可以分支吗 就像是 OPENMPOpenMP 的宏 根据MPI标准 http www mpi forum org docs mpi 3 0 mpi3
  • MPI mpirun execvp 错误:没有这样的文件或目录

    我正在尝试使用 MPI 运行 C 代码 BCparallel cpp 编译代码 mpic BCparallel cpp o BCparallel 很成功 但是当我通过这条线时 mpiexec np 4 BCparallel file txt
  • MPI 矩阵向量乘法返回有时正确有时奇怪的值

    我有以下代码 Start MPI MPI Init argc argv int size atoi argv 1 int delta 10 int rnk int p int root 0 MPI Status mystatus MPI C
  • 在不阻塞的情况下“通知”处理器的正确方法是什么?

    假设我有很多东西 我必须对所有这些东西进行一些操作 如果一个元素的操作失败 我想停止整个阵列的工作 这项工作分布在多个处理器上 我想实现这一目标 同时将发送 接收的消息数量保持在最低限度 另外 如果没有必要 我不想阻止处理器 我该如何使用
  • openMPI/mpich2 不能在多个节点上运行

    我正在尝试在多节点集群上使用 install openMPI 和 mpich2 但在这两种情况下 我在多台计算机上运行时都遇到问题 使用 mpich2 我可以从头节点在特定主机上运行 但是如果我尝试从计算节点到不同节点运行某些内容 我会得到
  • spring 调度一个具有固定延迟和初始延迟的作业

    我正在尝试安排方法调用 我想在服务器启动后立即安排此方法调用 然后每 30 秒调用一次 下面的代码 Configuration EnableScheduling EnableTransactionManagement public clas
  • 为 schtasks.exe 指定日期参数的独立于语言的方法

    我正在尝试将新任务添加到 Windows 任务计划程序schtasks exe 我现在遇到的问题是指定任务应该在一周中的哪一天运行 据我所知 愚蠢的程序坚持将该参数作为日期名称的字符串缩写 本地化为操作系统语言 其他参数可以很好地接受英语字
  • 如何通过批处理文件检查服务是否正在运行并启动它,如果它没有运行?

    我想编写一个执行以下操作的批处理文件 Check if a service is running 如果正在运行 请退出批处理 如果没有运行 启动该服务 到目前为止 我在谷歌上搜索的代码示例被证明不起作用 所以我决定不发布它们 启动服务是通过
  • 如何为 apscheduler 指定“记录器”

    我正在尝试学习如何使用 Python 的 apscheduler 包 但它会定期抛出以下错误 No handlers could be found for logger apscheduler scheduler 该消息似乎与计划作业中的错
  • GProf 输出中缺少函数

    我正在尝试分析一些 C 代码 但最直观地成本最高的函数之一并未出现在 GProf 输出中 int main initialise haloSwap for functions propagate functions void propaga
  • Erlang 如何睡觉(晚上?)

    我想在 Erlang 服务器上每隔几个小时运行一次小型清理过程 我知道计时器模块 我在教程中看到一个示例 使用链式计时器 睡眠命令来等待几天后发生的事件 我觉得这很奇怪 我知道 Erlang 进程与其他语言中的进程相比是独一无二的 但是进程
  • ColdFusion - 获取下一个要运行的计划任务

    该线程对于查找计划任务的下一个运行时间很有用 如何找到计划任务的下一次运行时间 https stackoverflow com questions 10740297 how do i find out the next run time f
  • java定时器任务调度

    通过阅读 Stack Overflow 我发现很多人不建议使用 Timer Task 嗯 但我已经实现了这个 我有这个代码 detectionHandlerTimer schedule myTimerTask 60 1000 60 1000

随机推荐

  • 在哪里/如何从 Google Maps API 获取多边形数据?

    我真的很想简短地回答这个问题 所以 我想知道谷歌地图是否拥有详细信息 在这种情况下我需要多边形 坐标数组 对于城市内的特定市政府 即Envigado在城市Medellin Co 有没有办法获取这种类型的数据 编辑 我不确定谷歌地图是否显示我
  • 如何解码 .dxf 文件?

    我想将 dxf 文件内的绘图转换为 g 代码 有一些工具可以做到这一点 但我想自己编写代码 因此 第一部分是解码 dxf 格式 然而 dxf 文件的内容看起来并不容易破译 我下载了一个 dxf 文件here并在文本编辑器中打开它 我也指的是
  • MongoDB $pull 语法

    我有一个 希望 小语法问题 pull在 Mongodb 中 bulk find id new mongo ObjectID req session id updateOne pull firstArray id req params id
  • C++:如何根据条件选择构造函数?

    假设我有一个具有不同构造函数的类 class A public A char string A int value void check 现在我想在堆栈上创建一个 A 对象 必须根据某些条件选择构造函数 但有一个问题 创建的对象被销毁然后我
  • Blazor WASP 应用程序(ASP.NET Core 托管)尝试从我的 appsettings.json 文件获取设置值

    我在尝试从 appsettings json 文件获取设置时遇到问题 我设置了一个名为 FileStorage 的本地路径 这是我的文件 我的 appsettings json 文件 Logging LogLevel Default Inf
  • Firebase 离线功能和 addListenerForSingleValueEvent

    每当我使用addListenerForSingleValueEvent with setPersistenceEnabled true 我只能设法获得本地离线副本DataSnapshot and NOT更新后的DataSnapshot从服务
  • 带有“Order Each by”子句的 Google BigQuery 大表(105M 记录)会产生“资源超出查询执行”错误

    我遇到了严重的问题 资源超过查询执行 当 Google Big Query 大表 105M 记录 带有 订购每个 条款 这是示例查询 使用公共数据集 维基百科 SELECT Id Title Count FROM publicdata sa
  • 如何通过 MySQL 查询使用 BirthDate 列获取年龄?

    我在 MySQL 数据库表中有一个 BirthDate 列来存储用户的出生日期 现在我在 html php 中有两个字段的表单 1 年龄从 2 年龄到 如果用户想要获取年龄在 10 岁到 20 岁之间的所有用户 是否可以使用 BirthDa
  • 如何在 Python 中创建 mdb 数据库文件?

    我想用 Python 在 Windows 中创建一个 mdb 数据库文件 但似乎无法用 Python 文档弄清楚它 我读到的所有内容都与建立连接以及如何使用光标有关 有什么想法吗 谢谢 我的经验comtypes模块已经相当不错了 然而 您可
  • 使用 seq() 和 rep() 迭代数字

    我需要使用rep and seq 得到以下向量 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 通常我只会使用for声明来实现这一点 但我被限制使用它 只能使用rep and seq 来实
  • 添加新的核心数据模型版本后出错

    我添加了一个新的模型版本 并将核心数据模型设置为使用该新版本 但当应用程序尝试启动时出现此错误 用于打开持久存储的托管对象模型版本与用于创建持久存储的版本不兼容 我猜问题是当前的持久存储是模型的旧版本 有没有办法直接删除它 然后再创建一个新
  • Three.js r125 BufferGeometry`顶点`不存在

    我正在更新 Three js 我发现当我升级到 r125 时 尝试设置vertices由于缺少方法 BufferGeometry 失败 似乎也已删除verticesNeedUpdate The 迁移指南似乎没有对此发出警告并且变更日志据我所
  • Team Foundation Server 2010 不支持我的 .tfignore 文件

    这是我的 tfignore 它位于分支的根目录中并提交给 TFS 但它永远不会受到尊重 我想我错过了一些我在阅读中不清楚的语法细节TechNet 有关 tfignore 文件的文章 但是什么 Team Foundation Server S
  • PHP:使用 php 邮件程序发送 ical

    我正在尝试使用 php 邮件程序发送 ical 这是我的功能 function sendIcalEmail firstname lastname email meeting date meeting name meeting duratio
  • 创建谷歌日历事件

    我正在尝试使用下面给出的代码创建谷歌日历事件 但我得到了类 Event not found 如何创建新事件 请帮忙
  • C - 防止在块作用域中使用相同的变量名

    我继承了一些代码 我将对其进行重构 这些代码在不同范围内广泛使用具有相同名称的多个变量 即 int test 456 int main void int test 0 for i 0 i
  • 使用 python 进行 Modelica 参数研究

    我想使用 python 在不同的 modelica 建筑库 建筑物 IDEAS 中运行参数研究 例如 更改渗透率 我尝试过 simulateModel和simulateExtendedModel zone n50 value 我的问题 为什
  • Microsoft Sql Server Management Studio 备份大小变为负值

    问题是我需要解释工厂中数据库的不同大小的备份 有时 即使没有从系统中删除数据 大小之间的差异也是负数 Datum Backupfile file Size KB Diff 6 1 10 backup201006010100 bak 3355
  • 如何配置 HttpClient 在收到 301 HTTP 状态代码时不自动重定向?

    考虑一个重定向的 ASP NET Web API 服务 public class ThisController ApiController more methods public override HttpResponseMessage P
  • MPI任务调度

    我想使用 MPI 开发一个任务调度程序 其中有一个主处理器和多个工作 客户端处理器 每个工作进程都拥有计算所需的所有数据 但从主进程获取要处理的索引 计算完成后 worker 返回一些数据给 master 问题是有些进程会很快 有些会很慢