Elsevier

Journal of Systems Architecture

Volume 79, September 2017, Pages 45-58
Journal of Systems Architecture

Cluster-based multicore real-time mixed-criticality scheduling

https://doi.org/10.1016/j.sysarc.2017.07.001Get rights and content

Highlights

  • A cluster-based scheduling approach is proposed, to schedule the mixed-criticality task sets on multicore processors.

  • This approach uses smaller cluster sizes (sub-cluster) in low criticality mode, and relatively larger cluster sizes in high criticality mode, for better processor utilization.

  • A new task allocation scheme is proposed that allocates all mixed criticality tasks to subclusters in low criticality mode, and also allocates high criticality tasks to the clusters for high criticality mode scheduling.

  • For schedulability analysis, a fixed-priority response time analysis based on Audsleys approach is used for each sub-cluster and cluster of mixed-criticality tasks.

  • Experiments with randomly generated task sets showed that the proposed cluster-based scheduling approach performed better than partitioned and global mixed-criticality scheduling approaches.

Abstract

Cluster-based scheduling is recently gaining importance to be applied to mixed-criticality real-time systems on multicore processors platform. In this approach, the cores are grouped into clusters, and tasks that are partitioned among different clusters are scheduled by global scheduler in each cluster. This research work introduces a new cluster-based task allocation scheme for the mixed-criticality real-time task sets on multicore processors. For task allocation, smaller clusters sizes (sub-clusters) are used for mixed-criticality tasks in low criticality mode, while relatively larger cluster sizes are used for high criticality tasks in high criticality mode. In this research paper, the mixed-criticality task set is allocated to clusters using worst-fit heuristic. The tasks from each cluster are also allocated to its sub-clusters, using the same worst-fit heuristic. A fixed-priority response time analysis approach based on Audsley’s approach is used for the schedulability analysis of tasks in each cluster and sub-cluster. If the high criticality job is not completed after its worst case execution time in low mode, then the system is switched to high criticality mode. After mode switch, all the low criticalities tasks are discarded and only high criticality tasks are further executed in high criticality mode. Simulation results indicate that the percentage of schedulable task sets significantly increases under cluster scheduling as compared to partitioned and global mixed-criticality scheduling schemes.

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,...
  • R. Davis et al.

    A survey of hard real-time scheduling for multiprocessor systems

    ACM Comput. Surv.

    (2011)
  • J.M. Lopez et al.

    Utilization bounds for multiprocessor rate-monotonic systems

    Real-Time Syst.

    (2003)
  • S.K. Dhall et al.

    On a real-time scheduling problem

    Oper. Res.

    (1978)
  • G. Nelissen et al.

    Reducing preemptions and migrations in real-time multiprocessor scheduling algorithms by releasing the fairness

    RTCSA11

    (2011)
  • G. Nelissen et al.

    U-EDF: an unfair but optimal multiprocessor scheduling algorithm for sporadic tasks

    ECRTS12

    (2012)
  • P. Regnier et al.

    RUN: Optimal multiprocessor real-time scheduling via reduction to uniprocessor

    RTSS 11

    (2011)
  • E. Massa et al.

    Optimal and adaptive multiprocessor real-time scheduling: the quasi-partitioning approach

    ECRTS14

    (2014)
  • N. Audsley

    Optimal priority assignment and feasibility of static priority tasks with arbitrary start times

    (1991)
  • J.W.S. Liu

    Real-time systems

    Upper Saddle River

    (2000)
  • Vestal

    Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance

    Proc. of RTSS

    (2007)
  • F. Dorin et al.

    Schedulability and sensitivity analysis of multiple criticality tasks with fixed-priorities

    Real-Time Syst.

    (2010)
  • S. Baruah et al.

    Response-time analysis for mixed criticality systems

    Proc. of RTSS

    (2011)
  • S. Baruah et al.

    Towards the design of certifiable mixed-criticality systems

    Proc. of the 16th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)

    (2010)
  • D. Socci et al.

    Mixed critical earliest deadline first

    ECRTS

    (2013)
  • Z. Guo et al.

    Implementing mixed-criticality systems upon a preemptive varying-speed processor

    Leibniz Trans. Embedded Syst. (LITES)

    (2014)
  • Z. Guo et al.

    The concurrent consideration of uncertainty in WCET and processor speeds in mixed-criticality systems

    RTNS

    (2015)
  • S. Baruah et al.

    Scheduling real-time mixed- criticality jobs

    IEEE Transactions on Computation

    (2012)
  • H. Li et al.

    An algorithm for scheduling certifiable mixed criticality sporadic task systems

    Proc. of the 31st IEEE Real-Time Systems Symposium (RTSS)

    (2010)
  • N. Guan et al.

    Effective and efficient scheduling of certifiable mixed-criticality sporadic task systems

    Proc. of RTSS

    (2011)
  • O.R. Kelly et al.

    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)

    (2011)
  • Cited by (7)

    • A systematic review on security aware real-time task scheduling

      2023, Sustainable Computing: Informatics and Systems
    • Towards mixed criticality task scheduling in cyber physical systems: Challenges and perspectives

      2019, Journal of Systems and Software
      Citation 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.

    View all citing articles on Scopus

    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.

    View full text