Multi-core embedded real-time systems are widely used in consumer electronics. Multi-core real-time scheduling upon performance-critical embedded systems(Weapon control, Avionics, etc.) is the hot topic in the academic. In the dissertation, we proposed several Multi-core real-time scheduling algorithms, protocols and parallel programming model, which support shared resource accessing, to improve the timeliness and dependability of multi-core real-time systems. The main contributions of this dissertation are as following.Firstly, a novel algorithm Minimizing multiple-Priority Inversion Protocol(MPIP) was proposed to switch real-time tasks from preemptive state to non-preemptive state to minimize multiple-priority inversion caused by low priority task on local processor. This protocol suitable for both multi-core systems and distributing systems. With properties of MPIP, a lower upper bound blocking time during shared resource accessing is deduced. The experiments show the outperformance of MPIP, in comparison with the MPCP protocol.Next, with rapid development of Graphics Processing Units(GPU) technologies, GPUs are strongly motivated to be adopted in many real-time applications, thus, we presented two new real-time algorithms for multi-core-GPUs system with different shared resources MCGSP(multi-core-GPUs platform system with different shared resources) and HMGSR(hybrid multi-core-GPUs with global/local shared resources). The algorithms requires two parts to construct; the first part is: classifying the multi-core-GPUs-shared resources by a new clustering method, where this method assumed that the platform combines the GPUs, CPUs and shared resources by one cluster. This algorithms organized by partition scheduling under MPCP protocol. The Second part is: presenting an innovative mechanism for scheduling GPUs with shared resources in multi-core system, by this mechanism, the locking time for the shared resources is decreased.Based on the above algorithms and protocols, a new programming model for hybrid multi-core-GPUs with global/local shared resources is designed. In the model, CPUs and GPUs are grouped in one cluster with local shared resources, and the global shared resources are grouped by an unique global cluster, where the global/local shared resources are governed by global and local semaphore respectively.Then, based on OpenMP technique, a new platform for multi-core hard real time system(Multi-Core-OpenMP-SRs platform in Hard Real Time System) was developed. From the properties of OpenMP parallel programming, OpenMP unit had been designed. The purpose of this unit is that using the OpenMP unit in multi-core system to be alternative for the GPU in free GPU systems. The construction to this platform requires to three steps; first step; clustering the multi-core-shared resources, second step; building the OpenMP unit from available cores, and third step; designing the mechanism which govern the OpenMP unit to be compatible with whole cores and shared resources. The performance of this platform was compared with classical multi-cores platform under MPCP locking protocol. This platform showed its outperform with comparing with MPCP protocol.Finally, according to the above platforms and algorithms, a new platform and scheduling policy(Global Hybrid Multi-core-GPUs-OpenMP-Resources Platform in Hard Real Time System) was presented. In which a new semaphore protocol was also applied in CPUs+GPUs multi-core system. The performance was evaluated in multiple operations on OpenCL language. The proposed method and policy is possible to be a reference for the application designers. |