Linux 下的用户任务队列

2018-02-16 15:35:32 +08:00
 speedcell4

研究室只有 2 台服务器,每台上面 8 块显卡。每天都很多人要跑实验,经常出现抢显卡打架的情况。

是否有现成的工具可以满足下面的需求呢:

  1. 每个用户登陆到服务器之后,提交跑实验的命令,而不是直接自己开始跑。
  2. 服务器会自动在这 2 台服务器上调度任务:
  3. 如果当前没有 GPU 可用,队列里的任务就都等着
  4. 如果有 GPU 空出来了,队首的任务就开始跑
  5. 并且能做到公平分配 GPU 运行时间给每个用户,比如刚跑了一个耗时很长的实验的用户在一段时间内不会再让他跑
5456 次点击
所在节点    Linux
13 条回复
laqow
2018-02-16 15:57:29 +08:00
自己以前实验室没这么紧张,没具体弄过。不知道你们做啥实验,生物信息的话可以拿 autodock,zdock 之类的关键字搜搜日本大学或国内大学的公共实验平台,可以看他们的管理方法。另外一些商业软件运算自带这种系统的。
churchmice
2018-02-16 16:02:59 +08:00
sungrid
razrlele
2018-02-16 17:56:04 +08:00
wannafly
2018-02-16 18:00:11 +08:00
最传统的 IBM 的 LSF 应该就可以, 使用方法就是你描述的那样.
hackpro
2018-02-16 18:31:18 +08:00
好问题,关注,组里 DL 大户太狠了……
swulling
2018-02-16 21:49:28 +08:00
自己写一个吧,周末应该可以写一个能用的
defunct9
2018-02-16 21:54:02 +08:00
挖矿很不错啊不错👍
xuanyuanaosheng
2018-02-16 23:01:37 +08:00
slurm 或者 lsf,这些是传统的调度系统,也可以研究下 singlarity,这个是类似于 docker 的
omph
2018-02-16 23:35:50 +08:00
用 Hadoop Yarn 搭建一个资源管理平台
msg7086
2018-02-17 00:52:31 +08:00
前几天刚刚写过一个类似的,不过没有普遍性(也不像你说的那样能动态调度或者有用户管理)。

不过从头写一个不麻烦 XD
luoshuangfw
2018-02-17 04:24:19 +08:00
楼主的需求正是传统意义上的集群调度系统。可以从 PBS 开始了解,开源的闭源的都有,闭源代表如 2 楼提到的 SunGridEngine
speedcell4
2018-02-17 19:12:21 +08:00
@msg7086 可以开源一下作为参考么,多谢多谢~
msg7086
2018-02-19 07:07:53 +08:00
@speedcell4 https://g.x86.men/root/KumaTama

请不要将 Repo 地址或内容转发到其他网站上。一周后我会关掉访问权限。
这套东西对其他人来说没有直接运行的价值,所以我觉得最多就是看看代码,抄抄结构就行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/430947

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX