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.
@InProceedings{nemitz_et_al:LIPIcs.ECRTS.2018.25, author = {Nemitz, Catherine E. and Amert, Tanya and Anderson, James H.}, title = {{Using Lock Servers to Scale Real-Time Locking Protocols: Chasing Ever-Increasing Core Counts}}, booktitle = {30th Euromicro Conference on Real-Time Systems (ECRTS 2018)}, pages = {25:1--25:24}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-075-0}, ISSN = {1868-8969}, year = {2018}, volume = {106}, editor = {Altmeyer, Sebastian}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ECRTS.2018.25}, URN = {urn:nbn:de:0030-drops-89789}, doi = {10.4230/LIPIcs.ECRTS.2018.25}, annote = {Keywords: multiprocess locking protocols, nested locks, priority-inversion blocking, reader/writer locks, real-time locking protocols} }
Feedback for Dagstuhl Publishing