SEAMERS: A Semi-partitioned Energy-Aware scheduler for heterogeneous MulticorE Real-time Systems

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

Abstract

Over the years, the nature of processing platforms is witnessing a significant shift in most of the battery supported real-time systems, which now support a combination of specialized multicores to meet the demands of modern applications. Devising energy-efficient schedulers has become a critical issue for such kinds of devices. Hence, this research presents a low-overhead heuristic strategy named SEAMERS, for DVFS based energy-aware scheduling for a set of real-time periodic tasks on a heterogeneous multicore platform. The presented strategy operates in four phases, namely Deadline Partitioning, Core Clustering, Task Allocation and Energy-Aware Scheduling. Our experimental analysis shows that the presented strategy improves upon the state-of-the-art in terms of energy savings (16% to 47% on average) and enables significant improvement in resource utilization.

Introduction

Real-time safety-critical systems are employed in a broad range of applications, from basic home devices to complex X-by-wire systems in avionics and reactor control in nuclear plants. The employment of multicore platforms in such systems has become unavoidable because functional complexities and performance demands have continuously increased over the years [1]. As the systems evolve, the demand for higher performance at a lower energy consumption has become a major design constraint. To meet such requirements, the industry is advancing towards specialized processing cores, like multi-CPU platforms with graphics processing cores, signal processing cores, etc. With the advent of heterogeneous platforms such as ARM’s big.LITTLE, Nvidia Tegra, Samsung Exynos, etc., there is a need for embedded systems design strategies to adapt to these newer platforms [2], [3]. Given a group of real-time applications and a heterogeneous multicore processing platform, successfully guaranteeing timing, energy, and performance constraints is a scheduling problem. However, devising scheduling strategies for such systems with real-time constraints is a non-trivial exercise.

In literature, scheduling strategies for real-time multicore platforms either follow a partitioned or a global approach [4]. In a partitioned approach, a subset of tasks from the given task set is statically assigned to a core such that no task is assigned on more than one core. Subsequently, the problem of multicore scheduling boils down to a single-core problem, and any conventional single-core scheduling strategy can be used to schedule the tasks [4]. This provides an advantage of avoiding non-negligible inter-core migration overheads of tasks. However, optimal partitioning of tasks onto multicores has been a well-known bin packing problem [5], which is computationally intractable. An Integer Linear Programming (ILP) formulation to compute optimal partitioning of tasks on heterogeneous multicore platforms is presented in [6]. Authors in [7] propose a partitioned approach based strategy to minimize the makespan of the schedule for a group of independent tasks. However, it may be noted that using such an approach for multicore systems with a high number of cores and tasks is computationally expensive.

Global scheduling approach allows tasks to migrate among cores in an attempt to provide better resource utilization compared to the partitioning approach. There are several existing optimal scheduling strategies (with respect to resource utilization) for homogeneous multicore platforms like PFair [8], ERFair [9], DPFair [10] etc. but these are not suitable for heterogeneous platforms. Recently, researchers have started focusing on the development of strategies for heterogeneous platforms also. In [11], authors have presented an optimal task-assignment strategy for heterogeneous platforms consisting of only two different types of cores (such as ARM’s big.LITTLE, referred to as a two-type platform), which works in two phases. In the first phase, the authors have partitioned tasks onto available cores based on their execution requirements on the given core types. Subsequently, they use above mentioned optimal homogeneous scheduling strategies. Recently, another optimal global scheduling algorithm for two-type heterogeneous platforms has been proposed in [12]. Unfortunately, these optimal algorithms for heterogeneous platforms are only restricted to two-type platforms. Hence, there is a need for scheduling algorithms for heterogeneous platforms that support generic core types. However, as the number of tasks and core-count in a system increase, the need for inter-core migration of tasks also increases, which results in very high context-switch/migration overheads for the global approach and makes it an impractical one. Hence, researchers have proposed another approach called semi-partitioned, which appropriately does balancing between fully partitioned and global scheduling approaches. The semi-partitioned approach restricts the number of inter-core migrations a task may perform and/or the number of cores in which a task is allowed to migrate [4], [13], [14]. In [15], authors have proposed a heuristic scheduling strategy for scheduling periodic tasks on m-type heterogeneous platform, where m is the number of different types of cores present in the platform. However, the algorithm allows each task to migrate only once during its execution. The authors have further extended their algorithm to provide unrestricted migrations of tasks in [16].

