Synch: A framework for concurrent data-structures and benchmarks

03/30/2021
by   Nikolaos D. Kallimanis, et al.
0

The recent advancements in multicore machines highlight the need to simplify concurrent programming in order to leverage their computational power. One way to achieve this is by designing efficient concurrent data structures (e.g. stacks, queues, hash-tables, etc.) and synchronization techniques (e.g. locks, combining techniques, etc.) that perform well in machines with large amounts of cores. In contrast to ordinary, sequential data-structures, the concurrent data-structures allow multiple threads to simultaneously access and/or modify them. Synch is an open-source framework that not only provides some common high-performant concurrent data-structures, but it also provides researchers with the tools for designing and benchmarking high performant concurrent data-structures. The Synch framework contains a substantial set of concurrent data-structures such as queues, stacks, combining-objects, hash-tables, locks, etc. and it provides a user-friendly runtime for developing and benchmarking concurrent data-structures. Among other features, the provided runtime provides functionality for creating threads easily (both POSIX and user-level threads), tools for measuring performance, etc. Moreover, the provided concurrent data-structures and the runtime are highly optimized for contemporary NUMA multiprocessors such as AMD Epyc and Intel Xeon.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/14/2017

Techniques for Constructing Efficient Lock-free Data Structures

Building a library of concurrent data structures is an essential way to ...
research
09/17/2023

Concurrent Deterministic Skiplist and Other Data Structures

Skiplists are used in a variety of applications for storing data subject...
research
09/04/2023

Productive Development of Scalable Network Functions with NFork

Despite decades of research, developing correct and scalable concurrent ...
research
09/02/2019

Efficient Lock-Free Durable Sets

Non-volatile memory is expected to co-exist or replace DRAM in upcoming ...
research
10/11/2021

Peformance Prediction for Coarse-Grained Locking: MCS Case

A standard design pattern found in many concurrent data structures, such...
research
04/25/2019

Performance Prediction for Coarse-Grained Locking

A standard design pattern found in many concurrent data structures, such...
research
02/19/2019

Layering Data Structures over Skip Graphs for Increased NUMA Locality

We describe an approach for blackbox concurrency based on layering user-...

Please sign up or login with your details

Forgot password? Click here to reset