Περίληψη: | From action games to ultra-high-definition movies and from music playback to augmented reality, heterogenous multimedia completely dominate our mobiles. At the same time, the computing resources become more and more distributed, from the multiple cores of a processor, to the on-line – cloud – computing and storage services. Applications exhibit more and more dynamism with regards to their resource requirements. Consequently, devices should be able to tolerate a wide variety of execution conditions and system or transition resource availability, all of which have the potential to vary unpredictably at run-time. Scalable, wavelet-based applications can form a large piece of the solution to this puzzle by enabling maximum application quality, scaled towards the encountered execution conditions. Clearly, this will also lead to dynamically and unpredictably varying complexity demands on the executing platform. Due to the low power requirements of embedded systems related to the limited battery lifetime, it will no longer be acceptable to cope with these complexity variations using worst-case mapping choices, as these will lead to a heavily suboptimal use of the available resources.
This thesis demonstrates an approach to avoid such a worst-case mapping for wavelet-based applications, by switching at run-time to an execution order adapted to the encountered execution conditions. In order to efficiently exploit this switching principle at run-time, the middleware should be in possession of systematic mapping guidelines expressing the knowledge about which execution order offers the lowest miss-rate and which gains can be obtained by switching to it. These mapping guidelines are derived by formalizing the miss-rate behavior of the Wavelet Transform in function of temporal locality. Moreover, it illustrates the impact of the inherent dynamics within an application, in the process of the exploration of the optimal execution order and the exploitation of the memory data mapping in the platform memory hierarchy. In data-dependent applications the memory accesses are not predefined, but depend on the input values. Consequently, it is not only the unpredictable resource availability, but also the input data characteristics that determine the decisions for the optimal execution schedule in the context of minimum power consumption in the memory.
|