Modern heterogeneous multicore platforms involve complex micro-architectural designs to fulfill the computational and performance requirements of real-time applications. Consequently, the energy consumption in these platforms has also increased drastically [17]. When such platforms’ computing ability is under-utilized, we may apply efficient reconfiguration techniques to control and reduce their energy consumption based on the computational requirements of the tasks executing on them. Traditionally, two energy management schemes are employed to reduce the energy consumption of the cores, at the operating system level: (i) Dynamic Power Management (DPM) [18], [19], where certain segments of a system are strategically turned off when the cores are in an idle state, and (ii) Dynamic Voltage and Frequency Scaling (DVFS) [18], which controls power consumption by scaling the operating voltage/frequency, on-the-fly. Modern platforms support per-core DVFS to provide fine-grain control over energy consumption. This work employs the latter technique on heterogeneous multicore platforms to achieve energy savings.

Devising energy and resource-efficient scheduling strategies for real-time systems deployed on a heterogeneous platform is a computationally demanding problem. Many researchers have attempted to solve this problem in recent years. However, most of the existing works have been focused on multicore platforms containing identical (i.e., homogeneous) cores [18]. There are only a few works that consider heterogeneous platforms. In [20], two Earliest Deadline First (EDF) algorithm based heuristic strategies have been proposed to reduce the energy consumption on heterogeneous multicore systems. Authors in [21] presented a task assignment strategy for standby-sparing platforms. Awan et al. proposed the Maximum Minimum algorithm, which does energy-aware allocations of real-time tasks on a heterogeneous multicore platform [22]. However, this scheme may lead to under-utilization of resources due to its non-migrative nature. In [23], authors have proposed an energy-aware scheduling strategy for DVFS enabled heterogeneous platforms. However, the strategy suffers from high context-switch/migration overheads. The existing works on heterogeneous platforms did not consider the variation of power consumption of different tasks on the same core, which might happen due to their instruction types [24]. In this work, we propose a low-overhead per-core DVFS based semi-partitioned energy-aware scheduler, SEAMERS, which provides significantly better energy savings and resource utilization compared to state-of-the-art [22]. Due to its semi-partitioned nature, SEAMERS incurs fewer inter-core task migrations with respect to [23]. Now, we summarize the major contributions of this work:

  • Development of a low-overhead resource-aware partitioning strategy called FORM-CLUSTERS, which partitions a heterogeneous multicore into a set of dual-core clusters and does task-to-cluster allocation in such a way that resource constraints are satisfied as well as task energy consumption is reduced.

  • Given a task-to-cluster allocation, we develop a per-core scheduling strategy called TASK-SCHEDULE, which carefully schedules the tasks so that task preemptions and migrations are bounded in a time-slice.

  • Using a per-core task execution schedule, a DVFS based energy-aware scheme named EA-ASSIGN has been developed, which tries to reduce the dynamic power consumption of the cores.

  • Experimental results show that our proposed strategy outperforms state-of-the-art [22], [23] strategies not only in terms of energy savings (16% to 47% on average) but also enables significant improvement in resource utilization (as high as 40%).

Section snippets

Specifications

We have considered a system which comprises of a set of n periodic tasks T={T1,T2,,Tn} to be assigned and scheduled on a set of m heterogeneous multicores V={V1,V2,,Vm}. All the processing cores are able to operate on a discrete normalized set of frequencies F={f1,f2,,fmax}, such that, fmax represents the highest normalized frequency of 1 and all other frequencies lie between (f1fmax) and 1. Each occurrence of a periodic task Ti is associated with an execution requirement of ei (at fmax),

Proposed algorithm

The proposed strategy SEAMERS works in four phases to prepare a DVFS based schedule for a set of real-time periodic tasks T executing on a heterogeneous multicore platform V. The first phase computes the set of time-slices within a hyperperiod using deadline partitioning [10]. The second phase computes clusters of cores based on the energy requirements of tasks on all available cores within a time-slice. Simultaneously, it also does task-to-cluster assignments in this phase. The third phase

Experimental setup and results

The experimental results of the SEAMERS algorithm have been compared against two algorithms: i. Maximum Minimum-Modified (MM-M), a variation of the Maximum Minimum (MM) [22] algorithm and, ii. HEART [23]. It may be noted that while MM is a partition-oriented energy-aware scheduling strategy for periodic tasks on a DVFS enabled heterogeneous multicore system, HEART is a semi-partitioned one. Since, the original MM algorithm offers significantly low resource utilization due to its partitioned

Conclusion

In this work, we have presented a cluster-oriented scheduling strategy named, SEAMERS, which performs per-core DVFS based task scheduling on a heterogeneous multicore platform. The presented strategy considers execution requirements of given tasks as well as their energy consumption on different cores, to perform scheduling in the system. The experimental analysis shows that our presented scheme is not only able to appreciably improve acceptance ratios for task sets but also offers better

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Sanjay Moulik: 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. Thereafter, he completed his Ph.D. degree in the department of Computer Science and Engineering from IIT Guwahati, India. He is currently Assistant Professor at IIIT Guwahati, India. His current research interests include Energy

