Hardlock: A Concurrent Real-time Multicore Locking Unit

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

57 Downloads (Pure)

Abstract

To use multicore processors, an application needs to split computation into several threads that execute on different processing cores. As those threads work together towards a common goal, they need to exchange data in a controlled way. A common communication paradigm between cooperating threads is using shared data structures protected by locks. Implementing a lock on top of shared memory can easily result in a bottleneck on a multicore processor due to the congestion on the shared memory. However, the number of locks in use is usually low and using the large external memory to support locks is over-provisioning a resource. This paper presents an efficient implementation of locking by providing dedicated hardware support for locking on-chip. This locking unit supports a restricted number of locks without the need to get off-chip. The unit can process lock acquisitions in 2 clock cycles and releases in 1 clock cycle.
Original languageEnglish
Title of host publicationProceedings of 2018 IEEE 21st International Symposium on Real-Time Distributed Computing (ISORC)
PublisherIEEE
Publication date2018
Pages9-16
ISBN (Print)9781538658475
DOIs
Publication statusPublished - 2018
Event2018 IEEE 21st International Symposium on Real-Time Distributed Computing - Nanyang Executive Centre, Singapore, Singapore
Duration: 29 May 201831 May 2018

Conference

Conference2018 IEEE 21st International Symposium on Real-Time Distributed Computing
LocationNanyang Executive Centre
CountrySingapore
CitySingapore
Period29/05/201831/05/2018

Cite this

Strøm, T. B., & Schoeberl, M. (2018). Hardlock: A Concurrent Real-time Multicore Locking Unit. In Proceedings of 2018 IEEE 21st International Symposium on Real-Time Distributed Computing (ISORC) (pp. 9-16). IEEE. https://doi.org/10.1109/ISORC.2018.00010