在Grid Engine/Sun Grid Engine/Grid Engine之子上使用Docker [英] Using Docker on Grid Engine / Sun Grid Engine / Son of Grid Engine

查看:167
本文介绍了在Grid Engine/Sun Grid Engine/Grid Engine之子上使用Docker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人是否有在Grid Engine/Sun Grid Engine/Grid Engine之子上运行Docker的经验,并且能够

Does anyone have experience running Docker on Grid Engine / Sun Grid Engine / Son of Grid Engine and being able to monitor the resource used by the daemon? The issue is that when I qsub docker run ..., the actual process in the container is run by the docker daemon rather than the docker client which means the process trees are different.

SGE是否有其他方法可以在不同的树中跟踪进程的资源(我想不会)?

Is there any way for SGE to track the resources of a process in a different tree (I would assume not)?

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

Another option would be to qsub a script that first launches the docker daemon and then runs the desired docker run command so that all processes are in the same process tree launched by SGE. This would require that sge have permissions to launch the daemon (root access) and could also result in multiple docker daemons running on the host.

备用流程树的另一个问题是,如果作业提交时指定了daemeon(-d).在这种情况下,泊坞窗客户端将完成,但是泊坞窗守护程序可能仍在运行容器

Another problem with the alternative process tree is if the job submitted specified daemeon (-d). In this case the docker client would finish, but the docker daemon might still be running the container

推荐答案

您是正确的,当您使用"docker run ...."时,它将与守护程序进行对话并从映像创建容器.这意味着进程树无法由Grid Engine进行管理",因为Grid Engine execd(启动作业的守护程序)不是树的父级.使用Sun Grid Engine,Son of Grid Engine和Open Grid Scheduler,当前无法将Grid Engine插入到进程树中.

You are correct, when you use 'docker run ....' it talks to the daemon and creates a container from the image. This means that the process tree is 'not manageable by Grid Engine' because the Grid Engine execd (the daemon that launches the job) is not the parent of the tree. With Sun Grid Engine, Son of Grid Engine and Open Grid Scheduler there is currently no way to have Grid Engine inserted into the process tree.

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

You could modify the Grid Engine Source code and use the Docker API to control the container and to collect resource information from the container - however I don't think anyone has done that work in Sun Grid Engine.

但是Univa Grid Engine,商业版本的Grid Engine确实具有此功能(免责声明:我为Univa工作). Univa Grid Engine使用Docker API启动容器,并具有一个共同的守护者,它是一个在容器中运行的小型守护程序,以收集资源使用情况并提供作业控制.

However Univa Grid Engine, the commercial version of Grid Engine does have this functionality (Disclaimer: I work for Univa). Univa Grid Engine uses the Docker API to launch the containers and has a co-shepherd which is a small daemon that runs in the container to collect resource usage and provide job control.

这篇关于在Grid Engine/Sun Grid Engine/Grid Engine之子上使用Docker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