Tag: sungridengine

在Grid Engine / Sun Grid Engine / Grid Engine上使用Docker

有没有人有经验在网格引擎/太阳网格引擎/儿子网格引擎上运行Docker,并能够监视守护进程使用的资源 ? 问题是,当我qsub docker run … ,容器中的实际进程是由docker守护进程而不是docker客户端运行,这意味着进程树是不同的。 SGE有没有办法跟踪另一棵树上的进程的资源(我假设不)? 另一个select是qsub脚本,首先启动docker守护程序,然后运行所需的docker run命令,以便所有进程都位于由SGE启动的同一个进程树中。 这将要求sge有权启动守护进程(root访问权限),并可能导致在主机上运行多个docker守护进程。 替代进程树的另一个问题是作业是否提交了指定的daemeon( -d )。 在这种情况下,docker客户端将完成,但docker守护进程可能仍然在运行容器

将subprocess日志挂接到Docker的主日志输出中

我在Docker容器中运行SGE(Sun Grid Engine),以便复制我们的SGE集群。 如果你没有碰到它,SGE基本上是一个运行其他程序的程序(同时pipe理集群中的资源 – 即网格调度程序)。 这当然是与docker“每个容器一个进程”的哲学冲突(如果你遵循这个推理的path足够远,你会想“为什么使用网格调度,而不是只是在Swarm或Kubernetes上粘贴泊坞窗容器什么的“而且你说得对,只是我不能改变我们的整个调度基础设施来解决这个问题,可悲的是)。 所以,我试图从SGE运行的那些程序中取出日志,并把它们放到一般的docker日志中。 qsub命令(将作业提交到SGE队列中运行)需要使用参数来指定STDOUT和STDERR的位置。 迄今为止我所pipe理的最好的尝试是通过一个永不终止的脚本(好的旧的tail -f / dev / null)启动两个主进程(sge_execd和sge_qmaster),然后执行如下所示的操作: qsub -o /proc/1/fd/1 -e /proc/1/fd/2 my_script 这个可怕的黑客入侵了进程1的文件描述符(也就是我们的tail -fing,sge-invoking进程),正如你所期待的那样,恰好有它的STDOUT和STDERR连接到docker日志。 虽然这感觉很肮脏。 有人可以提出一个更好的方法来实现这一点?

Sun Grid Engine使用Docker for HPC

我想知道是否可以使用Docker创build虚拟群集,以便可以使用SGE群集pipe理运行专为HPC群集devise的脚本。 这些都是相当大/复杂的工作stream程,所以它不仅仅是我可以重写的东西,比如TORQUE / PBS。 理论上,我应该能够让Docker认为有多个节点,就像我的内部HPC群集一样。 如果有人能救我痛苦,告诉我不能做,我会非常感激。 警告:我不是群集pipe理员。 我更像最终用户。 我在我的Mac OSX 10.9.5上运行 Client version: 1.7.0 Client API version: 1.19 Go version (client): go1.4.2 Git commit (client): 0baf609 OS/Arch (client): darwin/amd64 Server version: 1.7.0 Server API version: 1.19 Go version (server): go1.4.2 Git commit (server): 0baf609 OS/Arch (server): linux/amd64 bash-3.2$ boot2docker version Boot2Docker-cli version: v1.7.0 Git commit: […]