With the popularization and development of multi-core architectures,embedded real-time systems are increasingly using the multiprocessor to improve performance of the system.In many applications,embedded systems are also needed to provide real-time response to multiple events,so the research of multi-core real-time scheduling algorithm is particularly important.Due to the lack of relevant research on testing multi-core real-time scheduling algorithms on actual embedded hardware platforms,this paper will implement a variety of real-time scheduling algorithms based on the Linux kernel and embedded multi-core architecture to test and analyze the performance of theoretical algorithms in actual embedded hardware.This paper first proposes a framework of real-time scheduling algorithms based on the Linux kernel and IMX6 Quad development board,then analyzes some common problems in the implementation of scheduling algorithms and test interfaces,and finally introduces the specific implementation and testing of various algorithms.In terms of sequential task scheduling algorithms,three algorithms,G-EDF,G-RM and DP-WRAP,are implemented.The data structure and code logic of these algorithms in the implementation are analyzed in detail based on the theoretical research of related algorithms.After the implementation of algorithms,the logical correctness of the corresponding algorithm is verified.By testing the scheduling decision overhead of the algorithm,it is found that the scheduling decision overhead and context switching times of greedy G-EDF and G-RM are less than DP-WRAP which is designed based on the fluid scheduling.In addition,according to the test results,the scheduling test framework implemented in this paper is closer to the scheduler in the actual system than the RESCH scheduling test framework.The implementation of parallel task scheduling algorithms includes G-EDF and G-RM based on direct scheduling,DAG-Str and DAG-Fluid based on model transformation,and Federated scheduling algorithm.Based on the theoretical research on parallel task scheduling,the implementation details of these algorithms are analyzed.The logic correctness of the these algorithms is verified,and the scheduling decision overhead of the these algorithms is tested.According to the results,it is concluded that fluid scheduling will increase the scheduling overhead in the implementation of the algorithm,and the idea of using the processor partition can reduce overhead.The multi-core real-time scheduling algorithm test framework constructed in this paper can test the performance of theoretical scheduling algorithms in the actual embedded hardware.Compared with related existing testbeds,it not only supports DAG parallel tasks,but is closer to the actual operating environment of embedded systems. |