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.
|Title of host publication||Proceedings of 2018 IEEE 21st International Symposium on Real-Time Distributed Computing (ISORC)|
|Publication status||Published - 2018|
|Event||2018 IEEE 21st International Symposium on Real-Time Distributed Computing - Nanyang Executive Centre, Singapore, Singapore|
Duration: 29 May 2018 → 31 May 2018
|Conference||2018 IEEE 21st International Symposium on Real-Time Distributed Computing|
|Location||Nanyang Executive Centre|
|Period||29/05/2018 → 31/05/2018|