中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

編程語言中任務調度的并行算法是什么

發布時間:2022-01-11 09:17:18 來源:億速云 閱讀:107 作者:柒染 欄目:編程語言

編程語言中任務調度的并行算法是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

如果給定一批任務,比如有500個任務,需要在盡可能快的時間內做完。

如果串行是肯定不行的。我們可以考慮并行策略,但是開了并行,怎么能夠充分利用資源比較好呢。

這個問題在多年前做數據遷移的時候,逼得沒辦法,當時用shell寫了一個算法,可以參考這一篇。

海量數據遷移之使用shell啟用多個動態并行(r2筆記81天)

但是在自動化運維平臺中,我希望這個操作能夠更加通用,所以在程序端實現是極好的。

我先打算用Java來實現,然后轉義為Python版本,已經寫了大半部分,還沒有調試好,就先不放出來了,我把我的思路說一下。

假設有下面的一些任務,第一位是序號,第二位是任務需要花費的時間。

假設分為4個并行,即4組執行任務,每組執行任務該如何分配呢。

(1, 10),

(2, 30),

(3, 20),

(4, 50),

(5, 60),

(6, 30),

(7, 20),

(8, 10),

(9, 20),

(10,50),

所以放眼任務調度的方向上,我們都希望并行,但是絕大多數情況下,并行的效果其實不好,一種最重建的情況就是前半段在并行,后半段基本在等待。

假設我們按照如下的思路來完成,前四個元素是每組的一個元素,然后每組查看累計值的最小值,然后依次加入后續的元素。按照這種方法,得到的任務安排如下:

1 10 60 70

2 30 20 20 70

3 20 30 50 100

4 50 10 60

明顯這種方法有缺點,因為我們無法預知后續元素的大小,所以任務分配很不均勻。

所以我們需要排序,按照最大值,最小值的方式排序。

這樣一來,最大的4個元素分別位列每組的第一個元素。然后依次取得每組累計值的最小值,加入后續的元素。

分配情況如下:

1 50 20 70

2 60 20 80

3 50 20 10 80

4 30 30 10 70

明顯好很多。

關于編程語言中任務調度的并行算法是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沈丘县| 丹凤县| 临漳县| 永康市| 高邑县| 谷城县| 青岛市| 蒙山县| 正阳县| 南阳市| 康平县| 贵定县| 红安县| 乌拉特后旗| 永宁县| 壤塘县| 绥化市| 左贡县| 牙克石市| 文安县| 宁南县| 怀集县| 蒙城县| 博乐市| 天台县| 温宿县| 乌兰察布市| 乐山市| 清镇市| 德庆县| 陆河县| 灵山县| 灵台县| 吴忠市| 申扎县| 邓州市| 青田县| 稷山县| 华阴市| 同心县| 长丰县|