HEARS: A heterogeneous energy-aware real-time scheduler

https://doi.org/10.1016/j.micpro.2019.102939Get rights and content

Abstract

Developing energy-efficient schedulers for real-time heterogeneous platforms executing periodic tasks is an onerous as well as a computationally challenging problem. As a result, today we are confronting a scarcity of real-time energy-aware scheduling techniques which are applicable to heterogeneous platforms. Hence, this research proposes a heuristic strategy called, HEARS, for DVFS enabled energy-aware scheduling of a set of periodic tasks executing on a heterogeneous multicore system having an arbitrary number of core types. The presented scheme first applies deadline-partitioning to acquire a set of distinct time-intervals called frames. At any frame boundary, the following two-phase hierarchical operation is applied to obtain schedule for the next frame: First, it computes execution requirements for each task on every processing core of the platform. For any task, its execution requirement on a core within a frame depends upon the following criteria: (i) Length of the ensuing frame, (ii) Total execution requirements of the instance of the task on different cores (as a single task may have different execution requirement on different cores) and, (iii) Deadline of the instance of the task. Next, it simultaneously allocates each task on one or more cores and selects operating frequencies for the concerned cores such that the total execution demand of all the allocated tasks are satisfied as well as there is minimum change in energy consumption for the system. Experimental results show that our proposed strategy is not only able to achieve appreciable energy savings with respect to state-of-the-art MaxMin (2% to 37% on average) but also enables significant improvement in resource utilization (as high as 57%).

Introduction

Real-time Systems - Basics: A real-time system is characterized by it’s dual notion of correctness: logical and temporal [1]. Hence, the correctness of a real-time system is not only judged by the logical result but also the time at which they are achieved, failure to which may have a catastrophic effect. Safety-critical applications such as reactors in nuclear plants, anti-lock braking systems in vehicles, pacemakers in health-care, fly-by-wire in aircrafts etc. are examples of real-time systems. Many real-time systems support applications having infinite sequence of recurrent tasks [2]. A recurrent task typically represents few lines of code whose execution is triggered by external events that may happen in their operating environment and must complete within a stipulated time bound called deadline. Each execution of the task is referred to as a task instance or job. A recurrent task is said to be periodic if any two consecutive instances of the same task are always separated by a fixed inter-arrival time. Periodic tasks may be executed either preemptively or non-preemptively. In preemptive execution, a job which is currently executing on a processor may be interrupted at any time and resumed later. No such interruption is allowed during non-preemptive execution.

Heterogeneous Platforms: Over the years, we have witnessed a significant shift in the nature of processing platforms in real-time embedded systems. For example, a modern System-on-Chip platform contains multicore processors with specialized digital signal processing cores, graphics processing cores, customizable FPGAs, ASIPs, ASICs etc. In this work, we have considered heterogeneous (or unrelated) platforms [3], [4] which are based on same ISA architecture but with computing elements of different specifications. On such a platform, the same piece of code may need different amounts of execution time on different processing cores. Given a set of real-time applications modeled as periodic tasks and a heterogeneous multicore processing platform, successfully satisfying all timing related specifications is ultimately a scheduling problem.

Scheduling on Multiprocessor Heterogeneous Platforms: Traditionally, schedulers for real-time tasks on multicores/processors can be broadly classified into the following three categories: non-migrative, intra-migrative and fully-migrative. In non-migrative scheduling, a task is allotted on a specific core and is never allowed to migrate to any other core. Such an approach has the benefit of converting the multicore scheduling problem to a set of unicore ones. Hence, simple unicore scheduling algorithms such as Earliest Deadline First (EDF), Rate Monotonic (RM) etc. may be used. An additional advantage of this approach is that migration related overheads such as loss in cache affinity and inter-core task-state transfer, are completely avoided due to the strict partitioning of tasks onto distinct individual cores. However, strict partitioning has its own associated drawbacks. The achievable resource utilization for non-migrative approaches may be very low and sensitive to the actual partition derived for a given task-set instance especially for heterogeneous platforms where tasks are non-uniformly affined to different cores with respect to their execution efficiencies. Thus, an efficient partitioning strategy may deliver significantly better resource utilizations compared to simple bin packing schemes [5], [6] like first fit, next fit, worst fit etc. However, optimal partitioning is a well known NP-hard problem and hence, online partitioning strategies typically have to resort to heuristic sub-optimal methods.

