Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gandiva: Introspective Cluster Scheduling for Deep Learning #109

Open
gaocegege opened this issue Oct 12, 2018 · 14 comments
Open

Gandiva: Introspective Cluster Scheduling for Deep Learning #109

gaocegege opened this issue Oct 12, 2018 · 14 comments

Comments

@gaocegege
Copy link
Member

gaocegege commented Oct 12, 2018

OSDI'18

https://www.usenix.org/system/files/osdi18-xiao.pdf

https://www.usenix.org/sites/default/files/conference/protected-files/osdi18_slides_sivathanu.pdf

也是基于 k8s 实现了原型

MS 的

@Jack47
Copy link

Jack47 commented Oct 25, 2018

I'm reading this paper too, maybe we can share and discuss together.

@gaocegege
Copy link
Member Author

@Jack47

Sure, 希望我能在最近写一些阅读的笔记

@gaocegege
Copy link
Member Author

另外推荐 #86 ,也是类似的工作

@gaocegege
Copy link
Member Author

gaocegege commented Nov 8, 2018

这篇论文是北邮的博士学长的一作,据说有开源的计划,可以期待一下。

论文是基于这样几个 key insight:

  • 深度学习是反馈驱动的探索,用户经常运行一批训练,取其中结果最好的。这个可以理解为是类似参数搜索,模型结构搜索这样的场景。
  • 在资源使用的异构性,导致很难得到最优解
  • intra-job predictability,这是全文比较关键的一个概念,如下图所示,GPU 的内存使用存在一定的周期性

screenshot from 2018-11-08 17-06-44

论文在不同方面利用了第三个 key insight,针对场景做了一些优化,主要是为机器学习工作负载的调度增加了几个新的原语,包括对 GPU 资源的时间共享,任务的迁移,对 GPU 资源的动态 alloc 一类的,但是很多原语没有说具体是如何做的,比如 Grow-Shrink, 和 time-sharing,以及怎么保证资源的隔离性的同时提供高的性能。

@gaocegege
Copy link
Member Author

并没有看懂 Grow-Shrink 是通过什么方式实现的

@gaocegege
Copy link
Member Author

对自动机器学习场景的介绍略显不足,不太够。

@huyutuo
Copy link

huyutuo commented Feb 22, 2019

不太清楚在suspend-resume过程中,如何实现的,在论文中提到需要将GPU内的一些信息转移至CPU,然后再进行挂起,我有个问题,如何将GPU内的信息转移至CPU啊 谢谢

@huyutuo
Copy link

huyutuo commented Feb 22, 2019

这篇论文是北邮的博士学长的一作,据说有开源的计划,可以期待一下。

论文是基于这样几个 key insight:

  • 深度学习是反馈驱动的探索,用户经常运行一批训练,取其中结果最好的。这个可以理解为是类似参数搜索,模型结构搜索这样的场景。
  • 在资源使用的异构性,导致很难得到最优解
  • intra-job predictability,这是全文比较关键的一个概念,如下图所示,GPU 的内存使用存在一定的周期性

screenshot from 2018-11-08 17-06-44

论文在不同方面利用了第三个 key insight,针对场景做了一些优化,主要是为机器学习工作负载的调度增加了几个新的原语,包括对 GPU 资源的时间共享,任务的迁移,对 GPU 资源的动态 alloc 一类的,但是很多原语没有说具体是如何做的,比如 Grow-Shrink, 和 time-sharing,以及怎么保证资源的隔离性的同时提供高的性能。

不太清楚在suspend-resume过程中,如何实现的,在论文中提到需要将GPU内的一些信息转移至CPU,然后再进行挂起,这个里面GPU与CPU的通信是如何完成的,希望能得到您的帮助!谢谢!

@gaocegege
Copy link
Member Author

@huyutuo 不好意思现在才看到

因为文章写的不是很细节,我也不太清楚。按照我自己的猜测,应该是实现了把 GPU 显存的对象完全 dump 到内存,但是具体怎么实现不清楚。可能 CUDA 有一些 API 可以用吧

@JiangShanCode
Copy link

请问现在有开源了吗?找了一遍没发现

@gaocegege
Copy link
Member Author

好像没有,如果没记错的话

@Jack47
Copy link

Jack47 commented Mar 18, 2022

这篇论文是北邮的博士学长的一作,据说有开源的计划,可以期待一下。
论文是基于这样几个 key insight:

  • 深度学习是反馈驱动的探索,用户经常运行一批训练,取其中结果最好的。这个可以理解为是类似参数搜索,模型结构搜索这样的场景。
  • 在资源使用的异构性,导致很难得到最优解
  • intra-job predictability,这是全文比较关键的一个概念,如下图所示,GPU 的内存使用存在一定的周期性

screenshot from 2018-11-08 17-06-44
论文在不同方面利用了第三个 key insight,针对场景做了一些优化,主要是为机器学习工作负载的调度增加了几个新的原语,包括对 GPU 资源的时间共享,任务的迁移,对 GPU 资源的动态 alloc 一类的,但是很多原语没有说具体是如何做的,比如 Grow-Shrink, 和 time-sharing,以及怎么保证资源的隔离性的同时提供高的性能。

不太清楚在suspend-resume过程中,如何实现的,在论文中提到需要将GPU内的一些信息转移至CPU,然后再进行挂起,这个里面GPU与CPU的通信是如何完成的,希望能得到您的帮助!谢谢!

这个就是平常用的 checkpoint 机制,类似游戏存档。Google 搜 "pytorch checkpoint" 就出来了。https://pytorch.org/docs/stable/checkpoint.html

@gaocegege
Copy link
Member Author

应该不是这么简单吧,checkpoint 是完全 dump 到内存或者硬盘了

@lambda7xx
Copy link

lambda7xx commented Apr 1, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants