Skip to Main Content
The last decade a trend can be observed towards multi-processor Systems-on-Chip (MPSoC) platforms for satisfying the high computational requirements of modern multimedia applications. The research community has mainly focused on communication issues (e.g. bus vs. networks-on-chip). Real-time operating systems for MPSoCs however, have gotten very little attention. Existing techniques like rate-monotonic scheduling from the real-time community are rarely applicable, because contemporary high-performance media processors (like Cell, graphics processors) do not support preemption. Furthermore, rate-monotonic scheduling cannot deal with multiple (heterogeneous) processors, data dependencies, and dynamically varying execution times that characterize modern media applications. This paper proposes new techniques to manage the computational resources of MPSoCs at run-time. We compare a centralized resource manager (RM) to two versions (Credit based and Rate based) of a novel, more distributed RM. The distributed RMs are developed to cope with a larger number of processors as well as concurrently executing applications. Experiments show that our distributed resource managers are more scalable, deal better with application and user dynamics, and require less buffering, while effectively enforcing throughput constraints.