Abstract :
Multiprocessor real-time locking protocols that are asymptotically optimal under suspension-oblivious schedulability analysis (where suspensions are pessimistically modeled as processor demand) are known for partitioned, global, and clustered job-level fixed priority (JLFP) scheduling. However, for the case of more accurate suspension-aware schedulability analysis (where suspensions are accounted for explicitly), asymptotically optimal protocols are known only for partitioned JLFP scheduling. In this paper, the gap is closed with the introduction of the first semaphore protocol for suspension-aware analysis that is asymptotically optimal under global and clustered JLFP scheduling. To this end, a new progress mechanism that avoids repeated priority inversions is developed and analyzed, based on the key observation that if lock-holding, low-priority jobs are priority-boosted, then certain other non-lock-holding, higher-priority jobs must be co-boosted.
Keywords :
processor scheduling; real-time systems; FMLP+; JLFP scheduling; asymptotically optimal real-time locking protocol; clustered job-level fixed priority scheduling; global job-level fixed priority scheduling; higher-priority job; low-priority job; multiprocessor real-time locking protocols; nonlock-holding job; partitioned job-level fixed priority scheduling; repeated priority inversions; semaphore protocol; suspension-aware analysis; suspension-aware schedulability analysis; suspension-oblivious schedulability analysis; Boosting; Program processors; Protocols; Real-time systems; Schedules; Scheduling; Suspensions;