CPSLab Cyber-Physical Systems Lab, Boston University

Publications Memory & Shared-Resource Management

Optimizing resource speed for two-stage real-time tasks

Alessandra Melani, Renato Mancuso, Daniel Cullina, Marco Caccamo, Lothar Thiele

Real-Time Systems, 2017

Read the PDF Publisher page (DOI) Cite

Fig. 1: Considered platform model for single-core (a) and multi-core (b) case.

Abstract

Multiple resource co-scheduling algorithms and pipelined execution models are becoming increasingly popular, as they better capture the heterogeneous nature of modern architectures. The problem of scheduling tasks composed of multiple stages tied to different resources goes under the name of “flow-shop scheduling”. This problem, studied since the ‘50s to optimize production plants, is known to be NP-hard in the general case. In this paper, we consider a specific instance of the flow-shop task model that captures the behavior of a two-resource (DMA-CPU) system. In this setting, we study the problem of selecting the optimal operating speed of the two resources with the goal of minimizing power usage while meeting real-time schedulability constraints. In particular, we derive an algorithm that finds the optimal speed of one resource while the speed of the other resource is kept constant. Then, we discuss how to extend the proposed approach to jointly optimize the speed of the two resources. In addition, applications to multiprocessor systems and energy minimization are considered. All the proposed algorithms run in polynomial time, hence they are suitable for online operation even in the presence of variable real-time workload.

Cite this paper

@article{melani2017optimizing,
  title     = {{Optimizing resource speed for two-stage real-time tasks}},
  author    = {Melani, Alessandra and Mancuso, Renato and Cullina, Daniel and Caccamo, Marco and Thiele, Lothar},
  journal   = {Real-Time Systems},
  year      = 2017,
  volume    = {53},
  number    = {1},
  pages     = {82--120},
  publisher = {Springer Netherlands},
  doi       = {10.1007/s11241-016-9259-y},
  url       = {https://doi.org/10.1007/s11241-016-9259-y}
}

Download .bib