能量限制下平行可規劃計算機架構的 即時排程
Real-Time Scheduling Tasks for Parallel Reconfigurable Com puting Architecture with Energy Constraints
國立台南大學 資訊工程系
陳泰林
2
大綱
介紹
相關工作
能量限制之即時排程演算法
實驗結果
結論
計算機架構
通用處理器 (General-purpose processor, GPP)
執行經由指令的提取、解碼,相關資源的運算、整合
,最後寫回儲存器
靈活性高,但耗費許多時間
特殊應用積體電路 (Application Specified Integrated Circuit, ASIC)
直接以硬體邏輯閘形式實現
效率高
成形的電路結構不可更動
3
可規劃計算
可規劃計算 (Reconfigurable Computing, RC)
藉由現場可程式規劃邏輯閘陣列
(Field Programmable Gate Array, FPGA) 實現
隨時可重組系統功能
擁有接近特殊應用積體電路 (ASIC) 的性能與通用 處理器 (GPP) 靈活性和容易使用的優點
Computing Architecture Flexibility Performance General purposeprocessor
(GPP) Yes Slow
Application Specified Integrated Circuit
(ASIC) No Fastest
Reconfigurable Computing (RC) Yes Fast
4
可規劃計算機架構
5
中央處理器 (CPU) 記憶體
(Main Memory)
設備輸出 / 輸入 (I/O)
可規劃處理單元
(Reconfigurable Processing Unit, RPU)
區域性記憶體 (Local Memory)
可規劃處理單元負責大量運算以及關鍵性的輸入 /
輸出運算
平行可規劃計算機架構
多指令多數據流 (multiple instruction, multiple data, MIMD) 的平行處理技術
結合多個可規劃處理單元 (Reconfigurable Processing Unit) 以及輸出輸入處理器
6
中央處理器 (CPU) 記憶體
(Main Memory)
設備輸出 / 輸入 (I/O)
……
可規劃處理單元 (Reconfigurable Processing Unit,
RPU)
區域性記憶體 (Local Memory)
可規劃處理單元 (Reconfigurable Processing Unit,
區域性記憶體 RPU) (Local Memory)
可規劃處理單元 (Reconfigurable Processing Unit,
區域性記憶體 RPU)
(Local Memory)
內部網路連接
目標與限制條件
目標: 提出一個以平行可規劃計算機為架構的排程方法
限制條件:
滿足可規劃計算機的能量限制 ( Energy Constraints)
即時 (Real Time) 完成
7
8
大綱
介紹
相關工作
能量限制之即時排程演算法
實驗結果
結論
最早截止日優先 (Early Deadline First , EDF) 排程
19
根據截止期限動態分配優先順序
截止期限越早,優先順序越高
截止期限越晚,優先順序越低
優點 : 系統使用率最高,確保每個任務都可以滿 足截止期限的要求
缺點 : 由於搶占任務需要消耗系統資源,實驗下
能量消耗較大
最早截止日優先 (Early Deadline First , EDF) 排程
210
設有 3 個工作任務 {
1,
2,
3} ,任務
i的抵達時間是 , 任務
i的執行時間是 t
i,任務的截止日期是
1
( C
1=0, t
1=7, D
1=18 ),
2( C
2=3, t
2=5, D
2=14 ),
3( C
3=4, t
3=2, D
3=15 ) ,設只有一個處理器
1
2
3
t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
最早截止日優先 (Early Deadline First , EDF) 排程
311
同樣情況下,任務
1( C
1=0, t
1=7, D
1=18 ),
2( C
2=3, t
2=5, D
2=14 ),
3( C
3=4, t
3=2, D
3=15 ) ,我們假設有兩個處理 器
P1 1 1 1 1 3 3 1 1 1
P2 2 2 2 2 2
t 0 1 2 3 4 5 6 7 8 9
最短剩餘時間優先 (Shortest Remain ing Time First, SRTF) 排程
112
根據執行時間動態分配優先順序
執行時間越短,優先順序越高
執行時間越長,優先順序越低
優點 :
平均等待時間最低的排程算法,並且可以在最短時間內完 成最多任務
任務配置有高成功率且能量消耗低
13
設有 3 個工作任務 {
1,
2,
3} ,任務
i的抵達時間是 , 任務
i的執行時間是 t
i,任務的截止日期是
1
( C
1=0, t
1=7, D
1=18 ),
2( C
2=3, t
2=5, D
2=14 ),
3( C
3=4, t
3=2, D
3=15 ) ,設只有一個處理器
1
2
3
t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
最短剩餘時間優先 (Shortest Remain
ing Time First, SRTF) 排程
2最短剩餘時間優先 (Shortest Remain ing Time First, SRTF) 排程
314
同樣情況下,任務
1( C
1=0, t
1=7, D
1=18 ),
2( C
2=3, t
2=5, D
2=14 ),
3( C
3=4, t
3=2, D
3=15 ) ,我們假設有兩個處理 器
P1 1 1 1 1 3 3 1 1 1
P2 2 2 2 2 2
t 0 1 2 3 4 5 6 7 8 9
15
大綱
介紹
相關工作
能量限制之即時排程演算法
實驗結果
結論
問題規劃
應用程式由 i 個工作 { , ,…, } 組成,任 務會依序執行,有順序之分
任務
i的執行時間是 t
i,任務的截止日期是 D
i,能量消耗的限制是
系統有 n 個可規劃處理單元 (RPU)
16
有向無迴圈圖 ( Directed Acyclic Graph, DAG )
17
每個節點代表一個任務,權重包含任務執行時間、期限 以及能量消耗
11 3, 3, 10
執行時間 (ti), 期限 (Di), 能量 (Pi)
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
基於能量限制的排程演算法架構
18
平行可規劃排程算法 (PRS)
增加 RPU 平行處理數量 能量限制下判斷有無任務無法即
時
完成 配置 RPU
有
否 動態能量管理方法
19
任務透過平行給規劃計算機做分工平行處理
採用動態優先權配置,任務可搶佔
執行時間最短優先權高,執行時間長的任務,隨 著等待時間增加進而提高優先權採用,時間優先 權越低優先執行 :
時間優先權 = 剩餘執行時間 - 等待時間
優點 : 能源消耗低且配置成功率高
平行可規劃排程算法 (Parallel Reconf
igurable Scheduling, PRS)
平行可規劃排程算法 - 排程例子
20
平行可規劃排程算法 , Parallel Reconfigurable Scheduling(PRS)
設系統配置 2 個 RPU ,下圖為程式執行之任務圖,以 DAG 模型 表示
1
1
執行時間 (ti), 期限 (Di), 能量 (Pi)
RPU1 RPU2
11 3, 3, 10
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
排程方式 (2)
21
執行時間為 3 個單位 ,
1 、 2執行完成 ,
3由 R PU
1執行 ,
5由 RPU
2執行
RPU1 RPU2
11 3, 3, 10
執行時間 (ti), 期限 (Di), 能量 (Pi)
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
1
1
2 2
排程方式 (3)
22
執行時間為 7 個單位 ,
4執行完成
執行時間為 8 個單位 ,
3執行完成 ,
5由 RPU
2執行 ,
6由 RPU
1執行
RPU1 RPU2
11 3, 3, 10
執行時間 (ti), 期限 (Di), 能量 (Pi)
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
1
1
2 2
3 3
排程方式 (4)
23
執行時間為 10 個單位 ,
5執行完成 ,
7由 RPU
2執 行
RPU1 RPU2
11 3, 3, 10
執行時間 (ti), 期限 (Di), 能量 (Pi)
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
1
1
2 2
4
3 3
排程方式 (5)
24
執行時間為 12 個單位 ,
6執行完成 ,
8由 RPU
1執
行
RPU1 RPU2
11 3, 3, 10
執行時間 (ti), 期限 (Di), 能量 (Pi)
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
1
1
2 2
4 3
4
3
排程方式 (6)
25
執行時間為 15 個單位 ,
7執行完成 ,
9由 RPU
2執 行
RPU1 RPU2
11 3, 3, 10
執行時間 (ti), 期限 (Di), 能量 (Pi)
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
1
1
2 2
4 3
4 3
5
排程方式 (7)
26
執行時間為 16 個單位 ,
8執行完成
執行時間為 21 個單位 ,
9執行完成 ,
10由 RPU
1執行
RPU1 RPU2
11 3, 3, 10
執行時間 (ti), 期限 (Di), 能量 (Pi)
22
3, 9, 10
33
5, 9, 17 4, 8, 16
44 5, 15, 16 77
66 55
99
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
1010 88
2, 32, 6 任務執行順序
1
1
2 2
4 3
4 3
5
5
排程結果 (RPU
1)
27
1
3
6
8
10
t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
執行時間為 t ,一格代表一個時間單位
排程結果 (RPU
2)
28
2
4
5
7
9
t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
執行時間為 t ,一格代表一個時間單位
能量限制解決方法
能量管理方法 :
採取機器學習中強化學習的方法
當預測到能量不足情況下增加 RPU 休眠時間 (S t) ,並重新排程任務 (at)
29
動 態 能 量 管 理 方 法 平 行 可 規 劃 性 計 算 機
S t
檢 查 狀 態 ( S t) 獎 勵 (r t)
決 策 (a t ) S t + 1
30
大綱
介紹
相關工作
能量限制之即時排程演算法
實驗結果
結論
31
實驗環境
FPGA 開發版 :AX7015 FPGA
ZYNQ 芯片是基于 XILINX 公司的 ZYNQ7000 系列
的 XC7Z015-2CLG485I
32
開發環境
作業系統 Window 10
Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
開發軟體 :Xilinx Vivado Design Suite 2018
作為專業的 FPGA 設計開發工具
提供了基於 IP , SOC 和系統開發工具
支援硬體描述語言 (HDL) :Verilog 和 VHDL
從 C 語言、 RTL 到 HDL ,高階至低階都能在 Vi
vado 套件的 GUI 環境中合成
33
能源比較 -2 個可規劃處理單元
PRS EDF EH-EDF
0 20 40 60 80 100 120 140
68.6
80.0 70.2
78.3
92.2 80.3
107.2
128.0 116.0
2 RPU 下能源消耗比較
10個任務 15個任務 25個任務
單位 (mW)
在 2 個 RPU 執行下,我的平行可規劃排程 (PR
S) 與使用 EDF 即時排程演算法以及 EH-EDF
即時排程演算法的能量消耗做比較
34
能源比較 -4 個可規劃處理單元
PRS EDF EH-EDF
0 20 40 60 80 100 120
56.5
66.7 58.5
65.3
76.9 67.0
80.1
106.7 96.7
4 RPU 下能源消耗比較
10個任務 15個任務 25個任務
單位 (mW)
在 4 個 RPU 執行下,我的平行可規劃排程 (PR
S) 與使用 EDF 即時排程演算法以及 EH-EDF
即時排程演算法的能量消耗做比較
35
效能比較 -2 個可規劃處理單元
在 2 個 RPU 執行下,不同的任務數量下,計 算時間比較
15 20 25 30 35
0 0.5 1 1.5 2 2.5 3
1.2 1.4
1.7 1.8 1.9
1.0
1.4 1.6 1.8 1.9
1.5
1.9
2.4 2.6 2.8
2 RPU 下計算時間比較
PRS EH-EDF EDF
執行任務數量
計算時間(S)
36
效能比較 -4 個可規劃處理單元
在 4 個 RPU 執行下,不同的任務數量下,計 算時間比較
15 20 25 30 35
0 0.5 1 1.5 2 2.5
0.9
1.1
1.4 1.4 1.5
0.8
1.1
1.3 1.4 1.4
1.2
1.6
1.8
2.1 2.2
4 RPU 下計算時間比較
PRS EH-EDF EDF
執行任務數量
計算時間(S)
37
任務配置成功率 -2 個可規劃處理單元
在 2 個 RPU 執行下,不同的任務數量下任務 成功率比較
15 20 25 30 35 40
50.0%
60.0%
70.0%
80.0%
90.0%
100.0%
110.0%
2RPU 下任務成功率
PRS EH-EDF EDF
執行任務數量
38
任務配置成功率 -4 個可規劃處理單元
在 4 個 RPU 執行下,不同的任務數量下任務 成功率比較
15 20 25 30 35 40
50.0%
60.0%
70.0%
80.0%
90.0%
100.0%
110.0%
4RPU 下任務成功率
PRS EH-EDF EDF
執行任務數量
39
大綱
介紹
相關工作
能量限制之即時排程演算法
實驗結果
結論
40
結論
本文提出了一個平行可規劃排程算法 (Parallel Reconfi gurable Scheduling, PRS)
提出了基於能量限制的排程演算法架構以及能量限制 管理方法
實驗結果顯示該演算法在能量限制下,有很高的配置 成功率