References (39)

  • J. Anderson, A. Srinivasan, Pfair scheduling: beyond periodic task systems, in: Real-Time Computing Systems and...
  • AndersonJ. et al.

    Mixed Pfair/ERfair scheduling of asynchronous periodic tasks

  • LevinG. et al.

    DP-FAIR: A simple model for understanding optimal multiprocessor scheduling

  • RaraviG.

    Task assignment algorithms for two-type heterogeneous multiprocessors

    Real-Time Syst.

    (2014)
  • ChwaH. et al.

    Optimal real-time scheduling on two-type heterogeneous multicore platforms

  • MoulikS. et al.

    TARTS: A temperature-aware real-time deadline-partitioned fair scheduler

    J. Syst. Archit.

    (2020)
  • MoulikS. et al.

    EA-HRT: An energy-aware scheduler for heterogeneous real-time systems

  • MoulikS. et al.

    A deadline-partition oriented heterogeneous multi-core scheduler for periodic tasks

  • S. Moulik, R. Devaraj, A. Sarkar, HETERO-SCHED: A low-overhead heterogeneous multi-core scheduler for real-time...
  • Cited by (17)

    • FATS-2TC: A Fault Tolerant real-time Scheduler for energy and temperature aware heterogeneous platforms with Two types of Cores

      2023, Microprocessors and Microsystems
      Citation Excerpt :

      There have been numerous works in literature that have focused on improving various performance parameters for real-time systems via scheduling. These works can be categorized as either hardware-accelerated task schedulers [3–8] or software implementations of task schedulers [9–13]. We have focused on designing a scheduler based on the second category in the proposed work.

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

      2022, Microprocessors and Microsystems
      Citation Excerpt :

      Our work is different from theirs as we focus on hard-real-time Java systems. The research works in [40–44] propose multi-phase heuristic strategies using DVFS-based energy-aware scheduling for a set of real-time periodic tasks on heterogeneous multicore platforms. These heuristic strategies have many novel concepts, but they need a complex processor and operating system to execute the techniques, e.g., task migration, on the other hand, we have low power hardware solution which executes Java programs without an operating system, e.g., in our solution Sleep or DFS modes can be executed within 19 clocks by the hardware using specific bytecodes.

    • TSSA: Task structure-aware scheduling of energy-constrained parallel applications on heterogeneous distributed embedded platforms

      2022, Journal of Systems Architecture
      Citation Excerpt :

      This provides great potential to meet the requirements for both performance and energy because different types of cores can provide different energy efficiency and performance. However, its heterogeneity also brings complexity to task scheduling [16–19]. The power-aware software designed to reduce energy consumption is a classic scheme, and DVFS technology is one of the most commonly used technologies in sustainable computing systems [20].

    View all citing articles on Scopus

    Sanjay Moulik: 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. Thereafter, he completed his Ph.D. degree in the department of Computer Science and Engineering from IIT Guwahati, India. He is currently Assistant Professor at IIIT Guwahati, India. His current research interests include Energy and Temperature Aware multicore scheduler designs for real-time systems.

    Zinea Das: Zinea Das is a 4th 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.

    Rajesh Devaraj: Rajesh Devaraj received the B.E. degree from Alagappa Chettiar Government College of Engineering and Technology, Karaikudi, Tamilnadu, India, in 2008, and the M.Tech. and Ph.D. (Dual-Degrees) from the Department of Computer Science and Engineering, Indian Institute of Technology (IIT) Guwahati, Assam, India, in 2018. Prior to joining IIT, he was with HCL Technologies as a FPGA RTL Verification Engineer. He is currently working as a Senior System Software Engineer at Nvidia Graphics, Bangalore, India. His research interests include scheduling strategies in real-time and embedded systems, fault-tolerant computing, supervisory control of discrete event systems.

    Shounak Chakraborty: Shounak Chakraborty is currently associated with the Department of Computer Science, NTNU, Trondheim, Norway since January 1, 2019, as a Post-Doc researcher (through ERCIM Fellowship). Primarily, his broad area of research in Computer Architecture, however, specifically, his research interests include High-Performance Computer Architectures, Power-Efficient Memory Systems, and Thermal Aware Architectures, etc. Before his joining at NTNU, Norway, Shounak earned his Ph.D. degree in Computer Science and Engineering from IIT Guwahati, India in 2018. After completion of his Ph.D., Shounak served as an Assistant Professor in the Department of Computer Science and Engineering, IIIT Guwahati, India (July 2018–December 2018).

    View full text