Intra-migrative scheduling relaxes strict partitioning by allowing tasks to migrate among similar cores only. Once tasks are allocated to processing core groups, the scheduling problem boils down to a set of homogeneous multicore scheduling problems. Optimal online homogeneous multicore scheduling approaches such as Pfair [7], ERFair [8], DPFair [9] etc. may be used to schedule the tasks associated with each processing core group. Compared to a non-migrative scheme, this approach is marked by higher achievable resource utilizations and lower partitioning related overheads.

Fully-migrative approaches allow tasks to transit between all processing cores in the platform, and hence offers better schedulability than its two previous counterparts. In [10], the authors have proposed an algorithm to optimally schedule independent preemptive aperiodic tasks on systems having m heterogeneous cores. However, the algorithm requires O(m2) preemptions/migrations in the worst case. According to [4], this strategy can be further extended to optimally schedule periodic tasks, although this results in further increase in the number of preemptions and inter-core task migrations. Recently, Chwa et al. [11] extended the DPfair scheduling strategy and proposed Hetero-Fair, a global optimal algorithm for the scheduling of periodic tasks on heterogeneous multicores with two types of processing cores (for example, ARM’s big.LITTLE [4]; referred to as two-type platform).

Energy-Aware Scheduling: Nowadays, many of the embedded systems like PDAs, laptops, mobiles etc. depend upon battery as their principal source of energy. Hence, these devices are not only judged by their real-time functional performance but also by their efficiencies in terms of energy management. A lot of research has been conducted towards energy management of these devices at various levels of abstraction starting from firmware and hardware to architectural, system and even application levels. Typically, two energy management schemes are employed at the operating system level: (i) Dynamic Power Management (DPM) [12], where particular parts of a system are turned off strategically when the processors are in idle state, and (ii) Dynamic Voltage and Frequency Scaling (DVFS) [12], which reduces power dissipation by exploiting the relation between the power consumption and supply voltage/execution frequency while satisfying both resource and timing constraints for a set of real-time tasks.

Our Work: In a system with heterogeneous (unrelated) cores, weight of the same task may vary on different cores, even when the cores run at the same frequency. As the cores are unrelated, the same tasks will have different shares corresponding to each core within a frame. It becomes a challenge to schedule migrating tasks without having any overlapped execution across multiple cores within a frame. Hence, it is difficult to provide an optimal scheduler for heterogeneous platforms having an arbitrary number of core types and it is still an open research problem. Although, some of the works in literature attempt to address the problem of energy-aware scheduling for heterogeneous platforms, they do not allow migration of tasks within the system often leading to significantly lower resource utilizations. However, efficient resource utilization is a critical design criteria in many embedded systems as it helps in minimizing the number of required resources, thereby reducing design cost. Thus, with efficient energy management and resource usage as primary objectives, we propose, HEARS, a DVFS enabled energy-aware scheduling strategy which offers high resource utilizations in heterogeneous multicore platforms. The salient features of the proposed strategy can be summarized as follows:

  • While performing task-to-core allocation, HEARS not only considers execution and energy demands of the tasks under consideration but also considers the current operating frequencies of the cores. It sequentially allocates each task on one or more processing cores such that there is minimum change in energy consumption for the system.

  • Using an efficient task-to-core allocation strategy, HEARS is able to achieve high resource utilization and thus deliver significant performance improvement over state-of-the-art MaxMin [13] approach, while incurring only a bounded number of inter-core task migrations.

  • By employing energy saving heuristic, HEARS is able to deliver appreciable energy savings compared to the state-of-the-art MaxMin [13].

  • Extensive simulation based experiments have been carried out using real-world applications taken from Parsec [14] and Mälardalen [15] benchmarks. To verify the efficacy of our algorithm, we carried out experiments based on synthetic task sets as well. Experimental results show that our proposed strategy is not only able to significantly improve acceptance ratios of task sets on a given heterogeneous platform but also reduce dynamic energy consumption in the system.

