【问题标题】:Using Docker on Grid Engine / Sun Grid Engine / Son of Grid Engine在 Grid Engine / Sun Grid Engine / Grid Engine 上使用 Docker
【发布时间】:2016-02-09 23:36:29
【问题描述】:

有没有人有在 Grid Engine / Sun Grid Engine / Son of Grid Engine 上运行 Docker 并能够monitor the resource used by the daemon 的经验?问题是当我qsub docker run ...时,容器中的实际进程是由docker守护进程而不是docker客户端运行的,这意味着进程树是不同的。

SGE 有什么方法可以跟踪不同树中进程的资源(我认为不会)?

另一个选项是 qsub 一个脚本,该脚本首先启动 docker 守护程序,然后运行所需的 docker run 命令,以便所有进程都位于 SGE 启动的同一进程树中。这将要求 sge 具有启动守护进程的权限(root 访问权限),并且还可能导致主机上运行多个 docker 守护进程。

替代进程树的另一个问题是提交的作业是否指定了守护进程 (-d)。在这种情况下,docker 客户端将完成,但 docker 守护进程可能仍在运行容器

【问题讨论】:

    标签: process docker sungridengine pstree


    【解决方案1】:

    你是对的,当你使用 'docker run ....' 时,它会与守护进程对话并从图像创建一个容器。这意味着进程树“不能由 Grid Engine 管理”,因为 Grid Engine execd(启动作业的守护程序)不是树的父级。对于 Sun Grid Engine、Grid Engine 之子和 Open Grid Scheduler,目前无法将 Grid Engine 插入到流程树中。

    您可以修改 Grid Engine 源代码并使用 Docker API 来控制容器并从容器中收集资源信息 - 但是我认为没有人在 Sun Grid Engine 中完成过这项工作。

    然而 Univa Grid Engine,Grid Engine 的商业版本确实具有此功能(免责声明:我为 Univa 工作)。 Univa Grid Engine 使用 Docker API 来启动容器,并有一个 co-shepherd,它是一个在容器中运行的小型守护进程,用于收集资源使用情况并提供作业控制。

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多