Supporting Global Resource Sharing in RUN-scheduled Multiprocessor Systems

Luca Bonato, Enrico Mezzetti, Tullio Vardanega · 2014

The problem of sharing logical resources in multiprocessor systems cannot be satisfactorily solved using solutions intended for single processor systems. Sharing logical resources on multiprocessors is intrinsically exposed to parallel contention, which gives rise to high time penalty owing to the necessary serialization of access. Partitioned scheduling approaches help reduce contention, but at the cost of collocating every shared resource together with all of its users, which makes the partitioning problem harder. The concept of logical server used in hybrid (semi-partitioned) multiprocessor scheduling, a self-sufficient entity that can schedule a set of tasks and become a schedulable entity itself, may come handy instead. Logical servers can be used to isolate and reduce the parallelism of collaborative tasks without suffering from the limitations of partitioned approaches. In this work, we provide a generalization of RUN, an optimal multiprocessor scheduling algorithm based on logical servers, for handling shared resources. We implement and evaluate a simple spin-based locking protocol that leverages servers to group collaborative tasks and reduces parallel contention.

Read the paper · More papers on PaperTik