A Framework for the Development of Parallel and Distributed Real-Time Embedded Systems

Ricardo Garibay-Martinez, Luis Lino Ferreira, Luis Miguel Pinho
2012 2012 38th Euromicro Conference on Software Engineering and Advanced Applications  
Real-time embedded systems are part of our everyday life. These systems range from the traditional areas of military and mission critical to domestic and entertainment applications. The aim of real-time systems is to execute applications in a way that those applications met their temporal constraints. Most of the results for real-time systems are based on the sequential real-time execution model, where intra-task parallelism is forbidden. In the last decade real-time researchers have started to
more » ... focus their attention on the case of multi-threaded parallel real-time task models. In these models, concurrent real-time activities are allowed to become parallel and to be processed in more than one processor at the same time. Despite the fact that parallel computations in multi-processors can offer an increased processing capacity, the multi-threaded parallel real-time task models have not considered the cases in which a distributed execution also exists. Such execution pattern can be used to provide even more capabilities and processing power. Furthermore, in some applications the use of parallel distributed computations is the only possibility in which the applications can comply with their time constraints. An example of such type of applications is modern automotive applications, which need to execute computational intensive applications (e.g., infotainment or driver assistance applications). Consequently, design frameworks that allow the workload to be distributed in peak situations by both parallel and distributed processors are required. Such scenarios require the integration of distributed computations with parallel real-time models. In a distributed system, the transmission delay of messages cannot be considered negligible as in the case of multi-processors systems, therefore, their impact on the schedulability of the system has to be considered. The fork-join Parallel/Distributed real-time (P/D task) model proposed in this thesis is designed to consider such execution pattern. P/D task model is derived from observing the execution of parallel and distributed programs (e.g. OpenMP, MPI). The thesis proposes a scheduling algorithm for P/D tasks, the Parallel/Distributed Deadline Monotonic Scheduling (P/D-DMS). The thesis also proposes two heuristics for task partitioning and priority assignment for the linear transactional model and the P/D tasks model, the Distributed using Optimal Priority Assignment (DOPA) heuristic and the Parallel-DOPA (P-DOPA) heuristic, respectively. A holistic analysis technique for P/D tasks is also proposed. The holistic approach allows to consider the systems as a whole, and an improved analysis is proposed based on that holistic view of the system. The allocation of P/D tasks is later extended by considering distributed multi-core nodes. The extension is based on the constraint programming approach. The analysis and iii iv proposals presented in this thesis are validated through simulations and an experimental evaluation.
doi:10.1109/seaa.2012.60 dblp:conf/euromicro/Garibay-MartinezFP12 fatcat:ennxrr2m5vfbngbdedp56nje2e