A hard real-time system can be defined as the one that at least one of its tasks must meet its deadlines whenever the system is running. This requirement makes the scheduling algorithm a key element for system correctness. Ideally, the scheduling algorithm employed must both exhibit low overhead (efficiency) and ensure that no task deadline is missed whenever this can be ensured by some scheduling algorithm (optimality). RUN (Reduction to Uniprocessor) is an algorithm capable of efficiently and optimally scheduling a set of strictly periodic tasks on a multiprocessor platform when tasks do not share any resources but processors. Although it has already been shown that RUN is compatible with resource sharing, the only existing solution prevents preemptive access to shared resources. Unlike this approach, which can be considered too restrictive due to its poor schedulability, we used MrsP (Multiprocessor resource sharing Protocol) as a more flexible resource sharing mechanism. Making the rules of both RUN and MrsP compatible to each other was thus our main goal. The derived solution was implemented on Linux Textbed for Multiprocessor Scheduling in Real-Time systems (Litmus-RT), namely a Linux-based real-time operating system. We proposed a new task packaging heuristic and performed experimental evaluations comparing our solution with the existing one. The results showed that the proposed solution presented better results in terms of schedulability, total overhead and number of migrations and preemptions.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.