Authors: Lucas Martins De Marchi, Patrick Bellasi, William Fornaciari and Betz Wolfgang
Cooperative applications represent a class of multi-tasking programs where different tasks execute concurrently according to a producer-consumer pattern. This class of programs is increasingly adopted on multi-core architectures and especially on multimedia mobile devices based on MPSoCs. Indeed, it allows to better exploit the architectural parallelism. However, the run-time efficient usage of memory hierarchies still is mandatory to achieve really good performance. Moreover,when responsiveness and predictability of the application are required, obtaining strict real-time behaviors on these architectures is still an interesting research topic.This work proposes a software mechanism to enhance soft real-time behaviours of cooperative applications. Targeting the Linux kernel, this mechanism enhances its real-time scheduler by introducing the support for cache-aware scheduling. Onsome architectures, the experiments conducted on a synthetic benchmark allow to observe significant improvements, bothon execution predictability and data throughput. Further improvements already under investigation are fore seen to extend the benefits to more architectures.