cyborg agent提案
問題描述
Cyborg的需要一下功能:包括在計算機節點上管理代理,定位加速器,監控加速器狀態和協調加速器驅動程序。
用例
在OpenStack中將加速器連接到虛擬機實例。
提議變更
cyborg agent駐留在各種計算機主機上,並監控對計算節點上的加速器進行監控。
如果某一個計算節點上加速器存在但沒有設置,代理將通知conductor並建議手動檢查。
用cyborg agent來監控加速器的狀態並報告給conductor,並通過這些報告信息來幫助調度和操作。
數據模型
cyborg agent將在其檢測到的加速器時在數據庫中創建新條目,它還將更新具有加速器當前狀態的那些條目。
更多臨時數據,如加速器的當前使用情況將通過消息傳遞系統進行廣播,不會被存儲。
Cyborg Agent將保留本地緩存數據,目的是在系統中斷或連接丟失不會失去加速器狀態。
cyborg agent具體內容
Cyborg代理將安裝在正在或者可能會使用加速器的計算節點上。
cyborg agent功能:
- 檢查硬件以查找加速器
- 管理安裝驅動程序,依賴關係,安裝和卸載
- 一旦生成實例生成後,將實例連接到加速器,
- 將有關可用加速器,狀態和利用率的數據報告給Cyborg服務器
硬件發現:
該實例每幾秒鐘掃描一次加速器和現有加速器的使用情況,並將該信息以心跳信息的形式報告給Cyborg服務器,以幫助管理管理加速器的調度和可用性。
硬件管理:
可以使用Ansible來管理每個加速器及其驅動程序的配置文件和其他設置。將爲每一種支持的硬件安裝和卸載配置ansible playbook。
實例連接:
一旦生成實例,需要連接到主機上的某個加速器,Cyborg服務器將向Cyborg代理髮送消息,通知agent新實例。由於連接方法可能會在不同的加速器之間發生顯着變化,所以驅動程序應該提供一個連接功能來調用。