In this paper, an exception-based programming paradigm is envisioned to deal with timing constraints violations occurring in soft real-time and multimedia applications written in the C language. In order to prove viability of the approach, a mechanism allowing to use such paradigm has been designed and implemented as an open-source library of C macros making use of the standard POSIX API (a few Linux-specific optimizations are also briefly discussed). The proposed approach has been validated by modifying mplayer, one of the most widely used multimedia player for Linux, so as to use the introduced library. An extensive experimental evaluation has been made, both when running the player alone and when mixing it with a workload of other synthetic real-time applications. In the latter case, different scheduling policies have been used, including both standard priority-based ones as available on the mainline Linux, and an experimental deadline-based one available as a separate patch. The shown results demonstrate how the exception-based paradigm is effective in improving the audio/video delay exhibited by the player achieving a superior performance and a dramatically better quality of experience as compared to the original heuristic frame-dropping mechanism of the player.
|Titolo:||Handling timing constraints violations in soft real-time applications as exceptions|
|Autori interni:||CUCINOTTA, TOMMASO|
|Data di pubblicazione:||2012|
|Rivista:||THE JOURNAL OF SYSTEMS AND SOFTWARE|
|Appare nelle tipologie:||1.1 Articolo su Rivista/Article|