CPU GPU集群計算中的一種動態負載均衡設計方法

2021-07-05 20:38:48 字數 917 閱讀 9417

在cpu+gpu協同計算中,cpu和gpu的計算能力不同,靜態地給cpu和gpu劃分任務會導致cpu和gpu計算不同步,導致嚴重的負載不均衡,為了實現cpu和gpu的負載均衡,需要對cpu和gpu不同的劃分方法。把每個節點上的所有cpu看成乙個裝置,每塊gpu卡看成乙個裝置,對集群節點上的所有cpu裝置和gpu裝置分別編號,每個節點上有m塊gpu卡,n個節點上共有n個cpu裝置,編號為1,2,…,n;n個節點上共有m*n個gpu裝置,編號為1,2,…,m*n。

裝置編號之後就可以對裝置進行分組,根據演算法的要求,有些任務不能細分,乙個cpu裝置或gpu裝置上可用的記憶體空間可能不能滿足計算的記憶體要求,需要多裝置資料劃分、共同計算,這時需要根據cpu記憶體或gpu記憶體進行分組:1)根據cpu記憶體大小和計算對記憶體的要求可以計算得到一組內的cpu裝置數目為gc個, gc=(mcom+memc-1)/memc,其中乙個節點的記憶體大小為memc,每個計算任務需要的記憶體大小為mcom。所有的cpu裝置分為n/gc個組,每個組計算同乙個任務,組內的cpu裝置再進行資料劃分,資料劃分採用靜態的劃分,因為組內的cpu裝置計算能力一致;2)根據gpu記憶體大小和計算對記憶體的要求可以計算得到一組內的gpu裝置數目為gg個, gg=(mcom+memg-1)/mem,其中,乙個gpu裝置的記憶體大小為memg,每個計算任務需要的記憶體大小為mcom。所有的gpu裝置分為m*n/gg個組,每個組計算同乙個任務,組內的gpu裝置再進行資料劃分,資料劃分採用靜態劃分的方法。

cpu和gpu裝置分組之後,就可以把任務動態分劃分給每個cpu組或gpu組,可以採用mpi通訊進行劃分,由主程序進行動態的傳送任務編號給各個cpu組或gpu組內的組長,組長再把任務編號廣播給組內的組員,然後組內的裝置同時計算,計算完畢之後即可向主程序請求下乙個任務,直到所有任務計算完畢為止。

一種計算留存的思路

在一些統計系統中,為了觀察使用者的粘度,我們會計算一系列的叫做留存的指標 次日註冊留存 2日註冊留存.n日註冊留存,比如昨天註冊了1000名使用者中,在今天有300名使用者又登入了,那麼對應於昨天的註冊留存就是30 如果再去細究,還可以去計算活躍使用者的留存情況,比如昨天登入的1000名使用者中,在...

一種計算e的方法

原理 平均e個 0,1 之間的隨機數之和會大於1.原因 n個數之和小於1的概率是1 n 則n個數之和大於1的概率則是1 1 n 恰好n個數之後大於1的概率,等於n個數之後大於1的概率減去n 1個數之和大於1的概率,即 1 1 n 1 1 n 1 n 1 n 則n的期望為 sum n 1 n n su...

apache tomcat的集群 另一種方式

www.test.com proxypass it proxypass life proxypass live 注意,此項設定最好新增在httpd.conf檔案 section 2 以後的位置,伺服器192.168.1.1 3也應是具有相應功能的www伺服器,在重啟服務時,最好用apachectl ...