Using Lock Servers to Scale Real-Time Locking Protocols: Chasing Ever Increasing Core Counts
Abstract
During the past decade, parallelism-related issues have been at the forefront of real-time systems research due to the advent of multicore technologies. In the coming years, such issues will loom ever larger due to increasing core counts. Having more cores means a greater potential exists for platform capacity loss when the available parallelism cannot be fully exploited. In this paper, such capacity loss is considered in the context of real-time locking protocols. In this context, lock nesting becomes a key concern as it can result in transitive blocking chains that force tasks to execute sequentially unnecessarily. Such chains can be quite long on a larger machine. Contention-sensitive real-time locking protocols have been proposed as a means of breaking transitive blocking chains, but such protocols tend to have high overhead due to more complicated lock/unlock logic. To ease such overhead, the usage of lock servers is considered herein. In particular, four specific lock-server paradigms are proposed and many nuances concerning their deployment are explored. Experiments are presented that show that, by executing cache hot, lock servers can enable reductions in lock/unlock overhead of up to 86 . Such reductions make contention-sensitive protocols a viable approach in practice.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jul 03, 2018
- Accession Number
- AD1069140
Entities
People
- Catherine E. Nemitz
- James H. Anderson
- Tanya Amert
Organizations
- University of North Carolina at Chapel Hill