ElasticDL - Kubernetes 原生深度学习框架


MIT
跨平台
Python

软件简介

ElasticDL 是一个基于 TensorFlow 2.0 构建的 Kubernetes 原生深度学习框架,支持容错和弹性调度。

TensorFlow
具有故障可恢复的原生分布式计算功能,在某些进程挂掉的情况下,分布式计算作业将停止,但是可以重新启动作业并从最新的检查点文件中恢复其原有状态。

ElasticDL 在此基础上支持容错。ElasticDL 不需要检查点也不需要从检查点恢复,在某些进程挂掉的情况下,该作业将继续运行。

容错的特性使得 ElasticDL 与基于优先级的 Kubernetes 抢占一起实现了弹性调度能力。当 Kubernetes
杀死某个作业的某些进程以为具有更高优先级的新作业释放资源时,当前作业不会停止,而是使用更少的资源继续运作。弹性调度可以显着提高集群的整体利用率。

ElasticDL 弹性调度的特点来自其 Kubernetes 原生设计,它不依赖于像 Kubeflow 这样的 Kubernetes 扩展来运行
TensorFlow 程序。ElasticDL 作业的主进程直接调用 Kubernetes API 来启动工作程序和参数服务器,它还会监视诸如
process/pod killing 之类的事件,并对此类事件做出反应以实现容错。

此外,ElasticDL 还可以与 SQLFlow 配合,更加易于使用。