Organization: In the next section, we present some of the related work done in this field and then we explain the specifications used in our work. Next, we present our proposed algorithm in Section 4. We also present the Time Complexity Analysis of the proposed algorithm at the end of Section 4. Next, in the Section 5, we first present an illustrative example followed by the experimental set up. Then experimental results have been discussed at end of Section 5. Finally, in Section 6, we conclude our work.

Section snippets

Related works

The problem of scheduling in a multiprocessor platform has been studied for many years. PFair algorithms [7], [8] form the class of the first known optimal multiprocessor scheduling strategies for homogeneous platforms. With the advent of heterogeneous multi-core platforms such as Nvidia Tegra [16], ARM’s big.LITTLE [4] etc., there is a need for embedded systems design strategies to adapt to these newer platforms. Raravi et al. [17] proposed a task-to-core allocation algorithm for a

System model

The system under consideration consists of a set of n periodic tasks T={T1,T2,,Tn} to be scheduled on a set of m heterogeneous multicores V={V1,V2,,Vm} which can operate on a discrete normalized set of frequencies F={f1,f2,,fmax}, such that, fmax represents the normalized frequency of 1 and all other frequencies lie between (f1fmax) and 1. The frequency set (Table 1) available in Nexus 4 with quad-core Snapdragon S4 Pro-processor, has been used to carry out the experiments. Each instance of

Proposed scheduling scheme

The proposed scheduling scheme HEARS is a two-level hierarchical resource allocation strategy. At the first level, it applies deadline partitioning (similar to DPFair [9]) to compute a set of frames, where a single frame is the interval between two consecutive deadlines corresponding to the set of ready tasks. Next, within each frame, HEARS schedules tasks onto available cores, such that each task receives its appropriate execution share and operating frequencies of the cores are scaled

Experimental set up and results

We have implemented the HEARS algorithm and compared the same against MaxMin-M, a variation of the MaxMin [13] algorithm. MaxMin is a DVFS based energy-aware task partitioning scheme for periodic tasks executing on a heterogeneous multicore platform. Before presenting the detailed experimental set up and results, we now provide an overview of MaxMin.

Overview of MaxMin [13]: MaxMin is a heuristic energy-aware task allocation strategy targeted towards heterogeneous processing platforms. It uses a

Conclusion

In this paper, we have proposed a low-overhead heuristic strategy called, HEARS, for the energy-aware scheduling of a set of periodic tasks on a heterogeneous multicore platform. Experimental studies show that our proposed scheduling scheme is able to significantly improve acceptance ratios for task sets and energy savings of the platform, compared to the state-of-the-art MaxMin [13].

Declaration of Competing Interest

We don’t have conflict of interest from any reviewer.

Sanjay Moulik received the B. Tech. degree in Computer Engineering and Engineering from West Bengal University of Technology (WBUT), Kolkata, India, in 2008, and the M.E. degree in Information Technology from Jadavpur University, Kolkata, India, in 2011. He is currently Assistant Professor at IIIT Guwahati, India and simultaneously pursuing PhD degree from IIT Guwahati, India. His current research interests include Energy and Temperature Aware multicore scheduler designs for real-time systems.

