Core-aware Combining: Accelerating Critical Section Execution on Heterogeneous Multi-Core Systems Via Combining Synchronization

Xiangzhen Ouyang,Yian Zhu
DOI: https://doi.org/10.1016/j.jpdc.2022.01.001
IF: 4.542
2022-01-01
Journal of Parallel and Distributed Computing
Abstract:In heterogeneous multi-core systems, performance differences of the cores can affect lock synchronization, where the high-performance cores have to wait for slower cores to complete critical section execution. To better utilize the high-performance cores, we can offload critical section execution to high-performance cores. Since combining synchronization has the potential to transfer critical section execution to the combiner, this paper presents a core-aware combining approach for heterogeneous multi-core processors to accelerate critical section execution. In combining synchronization, one competing thread will become the combiner to help complete pending requests. It typically provides better performance than conventional locks on multi-core systems. To enable transferring critical section executions to a more efficient core, we implement the ideas of core efficiency-based selective lock ownership transfer and the dynamic helping quota in four combining implementations. On an aarch64 heterogeneous machine and an x86 asymmetric machine, we ran several micro-benchmarks and workloads to evaluate the performance of our core-aware implementations. The results show that core-aware combining implementations accelerate critical section execution and achieve better throughput than the original combining implementations. • We propose core-aware combining approach that accelerates critical section execution. • We present a performance model to explain how this approach work. • We apply this approach in four combining implementations. • Results show our approach surpasses original combining techniques.
What problem does this paper attempt to address?