能量限制下平行可規劃計算機架構的 即時排程
Real-Time Scheduling Tasks for Parallel Reconfigurable Computing 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)排程 1
9
根據截止期限動態分配優先順序
截止期限越早,優先順序越高 截止期限越晚,優先順序越低
優點:系統使用率最高,確保每個任務都可以滿足 截止期限的要求
缺點:由於搶占任務需要消耗系統資源,實驗下能 量消耗較大
最早截止日優先(Early Deadline First, EDF)排程 2
10
設有3個工作任務{
τ
1,τ
2,τ
3},任務τ
i的抵達時間是Ci , 任務τ
i的執行時間是ti,任務τ
i的截止日期是Diτ
1 ( C1=0, t1=7, D1=18 ),τ
2 ( C2=3, t2=5, D2=14 ),
τ
3( C3=4, t3=2, D3=15 ) ,設只有一個處理器τ
1τ
2τ
3t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
最早截止日優先(Early Deadline First, EDF)排程 3
11
同樣情況下,任務
τ
1 ( C1=0, t1=7, D1=18 ),τ
2 ( C2=3,
t
2=5, D2=14 ),τ
3( C3=4, t3=2, D3=15 ),我們假設有兩個 處理器
P
1τ
1τ
1τ
1τ
1τ
3
τ
3
τ
1τ
1τ
1P
2τ
2
τ
2
τ
2
τ
2
τ
2
t 0 1 2 3 4 5 6 7 8 9
最短剩餘時間優先 (Shortest
Remaining Time First, SRTF)排程 1
12
根據執行時間動態分配優先順序
執行時間越短,優先順序越高 執行時間越長,優先順序越低
優點:
平均等待時間最低的排程算法,並且可以在最短時間內完 成最多任務
任務配置有高成功率且能量消耗低
13
設有3個工作任務{
τ
1,τ
2,τ
3},任務τ
i的抵達時間是Ci , 任務τ
i的執行時間是ti,任務τ
i的截止日期是Diτ
1 ( C1=0, t1=7, D1=18 ),τ
2 ( C2=3, t2=5, D2=14 ),
τ
3( C3=4, t3=2, D3=15 ) ,設只有一個處理器τ
1τ
2τ
3t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
最短剩餘時間優先 (Shortest
Remaining Time First, SRTF)排程 2
最短剩餘時間優先 (Shortest
Remaining Time First, SRTF)排程 3
14
同樣情況下,任務
τ
1 ( C1=0, t1=7, D1=18 ),τ
2 ( C2=3,
t
2=5, D2=14 ),τ
3( C3=4, t3=2, D3=15 ),我們假設有兩個 處理器
P
1τ
1τ
1τ
1τ
1τ
3
τ
3
τ
1τ
1τ
1P
2τ
2
τ
2
τ
2
τ
2
τ
2
t 0 1 2 3 4 5 6 7 8 9
15 大綱
介紹
相關工作
能量限制之即時排程演算法 實驗結果
結論
問題規劃
應用程式由i個工作{ , ,…, }組成,
任務會依序執行,有順序之分
任務
τ i
的執行時間是ti
,任務τ i
的截止日期是Di
, 能量消耗的限制是系統有n個可規劃處理單元(RPU)
16
有向無迴圈圖( Directed Acyclic Graph, DAG )
17
每個節點代表一個任務,權重包含任務執行時間、期限 以及能量消耗
1 3, 3, 10
執行時間(ti), 期限(Di), 能量(Pi)
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 7
5 6
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6
任務執行順序
基於能量限制的排程演算法架構
18
平行可規劃排程算法(PRS)
增加RPU平行處理數量 能量限制下判斷有無任務無法即
時
完成 配置RPU
有
否 動態能量管理方法
19
任務透過平行給規劃計算機做分工平行處理 採用動態優先權配置,任務可搶佔
執行時間最短優先權高,執行時間長的任務,隨 著等待時間增加進而提高優先權採用,時間優先 權越低優先執行:
時間優先權=剩餘執行時間-等待時間 優點:能源消耗低且配置成功率高
平行可規劃排程算法(Parallel
Reconfigurable Scheduling, PRS)
平行可規劃排程算法-排程例子
20
平行可規劃排程算法, Parallel Reconfigurable Scheduling(PRS)
設系統配置2個RPU,下圖為程式執行之任務圖,以DAG模型表示
1
1
執行時間(ti), 期限(Di), 能量(Pi)
RPU1 RPU2
1 3, 3, 10
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 6 7
5
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6 任務執行順序
排程方式(2)
21
執行時間為3個單位,
τ
1
、τ
2
執行完成,τ
3
由RPU1
執行,τ
5
由RPU2
執行RPU1 RPU2
1 3, 3, 10
執行時間(ti), 期限(Di), 能量(Pi)
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 6 7
5
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6 任務執行順序
1
1
2 2
排程方式(3)
22
執行時間為7個單位,
τ
4執行完成 執行時間為8個單位,
τ
3執行完成,
τ
5由RPU2執行,
τ
6由RPU1 執行
RPU1 RPU2
1 3, 3, 10
執行時間(ti), 期限(Di), 能量(Pi)
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 6 7
5
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6 任務執行順序
1
1
2 2
3
3
排程方式(4)
23
執行時間為10個單位,
τ
5執行完成,τ
7由RPU2執行RPU1 RPU2
1 3, 3, 10
執行時間(ti), 期限(Di), 能量(Pi)
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 6 7
5
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6 任務執行順序
1
1
2 2
4 3
3
排程方式(5)
24
執行時間為12個單位,
τ
6執行完成,τ
8由RPU1執行RPU1 RPU2
1 3, 3, 10
執行時間(ti), 期限(Di), 能量(Pi)
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 6 7
5
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6 任務執行順序
1
1
2 2
4 3
4
3
排程方式(6)
25
執行時間為15個單位,
τ
7執行完成,τ
9由RPU2執行RPU1 RPU2
1 3, 3, 10
執行時間(ti), 期限(Di), 能量(Pi)
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 7
5 6
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6 任務執行順序
1
1
2 2
4 3
4 3
5
排程方式(7)
26
執行時間為16個單位,
τ
8
執行完成執行時間為21個單位,
τ
9
執行完成,τ
10
由RPU1
執行RPU1 RPU2
1 3, 3, 10
執行時間(ti), 期限(Di), 能量(Pi)
2
3, 9, 10
3
5, 9, 17 4, 8, 16
4 5, 15, 16 6 7
5
9
2, 18, 7 4, 19, 12
6, 28, 25 4, 24, 13
10
8
2, 32, 6 任務執行順序
1
1
2 2
4 3
4 3
5
5
排程結果(RPU 1 )
27
τ
1τ
3τ
6τ
8τ
10t
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τ
9t
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21執行時間為t,一格代表一個時間單位
能量限制解決方法
能量管理方法:
採取機器學習中強化學習的方法
當預測到能量不足情況下增加RPU休眠時間(St),
並重新排程任務(at)
29
動態能量
管理方法 平行可規劃性計算機
St
檢查狀態 (St) 獎勵 (rt)
決策 (at)
St+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,高階至低階都能在 Vivado套件的GUI環境中合成
33 能源比較-2個可規劃處理單元
68.6
80.0 70.2
78.3
92.2 80.3
107.2
128.0 116.0
0 20 40 60 80 100 120 140
PRS EDF EH-EDF
單位(mW)
2 RPU下能源消耗比較
25個任務 15個任務 10個任務
在2個RPU執行下,我的平行可規劃排程(PRS) 與使用EDF即時排程演算法以及EH-EDF 即時 排程演算法的能量消耗做比較
34 能源比較-4個可規劃處理單元
56.5
66.7 58.5
65.3
76.9 67.0
80.1
106.7 96.7
0 20 40 60 80 100 120
PRS EDF EH-EDF
單位(mW)
4 RPU下能源消耗比較
25個任務 15個任務 10個任務
在4個RPU執行下,我的平行可規劃排程(PRS) 與使用EDF即時排程演算法以及EH-EDF即時 排程演算法的能量消耗做比較
35 效能比較-2個可規劃處理單元
在2個RPU執行下,不同的任務數量下,計算 時間比較
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
0 0.5 1 1.5 2 2.5 3
15 20 25 30 35
計算 時間
(S)
執行任務數量
2 RPU下計算時間比較
PRS EH-EDF EDF
36 效能比較-4個可規劃處理單元
在4個RPU執行下,不同的任務數量下,計算 時間比較
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
0 0.5 1 1.5 2 2.5
15 20 25 30 35
計算 時間
(S)
執行任務數量
4 RPU下計算時間比較
PRS EH-EDF EDF
37 任務配置成功率-2個可規劃處理單元
在2個RPU執行下,不同的任務數量下任務成 功率比較
50.0%
60.0%
70.0%
80.0%
90.0%
100.0%
110.0%
15 20 25 30 35 40
執行任務數量
2RPU下任務成功率
PRS EH-EDF EDF
38 任務配置成功率-4個可規劃處理單元
在4個RPU執行下,不同的任務數量下任務成 功率比較
50.0%
60.0%
70.0%
80.0%
90.0%
100.0%
110.0%
15 20 25 30 35 40
執行任務數量
4RPU下任務成功率
PRS EH-EDF EDF
39 大綱
介紹
相關工作
能量限制之即時排程演算法 實驗結果
結論
40 結論
本文提出了一個平行可規劃排程算法(Parallel Reconfigurable Scheduling, PRS)
提出了基於能量限制的排程演算法架構以及能量限制 管理方法
實驗結果顯示該演算法在能量限制下,有很高的配置 成功率
能量消耗以及處理速度相較都有不錯的表現