References (35)

  • S. Moulik et al.

    Energy aware frame based fair scheduling

    Sustainable Computing: Informatics and Systems

    (2018)
  • N. Binkert et al.

    The gem5 simulator

    ACM SIGARCH Comput. Archit. News

    (2011)
  • G. Buttazzo

    Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications

    (2011)
  • S.K. Baruah

    A general model for recurring real-time tasks

    Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279)

    (1998)
  • R.I. Davis et al.

    A survey of hard real-time scheduling for multiprocessor systems

    ACM Computing Surveys (CSUR)

    (2011)
  • S. Baruah, M. Bertogna, G. Buttazzo, Multiprocessor scheduling for real-time...
  • S. Baruah et al.

    Multiprocessor fixed-priority scheduling with restricted interprocessor migrations

    15th Euromicro Conference on Real-Time Systems, 2003. Proceedings.

    (2003)
  • J. Malkevitch

    Bin packing and machine scheduling

    (2004)
  • S.K. Baruah et al.

    Proportionate progress: a notion of fairness in resource allocation

    Algorithmica

    (1996)
  • J.H. Anderson, A. Srinivasan, Early-release fair scheduling, in: 12th Euromicro Conference on Real-Time Systems, IEEE,...
  • S. Funk

    Dp-fair: a unifying theory for optimal hard real-time multiprocessor scheduling

    Real-Time Syst.

    (2011)
  • E.L. Lawler et al.

    On preemptive scheduling of unrelated parallel processors by linear programming

    J. ACM (JACM)

    (1978)
  • H.S. Chwa, J. Seo, J. Lee, I. Shin, Optimal real-time scheduling on two-type heterogeneous multicore platforms, in:...
  • N.K. Jha

    Low power system scheduling and synthesis

    Proceedings of the 2001 IEEE/ACM International Conference on Computer-aided Design

    (2001)
  • M.A. Awan et al.

    Energy-aware task mapping onto heterogeneous platforms using dvfs and sleep states

    Real-Time Syst.

    (2016)
  • P. University, Princeton application repository for shared-memory computers (PARSEC), url:...
  • J. Gustafsson et al.

    The Mälardalen WCET Benchmarks – Past, Present and Future

    (2010)
  • Cited by (14)

    • Energy-aware scheduling, compilation, and execution of hard-real-time multi-task Java programs

      2022, Microprocessors and Microsystems
      Citation Excerpt :

      They did not build an offline energy-aware scheduling method, which is a big part of our solution. Researchers in [25] developed energy-aware scheduling of a set of periodic tasks executing on a heterogeneous multicore system using the DVFS mechanism. They allow context switch overheads (∼ 5.4 microseconds each time) in their algorithm, and their scheduler is online, whereas we target a hard real-time system with no scope for big context switch overhead and our scheduler is offline; our frequency change is done through a single bytecode which is accounted for while calculating the WCET of the task.

    • Energy-aware primary/backup scheduling of periodic real-time tasks on heterogeneous multicore systems

      2021, Sustainable Computing: Informatics and Systems
      Citation Excerpt :

      This research effort investigates energy-efficient and fault-tolerant implementation of periodic real-time systems upon heterogeneous dual core systems. While energy-efficiency and fault tolerance on heterogeneous cores have been recently investigated [17–23], the focus was mostly on frame-based systems where all tasks share a common period and deadline. However, actual implementation of many real-time systems are based on general periodic tasks which are invoked at different rates [24]; so we believe this study fills an important gap.

    • TMDS: Temperature-aware Makespan Minimizing DAG Scheduler for Heterogeneous Distributed Systems

      2023, ACM Transactions on Design Automation of Electronic Systems
    View all citing articles on Scopus

    Sanjay Moulik received the B. Tech. degree in Computer Engineering and Engineering from West Bengal University of Technology (WBUT), Kolkata, India, in 2008, and the M.E. degree in Information Technology from Jadavpur University, Kolkata, India, in 2011. He is currently Assistant Professor at IIIT Guwahati, India and simultaneously pursuing PhD degree from IIT Guwahati, India. His current research interests include Energy and Temperature Aware multicore scheduler designs for real-time systems.

    Rishabh Chaudhary is currently pursuing his B. Tech. degree in Computer Science and Engineering department from IIIT Guwahati, India. His current research interests include Energy-Aware scheduling techniques for embedded systems.

    Zinea Das is a 3rd year B. Tech student in the Computer Science and Engineering Department at Indian Institute of Information Technology, Guwahati, India. She possess Gold medal in Maths Olympiad by Science Olympiad Foundation. Her area of research is real-time systems.

    View full text