• 沒有找到結果。

結論

在本研究中,我們試圖去探討多核心系統中的可平行化任務與不可平行化任務集合 的分配問題,由於任務無法在單一執行緒執行下符合即時執行需求,可平行化任務具 有三個執行片段,片段間有其執行順序,為了使片段的相對應子任務在分配至處理器 時,避免因考慮到執行順序限制而複雜化問題,因此,我們首先提出利用截限時間分 配機制,將整個任務的原週期切割分配給三個片段。而第二個片段在平行度為 1 時的 執行時間很長,甚至可能超過任務之週期,無法達到所需的即時需求,而由於系統中 有多個處理器,所以可以藉由提高平行度使得使用密度低於 1.0。但因為平行度越高,

平行化所帶來的額外增加執行時間將越長,所以選擇適當的平行度是很重要的。如果 能保證所有的子任務皆能符合自己的截限時間需求,那麼原任務即可滿足即時需求。

最重要的是,我們觀察到某一處理器中若有不同片段的子任務,子任務將因為截限時 間分配的關係,使得可執行區間將完全不會重疊,因此處理器只需要保留不同片段的 子任務之最大使用密度即可,這就是我們所提出的子任務使用密度合併機制,我們也 在論文中,提出與證明了不合併機制的正確性。利用 (子) 任務分配機制在分配子任務 時,盡量將不同片段的子任務放置在同一處理器中,藉此,能讓任務集合有可排程的 (子) 任務分配結果,換言之,也就是每個處理器上的 (子) 任務之使用密度總和皆不超 過 1.0。最後,我們以實驗方式驗證了相較於子任務使用密度不合併,子任務使用密度 合併機制對於可排程率帶來大幅度的提升。此外,我們也測試了在使用不同截限時間

設定機制,如 Equal Slack (EQS)、Equal Flexibility (EQF) 和 Boundary 等方法執行設 定每個片段之對應子任務的相對截限時間;並使用不同的 (子) 任務分配方式,如 Best Fit (BF)、First Fit (FF) 和 Worst Fit (WF) 將 (子) 任務分配到處理器中。

在未來研究方面,我們想擴大子任務使用密度合併機制至可平行化任務的片段組成 更複雜時,每個任務之片段個數不定,可平行化與不可平行化片段交錯。另外,也可 以考慮到當處理器速度不相同時,將會面臨到的問題與解決方式。

Bibliography

[1] Opencl, 2017. https://www.khronos.org/opencl/.

[2] Openmp, 2017. http://www.openmp.org/.

[3] H. Aydin and Q. Yang. Energy-aware partitioning for multiprocessor real-time sys-tems. In International Parallel and Distributed Processing Symposium (IPDPS), 2003.

[4] E. G. Coffman, M. R. Garey, and D. S. Johnson. Approximation algorithms for bin packing: a survey in approximation algorithms for np-hard problems. PWS, Boston, 1997.

[5] Ricardo Garibay-Martínez, Geoffrey Nelissen, Luis Lino Ferreira, and Luís Miguel Pinho. On the scheduling of fork-join parallel/distributed real-time tasks. In the 9th IEEE International Symposium on Industrial Embedded Systems (SIES), 2014.

[6] Chin-Fu Kuo, Yung-Feng Lu, and Tzu-Chieh Chen. Scheduling algorithm for parallel real-time tasks on multiprocessor systems. In 2016 ACM Research in Adaptive and Convergent Systems (ACM RACS 2016), 2016.

[7] Chin-Fu Kuo, Yung-Feng Lu, Shu-Ping Lu, and Ya-Ju Yu. Subdeadline assignment for real-time tasks with multiple parallelization options on multiprocessor systems.

2017 IEEE International Conference on Applied System Innovation (ICASI 2017), May. 2017.

[8] F J. Kwon, K.-W. Kim, S. Paik, J. Lee, and C.-G. Lee. Multicore scheduling of parallel real-time tasks with multiple parallelization options. In IEEE 21st Real-Time and Embedded Technology and Applications Symposium (RTAS), pages 232–

244, April 2015.

[9] Karthik Lakshmanan, Shinpei Kato, and Pittsburgh. Scheduling parallel real-time tasks on multi-coreprocessors. In IEEE Real-Time Systems Symposium (RTSS), 2010.

[10] Tobias Langer, Lukas Osinski, and J¨urgen Mottok. A survey of parallel hard-real time scheduling on task models and scheduling approaches. In the 30th International Conference on Architecture of Computing Systems (ARCS), April 2017.

[11] J. W. Layland. Real-Time System. Prentice Hall, 2000.

[12] Dawei Li and Jie Wu. Utility-based scheduling for periodic tasks with multiple parallelization options. In 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), 2016.

[13] Abusayeed Saifullah, Jing Li, Kunal Agrawal, Chenyang Lu, and Christopher Gill.

Multi-core real-time scheduling for generalized parallel task models. In IEEE Real-Time Systems Symposium (RTSS), 2011.

相關文件