Mesos杀死了mpiexec,却没有机会运行任何有用的作业

2024-04-29 12:27:55 发布

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

同事们! 我正在用纯Python(使用他们的API)为apachemesos 0.22.1编写自己的框架,因为我们有非常具体的需求,而其他框架(例如Marathon)无法处理这些需求。在

我们将从Mesos开始一些MPI作业(它们都是用Python编写的(使用mpi4py))

但我在一开始就被阻止了,因为看起来,Mesos master在mpiexec启动后就杀死了它。mpiexec只写“killing all jobs…”然后就死了。在

下面我们将从Mesos开始一些MPI作业(它们都是用Python编写的(使用mpi4py))

请看一下我的框架代码(它非常基本,并且与以下代码有更多共同点:https://github.com/apache/mesos/tree/master/mpi):

  if cpus < CPUS or mem < MEM:
    print "Declining offer due to too few resources"
    driver.declineOffer(offer.id)
  else:
    tid = self.mpdsLaunched
    self.mpdsLaunched += 1

    print "Accepting offer on %s to start mpd %d" % (offer.hostname, tid)

    task = mesos_pb2.TaskInfo()
    task.task_id.value = str(tid)
    task.slave_id.value = offer.slave_id.value
    task.name = "task %d " % tid

    cpus = task.resources.add()
    cpus.name = "cpus"
    cpus.type = mesos_pb2.Value.SCALAR
    cpus.scalar.value = CPUS

    mem = task.resources.add()
    mem.name = "mem"
    mem.type = mesos_pb2.Value.SCALAR
    mem.scalar.value = MEM

    uri = task.command.uris.add()
    uri.value= parser_config.get_option("PATH_TO_DEPLOY_SCRIPT")

    task.command.value = "mpiexec -n 3 test_mpi.py -u" 
    tasks.append(task)
    print "Replying to offer: launching mpd %d on host %s" % (tid, offer.hostname)
    driver.launchTasks(offer.id, tasks)

你看,我试着从Mesos直接启动mpiexec,但是没有结果。 顺便说一下,为了解决这个问题,我试过:

^{pr2}$

但在所有这些情况下,结果都是一样的:mpiexec被mesos大师以疯狂的毅力杀死了。在

也许有人也有类似的问题? 谢谢您!在


Tags: to框架idtaskvaluememmesosresources
1条回答
网友
1楼 · 发布于 2024-04-29 12:27:55

哇!:-) 伙计们,没人会相信,但当我把mpiexec改成mpirun时,一切都很好! 一、 现在我的绳子是这样的:

mpiexec -n 3 test_mpi.py -u &

我很好奇到底有什么区别?在

相关问题 更多 >