Synch:并发数据结构和基准测试框架
Synch: A framework for concurrent data-structures and benchmarks
摘要:
多核机器的最新进展突出了简化并发编程以利用其计算能力的必要性。实现这一点的一种方法是通过设计有效的并发数据结构(例如,栈、队列、散列表等)。和同步技术(例如锁定、组合技术等)在拥有大量内核的机器中表现良好。与普通的顺序数据结构相比,并发数据结构允许多个线程同时访问和/或修改它们。Synch是一个开源的框架,它不仅提供了一些常见的高性能并发数据结构,而且为研究人员提供了设计和测试高性能并发数据结构的工具。Synch框架包含大量的并发数据结构,例如队列、堆栈、组合对象、散列表、锁等,并且它提供用于开发和基准测试并发数据结构的用户友好的运行时。除其他功能外,所提供的运行时提供了轻松创建线程(POSIX和用户级线程)的功能,测量性能的工具等。此外,所提供的并发数据结构和运行时针对当代NUMA多处理器(如AMD Epyc和Intel Xeon)进行了高度优化。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。