Abstract

The performance of multiprocessor synchronization and locking protocols is a key factor to utilize the computation power of multiprocessor systems under real-time constraints. While multiple protocols have been developed in the past decades, their performance highly depends on the task partition and prioritization. The recently proposed Dependency Graph Approach showed its advantages and attracted a lot of interest. It is, however, restricted to task sets where each task has at most one critical section. In this paper, we remove this restriction and demonstrate how to utilize algorithms for the classical job shop scheduling problem to construct a dependency graph for tasks with multiple critical sections. To show the applicability, we discuss the implementation in ${\rm Litmus^{RT}}$ and report the overheads. Moreover, we provide extensive numerical evaluations under different configurations, which in many situations show significant improvement compared to the state-of-the-art.

Highlights

  • UNDER the von-Neumann programming model, shared resources that require mutual exclusive accesses, such as shared files, data structures, etc., have to be protected by applying synchronization or locking mechanisms

  • For frame-based task sets, we reduce the problem of constructing the dependency graph in the dependency graph approaches (DGA) to the classical job shop scheduling problemin Section 4, and establish approximation bounds for minimizing the makespan based on the approximation bounds of job-shop algorithms

  • We tracked the number of dependency graphs calculated with PRP where the ratio of PRP =JS is less than a certain factor

Read more

Summary

INTRODUCTION

UNDER the von-Neumann programming model, shared resources that require mutual exclusive accesses, such as shared files, data structures, etc., have to be protected by applying synchronization (binary semaphores) or locking (mutex locks) mechanisms. The original dependency graph approaches presented in [11] has two strong limitations: 1) the construction in the first step allows only one critical section per task, and 2) the presented algorithms can only be applied for frame-based real-time task systems, i.e., all tasks have the same period and release their jobs always at the same time. The latter has been recently removed by Shi et al [36], who applied the DGA after unrolling the jobs in the hyper-period. Compared to the state-of-the-art, our approach shows significant improvement for all the evaluated frame-based real-time task systems and for most of the evaluated periodic task systems

Task Model
Problem Definition and Approximation
Notation From Scheduling Theory
COMPUTATIONAL COMPLEXITY ANALYSIS
Computational Complexity for Small M
Remarks
Extension to Periodic Tasks
IMPLEMENTATION AND OVERHEADS
Overheads Evaluations
Evaluations Setup
CONCLUSION AND FUTURE WORK
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