On the Complexity of Scheduling Conditional Real-Time Code

  • Authors:
  • Samarjit Chakraborty;Thomas Erlebach;Lothar Thiele

  • Affiliations:
  • -;-;-

  • Venue:
  • WADS '01 Proceedings of the 7th International Workshop on Algorithms and Data Structures
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

Many real-time embedded systems involve a collection of independently executing event-driven code blocks, having hard real-time constraints. Portions of such codes when triggered by external events require to be executed within a given deadline from the triggering time. The feasibility analysis problem for such a real-time system asks whether it is possible to schedule all such blocks of code so that all the associated deadlines are met even in the worst case triggering sequence. Each such conditional real-time code block can be naturally represented by a directed acyclic graph whose vertices correspond to portions of code having a straight-line flowof control and are associated with execution requirements and deadlines relative to their triggering times, and the edges represent conditional branches. Till now, no complexity results were known for the feasibility analysis problem in this model, and all existing algorithms in the real-time systems literature have an exponential complexity. In this paper we show that this problem is NP-hard under both dynamic and static priorities in the preemptive uniprocessor case, even for a set of only two task graphs. For dynamic-priority feasibility analysis we give a pseudo-polynomial time exact algorithm and a fully polynomial-time approximation scheme for approximate feasibility testing. For the special case where all the execution requirements of the vertices are identical, we present a polynomial time exact algorithm. For static-priority feasibility analysis, we introduce a new sufficient condition and give a pseudo-polynomial time algorithm for checking it. This algorithm gives tighter results for feasibility analysis compared to those known so far.