Avoiding Scalability Collapse by Restricting Concurrency

05/26/2019
by   Dave Dice, et al.
0

Saturated locks often degrade the performance of a multithreaded application, leading to a so-called scalability collapse problem. This problem arises when a growing number of threads circulating through a saturated lock causes the overall application performance to fade or even drop abruptly. This problem is particularly (but not solely) acute on oversubscribed systems (systems with more threads than available hardware cores). In this paper, we introduce GCR (generic concurrency restriction), a mechanism that aims to avoid the scalability collapse. GCR, designed as a generic, lock-agnostic wrapper, intercepts lock acquisition calls, and decides when threads would be allowed to proceed with the acquisition of the underlying lock. Furthermore, we present GCR-NUMA, a non-uniform memory access (NUMA)-aware extension of GCR, that strives to ensure that threads allowed to acquire the lock are those that run on the same socket. The extensive evaluation that includes more than two dozen locks, three machines and three benchmarks shows that GCR brings substantial speedup (in many cases, up to three orders of magnitude) in case of contention and growing thread counts, while introducing nearly negligible slowdown when the underlying lock is not contended. GCR-NUMA brings even larger performance gains starting at even lighter lock contention.

READ FULL TEXT
research
12/21/2015

Research on Scalability of Operating Systems on Multicore Processors

Large number of cores and hardware resource sharing are two characterist...
research
03/02/2020

Graph3S: A Simple, Speedy and Scalable Distributed Graph Processing System

Graph is a ubiquitous structure in many domains. The rapidly increasing ...
research
05/07/2021

A Grounded Approach to Modeling Generic Knowledge Acquisition

We introduce and implement a cognitively plausible model for learning fr...
research
04/24/2019

Reconstruct the Directories for In-Memory File Systems

Existing path lookup routines in file systems need to construct an auxil...
research
10/12/2018

Compact NUMA-Aware Locks

Modern multi-socket architectures exhibit non-uniform memory access (NUM...
research
12/21/2022

Speedup and efficiency of computational parallelization: A unifying approach and asymptotic analysis

In high performance computing environments, we observe an ongoing increa...
research
03/04/2022

BEATS: An Open-Source, High-Precision, Multi-Channel EEG Acquisition Tool System

Stable and accurate electroencephalogram (EEG) signal acquisition is fun...

Please sign up or login with your details

Forgot password? Click here to reset