The analysis presented in this thesis considers the problem of processing a media stream by a system consisting of a chain of given off-the-shelf software components, executed on a scarce-resource embedded platform. Each component corresponds to a task, and the communication between tasks is buffered. The essential requirement on the physical platform is cost-effectiveness, and the requirement on the system is robustness. These requirements lead to minimizing the resources made available to the system to the limit that it remains robust. In the context of this work the robustness criteria for a system are meeting the system real-time constraints. The real-time constraints come from the fact that media processing systems must display audio/video information at a certain rate in order to avoid audio/video artefacts. This implies that the degree in which the real-time constraints are met directly influences the quality of service provided by the system. To ensure that the timing constraints are met, the chain is provided with a guaranteed resource budget. Within the chain, the tasks are scheduled using fixed priority scheduling. Due to the dependencies between the tasks, and their different behaviors, it is difficult to predict the behavior of the chain. Hence, it is difficult to determine the minimum needed resource budget, to predict chain response time, to minimize buffer sizes and context switch overhead, and to reason about chain composition. The current practice in the domain of media processing systems lacks a theoretical underpinning that helps designers and developers beyond intuition and experience. Such a theory is also needed to control the chain behavior at design time, to make sure timing requirements are met even in overload situations. This thesis provides an underlying theory that helps engineers to reason rigorously about system behavior and associated resource needs. It starts from the experimental observation that, under certain conditions, a media processing chain assumes a repetitive behavior, the stable phase, after a finite initial phase. Starting from this observation a theoretical model for the execution of streaming chains in media processing systems is built. The general strategy is to analyze streaming systems in an incremental manner starting from a simple theoretical case, to realistic streaming chains that include branching and more complex types of components. 213 214 The approach allows calculating the execution order of the components in a chain, expressed as a trace of actions taken by each component. The analysis formally proves that the behavior of the chain can be expressed as a unique trace, which, under certain conditions imposed at chain design time, assumes a repetitive pattern after a finite prefix. The trace is completely determined by the individual traces of the components, the computation times of the component actions, the topology of the chain, the capacities of the communication buffers, and the static priorities of the components. Given the computation times for each action in the trace, the associated schedule can be derived. The unique trace of actions and the schedule prove an excellent starting point for further analysis. Start times and response times of the individual components and the complete chain are immediately available. The number of context switches, and the position of the context switches in the component traces, which is an indicator for their overhead cost, can be extracted from the trace. Aside of that, the theory provides corollaries showing how to design the system such that each of the above parameters can be optimized. Also, given the individual traces of the components and the channel constraints, the minimum necessary and sufficient capacities for each buffer in the chain are calculated. Finally, the analysis shows the conditions to be imposed at design time such that even in overload situations the chain satisfies (during an infinite suffix of the unique trace) its real-time constraints that influence directly the quality of service provided.
|Qualification||Doctor of Philosophy|
|Award date||16 Apr 2008|
|Place of Publication||Eindhoven|
|Publication status||Published - 2008|