Cluster-based multicore real-time mixed-criticality scheduling
Introduction
Single-chip multicore processors are widely used in modern safety-critical real time embedded systems, providing tremendous computing capability for integrating multiple functionalities. Such a system having the applications of different functionalities or criticalities is called mixed-criticality system. This integration of functionalities on a shared platform in the mixed-criticality system is considered by the designers in order to meet stringent non-functional requirements, such as, cost, space, weight, power consumption and heat generation. For example, multiple functionalities of different criticalities are integrated on the same platform in ARINIC653 [1]. Mixed-criticality system poses significant challenges to the design of safety-critical real time embedded systems.
The design of mixed-criticality systems is subjected to certification at different criticality levels by the certification authority (CA) for their successful deployment. The concern of CA is only the temporal correctness of the safety-critical part of the mixed-criticality system, while the responsibility of system designer is to ensure that the entire system operates correctly, including both the safety-critical and non-critical parts. In avionics, the CA guarantees the temporal correctness of the flight-critical functionalities under very pessimistic assumptions (e.g. worst case execution times calculated from static analysis of a code). The system designer guarantees the correctness of both flight-critical and mission-critical functionalities under less pessimistic assumptions (e.g. worst case execution times from the measurements of a code). Therefore, keeping the requirements of the CA and system designer in mind, there is a need to investigate an efficient scheduling strategy which can guarantee the temporal correctness of both safety-critical and non-critical parts of the mixed-criticality system on the multicore platform.
Multicore real-time scheduling is primarily based on either partitioned or global-scheduling approach [2]. In partitioning-based approach, a task is allocated to a single core. This approach has the advantage of using the well-established uniprocessor scheduling theory for scheduling the subset of tasks allocated to each core [3]. But the partitioned approach suffers from bin-packing limitations. As the utilization of a task set increases, the utilization of a task in the task set also increases. Due to this reason, the bin-packing effects increases, i.e. there could be unused space on the processor onto which a task could not fit, resulting a decreasing in the schedulability of task sets. In contrast, the global scheduling approach has a single queue of ready jobs and tasks are allocated across multiple cores. Thus, a task can also migrate from one core to another at runtime. The global approach can offer better processor utilization for task sets, when preemption and migration costs (overhead) are ignored. But due to the Dhall effect [4], the global scheduling can have poor performances for some pathological task sets with some low-utilization.
An optimal global multiprocessor scheduling algorithm named U-EDF (Unfair-Early Deadline First), is presented in [5] for scheduling the periodic tasks on the clusters of processors. This algorithm performs more efficiently for the smaller number of processors, and hence seems to be the best alternative to use on the cluster-based multiprocessor platforms [6]. Similarly, another optimal global multiprocessor scheduling algorithm named RUN (Reduction to UNiprocessor), was presented in [7] for the scheduling of periodic tasks. This algorithm partitions tasks into subsets, whereas each subset of tasks is assigned to a subset of processors. The subset of tasks is scheduled on a subset of processors, using virtual clustering. The QPS (Quasi-Partitioned Scheduling) is another optimal algorithm, capable of scheduling the tasks on identical processors [8]. This algorithm partitions the system tasks into minor and major execution subsets. Each minor execution subset requires one processor, while each major execution subset requires multiple processors. The QPS also schedules the subset of tasks on a subset of processors, using virtual clustering.
Recently, cluster-based scheduling has been investigated for scheduling real-time tasks on multicore processors. This approach groups cores into clusters, and tasks are partitioned (allocated) among different clusters. After allocating tasks to a cluster, different global scheduling policies can be used to schedule the tasks in a cluster. Please note that cluster scheduling is a general approach, which becomes partitioned scheduling when each cluster contains one core. It will also reduce to global scheduling when a single cluster contains all the cores. However this approach has not been applied for scheduling the mixed-criticality real-time tasks on multicore processors platform. Thus the basic goal of our research work is to apply the cluster-based approach to mixed-criticality real-time multicore systems, devising new algorithms for task allocation and scheduling the mixed-criticality tasks on such platform.
The efficiency of the cluster-based approach can be explored by using the priority-assignment and task-allocation dimensions for the mixed-criticality tasks on real-time multicore processors. For the priority-assignment dimension, an optimal solution can be generated for tasks priorities by using the Audsley’s priority assignment algorithm [9], to schedule the mixed-criticality tasks in each cluster for execution. For task-allocation dimension, bin packing inspired heuristics such as first-fit, best-fit and worst-fit have been used, especially when the tasks are first ordered according to utilization [10]. In mixed-criticality systems, the tasks are also first ordered according to criticality (like utilization) and then assigned to the cores for scheduling.
The paper is organized as follows. Section 2 describes the prior related work on mixed-criticality scheduling and explains how the contributions in this paper fit in with the related work. Section 3 presents the system model and provides an overview of framework for the proposed cluster-based approach. The research motivation is described in Section 4. Section 5 proposes efficient task allocation heuristics for the clusters and sub-clusters. The proposed cluster-based scheduling of tasks in the mixed-criticality systems is discussed in Section 6. Simulation results comparing the three scheduling approaches are presented and discussed in Section 7. Section 8 concludes the paper and gives future directions.
Section snippets
Related work and our contribution
Fixed-priority approach is initially used to schedule the mixed-criticality tasks on uniprocessor platform. Mixed-criticality scheduling is introduced by Vestal [11]. For scheduling tasks in mixed-criticality systems, he extended fixed-priority response-time analysis of sporadic tasks for this purpose [11]. Later on, Dorin et al. [12] proved in their research work that Vestal algorithm is optimal only for fixed-task-priority preemptive algorithms. Baruah et al. [13] also introduced novel
System model
This section provides an overview of framework for the proposed cluster based approach. In this approach, smaller clusters sizes (sub-clusters) are used in low criticality mode due to smaller utilization of each mixed-criticality task in low mode. After mode switch from low criticality into high criticality, the low criticality tasks are stopped and the utilizations of high-criticality tasks are increased in high mode. The smaller cluster sizes have bin-packing effects for the heavy
Research motivation
For real-time systems on multiprocessor platform, existing approaches are typically divided into partitioning and global-scheduling classes. In this section, problems of mixed-criticality tasks scheduling in both approaches are described. A cluster-based approach is proposed for mixed-criticality real-time systems on multiprocessor platform, for handling the problems in both approaches.
The proposed task allocation for mixed-criticality systems
The main focus of the research work in this section is task allocation to clusters and sub-clusters on a multicores platform. The bin-packing-inspired partitioning heuristics can be applied to allocate tasks to clusters and sub-clusters in mixed-criticality system. In this research work, WF heuristic is used to allocate the mixed-criticality task set to clusters. The tasks from each cluster are allocated to its sub-clusters using same WF heuristic. In low criticality mode, the individual task
Cluster-based scheduling and priority assignment to tasks of mixed-criticality systems
In this section, fixed-priority response time analysis [39] is used for globally scheduling the mixed-criticality tasks in each cluster and sub-cluster, for high criticality mode and low criticality mode, respectively. Bertogna [41] showed through simulation results that the response time analysis test for global fixed-priority scheduling outperforms all the other tests for global fixed-priority and global earliest deadline first scheduling. For the schedulability analysis, a priority is
Experimental evaluation
The effectiveness of the proposed algorithm is evaluated on a cluster workload of characterized mixed criticality task sets. The efficiency of proposed scheme is studied by comparing the cluster-based approach with the partitioned and global approaches. A simulator is developed in java programming language for this purpose. The experimental results show that the performance of the cluster-based approach is significantly better than the other two approaches.
Conclusion and future work
In this research paper, a cluster-based scheduling scheme is proposed for real-time mixed criticality systems on multicore processors. In low criticality mode, the utilization of a task is small, therefore smaller cluster sizes (sub-clusters) are used in low mode. After mode switch from low criticality into high criticality, the utilization of each high-criticality task increases, therefore larger cluster sizes are used in high mode. A new algorithm is proposed that allocates tasks to the
Acknowledgment
This research was partly supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Science, ICT & Future Planning (No. NRF-2015R1A1A1A05001369), and by “Human Resources Program in Energy Technology” of the Korea Institute of Energy and Resources Technology Evaluation & Planning (KETEP) funded by the Ministry of Trade, Industry & Energy (No. 20174030201440).
Amjad Ali received his Ph.D degree in Informatics from Gyeongsang National University, Korea, in 2016, and his B.Sc. and MS degrees in Computer Science from the University of Peshawar in Pakistan in 1997 and 2010 respectively. In 2000, he obtained his M.Sc. degree in Computer Science from Gomal University in Pakistan. He worked as lecturer in University of Peshawar from 2001 to 2011. Since 2012, he has been an assistant professor at the Department of Computer and Software Technology, University
References (42)
- ARINC653 - An Avionics Standard for Safe, Partitioned Systems, Wind river systems / IEEE seminar,...
- et al.
A survey of hard real-time scheduling for multiprocessor systems
ACM Comput. Surv.
(2011) - et al.
Utilization bounds for multiprocessor rate-monotonic systems
Real-Time Syst.
(2003) - et al.
On a real-time scheduling problem
Oper. Res.
(1978) - et al.
Reducing preemptions and migrations in real-time multiprocessor scheduling algorithms by releasing the fairness
RTCSA11
(2011) - et al.
U-EDF: an unfair but optimal multiprocessor scheduling algorithm for sporadic tasks
ECRTS12
(2012) - et al.
RUN: Optimal multiprocessor real-time scheduling via reduction to uniprocessor
RTSS 11
(2011) - et al.
Optimal and adaptive multiprocessor real-time scheduling: the quasi-partitioning approach
ECRTS14
(2014) Optimal priority assignment and feasibility of static priority tasks with arbitrary start times
(1991)Real-time systems
Upper Saddle River
(2000)
Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance
Proc. of RTSS
Schedulability and sensitivity analysis of multiple criticality tasks with fixed-priorities
Real-Time Syst.
Response-time analysis for mixed criticality systems
Proc. of RTSS
Towards the design of certifiable mixed-criticality systems
Proc. of the 16th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)
Mixed critical earliest deadline first
ECRTS
Implementing mixed-criticality systems upon a preemptive varying-speed processor
Leibniz Trans. Embedded Syst. (LITES)
The concurrent consideration of uncertainty in WCET and processor speeds in mixed-criticality systems
RTNS
Scheduling real-time mixed- criticality jobs
IEEE Transactions on Computation
An algorithm for scheduling certifiable mixed criticality sporadic task systems
Proc. of the 31st IEEE Real-Time Systems Symposium (RTSS)
Effective and efficient scheduling of certifiable mixed-criticality sporadic task systems
Proc. of RTSS
On partitioned scheduling of fixed-priority mixed-criticality task sets
Proc. of the 10th IEEE International Conference on Trust, Security and Privacy in Computing and Communications (IEEE TrustCom-11)
Cited by (7)
A systematic review on security aware real-time task scheduling
2023, Sustainable Computing: Informatics and SystemsTowards mixed criticality task scheduling in cyber physical systems: Challenges and perspectives
2019, Journal of Systems and SoftwareCitation Excerpt :A clustered scheduler is a hybrid approach between the partitioned and global schedulers which refers to a group of processing units where each cluster is divided into sub-clusters. This method has the following benefits (Awan et al., 2017; Ali and Kim, 2017): Basic tasks are grouped into subsets that are assigned to processing units and executed sequentially, resulting in zero intra-cluster overhead.
Parallelised Multithreaded Applications on a 4-core Field Programmable Gate Array (FPGA) Architecture
2022, Recent Advances in Electrical and Electronic EngineeringReal-time performance analysis of distributed multithreaded applications in a cluster of ARM-based embedded devices
2022, International Journal of High Performance Systems ArchitectureCluster formation techniques for hierarchical real time tasks allocation on multiprocessor system
2021, Concurrency and Computation: Practice and Experience
Amjad Ali received his Ph.D degree in Informatics from Gyeongsang National University, Korea, in 2016, and his B.Sc. and MS degrees in Computer Science from the University of Peshawar in Pakistan in 1997 and 2010 respectively. In 2000, he obtained his M.Sc. degree in Computer Science from Gomal University in Pakistan. He worked as lecturer in University of Peshawar from 2001 to 2011. Since 2012, he has been an assistant professor at the Department of Computer and Software Technology, University of Swat. His research interests include real-time systems, power-aware computing and fault-tolerance computing.
Kyong Hoon Kim received his B.S., M.S., and Ph.D. degrees in Computer Science and Engineering from POSTECH, Korea, in 1998, 2000, 2005, respectively. Since 2007, he has been a professor at the Department of Informatics, Gyeongsang National University, Jinju, Korea. From 2005 to 2007, he was a post-doctoral research fellow at CLOUDS lab in the Department of Computer Science and Software Engineering, the University of Melbourne, Australia. His research interests include real-time systems, grid and cloud computing, and security.