2.3 Prior Work
2.3.3 Real-Time Task Graph Scheduling
In this dissertation, we consider a particularly expressive directed-acyclic-graph-based (DAG-based) formalism, the processing graph method (PGM) [69]. To our knowledge, PGM has not been considered before in the context of global real-time scheduling algorithms. However, the issue of scheduling PGM graphs on a uniprocessor was extensively considered by Goddard in his dissertation [51]. Since his work inspired the research done on multiprocessor PGM graph scheduling in this dissertation, we provide a detailed review on Goddard’s work in the following.
2.3.3.1 Uniprocessor PGM Scheduling
Among models that allow the DAG-based precedence constraints to be expressed, the processing graph method (PGM) [69] is of great interest and importance. First developed by the U.S. Navy, PGM has been widely used in many signal processing applications such as radar sensing [51, 69].
12The task system considered in [71] is assumed to have only one self-suspending task, with the rest being ordinary sporadic tasks with no suspensions.
PGM generalizes common forms of DAG-based dependencies and considers data communications among nodes (as discussed in Section 2.3.3).
HRT PGM scheduling on uniprocessors. The issue of scheduling HRT PGM task systems on a uniprocessor was extensively considered by Goddard in his dissertation [51]. A major emphasis of his dissertation is schedulability analysis pertaining to uniprocessor PGM task systems. To derive such analysis, Goddard applied a two-phase approach. First, according to the PGM specification [69], non-source nodes in a PGM graph execute following arate-basedpattern (as defined in Section 2.1.5), regardless of whether the source node executes according to a rate-based pattern (i.e., the source node could execute according to periodic or sporadic pattern). Goddard presented techniques for computing the execution rates (as defined below) for nodes in a PGM graph. Second, he presented conditions for verifying the schedulability of the resulting task set under a rate-based, EDF scheduler.
More specifically, Goddard first showed that according to PGM, the execution relationship between connected nodes in a PGM graph can be specified by execution rates that represent a rate-based execution pattern (defined in Section 2.1.5). Moreover, in order to avoid data loss, an execution of a node in a PGM graph must be valid. An execution of a node is valid iff (i) the corresponding task executes only when it is eligible for execution and no two executions of the same node overlap, (ii) each input queue has its tokens atomically consumed after each output queue has its tokens atomically produced, and (iii) tokens are produced at most once on an output queue during each node execution. An execution of a PGM graph isvalidiff all of its nodes have valid execution rates and no data loss occurs.
After computing the execution rates for PGM nodes, Goddard further showed that a PGM graph can be implemented as a rate-based DAG (defined in Section 2.1.6). After implementing PGM graphs in a given PGM task system as RBE tasks, Goddard then presented conditions for verifying the schedulability of the resulting task set under a rate-based, EDF scheduler. Specifically, prior schedulability analysis pertaining to the RBE task model [61] was directly applied to derive schedulability conditions. This schedulability analysis established a schedulability condition for an RBE task set that can be evaluated in pseudo-polynomial time if the total utilization of the task set does not exceed one. Moreover, for the special case wheredi=yi holds for every RBE taskτi, the
schedulability condition evaluation can be reduced to the polynomial-time schedulability condition Pn i=1 xi yi · ei≤1.
2.3.3.2 Other Prior Work on Real-Time Task Graph Scheduling
There are two processing graph models that are similar to PGM: thesynchronous dataflow(SDF) graph model[73] and thelogical application stream model(LASM) [29, 30]. Although we focus on PGM graphs in this dissertation, our results can also be applied to these graph models.
SDF. The SDF graph model was first proposed by Lee and Messerschmitt [73] to develop signal processing applications. The SDF graph model is in fact a subset of the PGM graph model. The main difference between PGM graphs and SDF graphs is that a queue’s threshold value must equal its consume value in an SDF graph, whereas PGM only requires that the consume amount must be at most the threshold. For uniprocessor platforms, several efforts [22, 73, 107, 108, 119] have been made to minimize memory usage by creating various online scheduling algorithms. The online algorithms create static node execution schedules that are executed periodically by the uniprocessor. For TFP scheduling on a uniprocessor, Parks and Lee [98] studied the applicability of non-preemptive RM scheduling to SDF graphs. For multiprocessor platforms, Bekooijet al. presented a dataflow analysis based upon time division multiplexing (TDM) scheduling on applications modeled as SDF graphs [16]. To improve upon [16], Moreiraet al.developed a resource allocation heuristic [90] and a TDM scheduler combined with static allocation policies [89, 91].
LASM. The LASM was first proposed by Chatterjee and Strosnider [29, 30] to develop multimedia applications. It is remarkably similar to PGM, although it was developed independently ten years after PGM was developed. The main difference between LASM and PGM is due to different node execution models. LASM requires a node to execute periodically, which is a reasonable requirement for multimedia applications but adds latency (compared to the RBE model) to a signal in a signal processing application. The work on PGM graphs [51, 69] improves on the analysis of LASM graphs by not requiring periodic execution of the nodes in the graph. The adopted rate-based graph execution model can more accurately predict processor demand without imposing the additional latency created by periodic node execution.
Graph scheduling in distributed systems. The scheduling of real-time graphs in distributed sys- tems (which must be scheduled by partitioning approaches) has also been considered. For example, Jayachandran and Abdelzaher have presented delay composition rules that provide a bound on the end-to-end delay of jobs in partitioned distributed systems that include DAGs [59] or graphs with cyclic precedence constraints [58]. These rules permit a graph system to be transformed so that uniprocessor schedulability analysis can be applied. Offline schedulability tests have also been proposed by Palencia and Pellizzoni for scheduling tasks with precedence constraints in distributed real-time systems comprised of periodic tasks [95, 99]. Several schedulability tests have also been presented by by Kao and Zhang to divide the end-to-end deadline of tasks into per-stage dead- lines such that uniprocessor schedulability tests can then be applied to determine if each stage is schedulable [64, 118].
Our contributions. To the best of our knowledge, globally-scheduled multiprocessor systems that allow DAG-based precedence constraints to be expressed have not been considered before. Thus, how to support real-time DAG-based task systems on multiprocessors under global scheduling was an open problem. Our contributions in dissertation is to support SRT PGM task graphs on multiprocessors using global scheduling algorithms and distributed systems using clustered schedulers.