Abstract

Predictable scheduling and resource sharing primitives are fundamental aspects of real-time systems. To prevent race conditions, access to shared resources must ensure mutual exclusion, e.g., using semaphores. Further, real-time locking protocols are required to avoid un-controlled priority inversions. For uniprocessor systems, the Priority Ceiling Protocol (PCP) has been widely accepted and supported in real-time operating systems. However, it remains arguable as to whether there exists a preferable approach for resource sharing in multiprocessor systems. In this paper, we show that the proposed Resource-Oriented Partitioned (ROP) scheduling with a distributed resource sharing policy, originating from the concept of the Distributed Priority Ceiling Protocol (DPCP), can achieve a non-trivial speedup factor guarantee. Specifically, we prove that the proposed R-PCP-rm-rm algorithm achieves a speedup factor of $11-6/(m+1)$11-6/(m+1) on a platform consisting of $m$m processors, where each job of a task may request at most one shared resource at most one time. Our empirical evaluations show that the proposed algorithm is highly effective in terms of task sets deemed schedulable.

Highlights

  • REAL-TIME systems are designed for applications in which the response time is critical

  • Our results clearly show that partitioned scheduling is highly effective for multiprocessor real-time scheduling with shared resources

  • For multiprocessor real-time systems with shared resources, we address the problem of task partitioning and resource sharing for fixed-priority scheduling

Read more

Summary

Introduction

REAL-TIME systems are designed for applications in which the response time is critical. To guarantee realtime performance while making the most effective use of the available computing resources, co-optimized scheduling and resource sharing policies are required. The question of how to co-optimize scheduling and resource sharing in real-time multiprocessor systems has not been completely answered. To schedule real-time tasks on multiprocessor platforms, there have been four widely studied paradigms: partitioned, global, clustered, and semi-partitioned scheduling. The partitioned scheduling approach assigns the tasks among the available processors, where each task is allowed to execute only on the processor for which it is assigned. The global scheduling approach allows a job to be migrated from one processor to another. The clustered scheduling approach assigns the tasks onto clusters of processors, and the tasks on each cluster are scheduled by global scheduling. The semi-partitioned scheduling approach decides whether a task is divided into subtasks, and each task/

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call