Pau Arumi's thesis

Thesis document

Title : Real-time Multimedia Computing on Off-the-Shelf Operating Systems: From Timeliness Dataflow Models to Pattern Languages

Find here the thesis document in a single pdf: pauarumi_thesis.pdf

Thesis defense

Abstract

Software-based multimedia systems that deal with real-time audio, video and graphics processing are pervasive today, not only in desktop workstations but also in ultra-light devices such as smart-phones. The fact that most of the processing is done in software, using the high-level hardware abstractions and services offered by the underlying operating systems and library stacks, enables for quick application development. Added to this flexibility and immediacy (compared to hardware oriented platforms), such platforms also offer soft real-time capabilities with appropriate latency bounds. Nevertheless, experts in the multimedia domain face a serious challenge: the features and complexity of their applications are growing rapidly; meanwhile, real-time requirements (such as low latency) and reliability standards increase.

This thesis focus on providing multimedia domain experts with workbench of tools they can use to model and prototype multimedia processing systems. Such tools contain platforms and constructs that reflect the requirements of the domain and application, and not accidental properties of the implementation (such as thread synchronization and buffers management). In this context, we address two distinct but related problems: the lack of models of computation that can deal with continuous multimedia streams processing in real-time, and the lack of appropriate abstractions and systematic development methods that support such models.

Many actor-oriented models of computation exist and they offer better abstractions than prevailing software engineering techniques (such as object-orientation) for building real-time multimedia systems. The family of Process Networks and Dataflow models ---based on networks of connected processing actors--- are the most suited for continuous stream processing. Such models allow to express designs close to the problem domain (instead of focusing in implementation details such as threads synchronization), and enable better modularization and hierarchical composition. This is possible because the model does not over-specify how the actors must run, but only imposes data dependencies in a declarative language fashion.

These models deal with multi-rate processing and hence complex periodic actor's execution schedulings. The problem is that the models do not incorporate the concept of time in a useful way and, hence, the periodic schedules do not guarantee real-time and low latency requirements. This dissertation overcomes this shortcoming by formally describing a new model that we named Time-Triggered Synchronous Dataflow (TTSDF), whose periodic schedules can be interleaved by several time-triggered ``activations'' so that inputs and outputs of the processing graph are regularly serviced. The TTSDF model has the same expressiveness (or equivalent computability) than the Synchronous Dataflow (SDF) model, with the advantage that it guarantees minimum latency and absence of gaps and jitter in the output. Additionally, it enables run-time load balancing between callback activations and parallelization.

Actor-oriented models are not off-the-shelf solutions and do not suffice for building multimedia systems in a systematic and engineering approach. We address this problem by proposing a catalog of domain-specific design patterns organized in a pattern language. This pattern language provides design reuse paying special attention to the context in which a design solution is applicable, the competing forces it needs to balance and the implications of its application.

The proposed patterns focus on how to: organize different kinds of actors connections, transfer tokens between actors, enable human interaction with the dataflow engine, and finally, rapid prototype user interfaces on top of the dataflow engine, creating complete and extensible applications.

As a case study, we present an object-oriented framework (CLAM), and specific applications built upon it, that makes extensive use of the contributed TTSDF model and patterns.

Document Changelog

DONE May 09

DONE March-April 09

pau_thesis_20080813.pdf August 08 version (the second draft of the thesis), the first version provided to the tribunal in March 09.

MAYBE TODO (low prio)

DONE

13 - 31 August

Rest. Vacances. Forget the thesis.

week -2 - 11-13 August

.

week -1 - 4-8 August

week 0 - 28-31 July (4 days)

week 1 - 21-27 July

Yup, lost track of some done tasks...

week 2 - 14-20 July

Full-time work

week 3 - 7-13 July

Part-time work: >18h

week 4 - 30 June - 5 July

week 5 - June 23-29

Anti-tesis: Uaa!!

week 6 - June 16-22

Anti-tesis: futbol dimarts vespre, assaig dimecres vespre-nit

week 7 - June 9-15

Anti-tesis: assaig dimecres vespre-nit, concert dijous vespre-nit dissabte mig perdut - bolo Lleida

Milestone: Draft for Vicente

week 8 - June 2-8

Milestone: Vicente draft Friday June 6th (aka, first showable version of the thesis) The goal is have all sections in place with introductions with annotated gaps.

week 9 - May 26-June 1

Dissabte i diumenge fora (casament)