ElasticDLKubernetes 原生深度學習框架
ElasticDL 是一個基于 TensorFlow 2.0 構(gòu)建的 Kubernetes 原生深度學習框架,支持容錯和彈性調(diào)度。
TensorFlow 具有故障可恢復的原生分布式計算功能,在某些進程掛掉的情況下,分布式計算作業(yè)將停止,但是可以重新啟動作業(yè)并從最新的檢查點文件中恢復其原有狀態(tài)。
ElasticDL 在此基礎(chǔ)上支持容錯。ElasticDL 不需要檢查點也不需要從檢查點恢復,在某些進程掛掉的情況下,該作業(yè)將繼續(xù)運行。
容錯的特性使得 ElasticDL 與基于優(yōu)先級的 Kubernetes 搶占一起實現(xiàn)了彈性調(diào)度能力。當 Kubernetes 殺死某個作業(yè)的某些進程以為具有更高優(yōu)先級的新作業(yè)釋放資源時,當前作業(yè)不會停止,而是使用更少的資源繼續(xù)運作。彈性調(diào)度可以顯著提高集群的整體利用率。
ElasticDL 彈性調(diào)度的特點來自其 Kubernetes 原生設(shè)計,它不依賴于像 Kubeflow 這樣的 Kubernetes 擴展來運行 TensorFlow 程序。ElasticDL 作業(yè)的主進程直接調(diào)用 Kubernetes API 來啟動工作程序和參數(shù)服務器,它還會監(jiān)視諸如 process/pod killing 之類的事件,并對此類事件做出反應以實現(xiàn)容錯。
此外,ElasticDL 還可以與 SQLFlow 配合,更加易于使用。
評論
圖片
表情
