Layering Data Structures over Skip Graphs for Increased NUMA Locality

CoRR(2019)

引用 0|浏览0
暂无评分
摘要
We describe an approach for blackbox concurrency based on layering user-provided, sequential data structures over concurrent skip graph variants for increased NUMA locality. We implement sets, maps, and priority queues, although our approach is potentially applicable for other data types. Threads operate privately on the top sequential data structures, used to jump to positions in the bottom concurrent skip graph, near to where insertions and removals take place, reducing remote memory accesses. A careful data structure partition scheme ensures the increase of data locality. We implemented our strategy in C++14, and our sets and maps run up to 23% faster than a highly-optimized concurrent skip list (our fastest contender), with up to 70% of reduction on the number of remote synchronized reads, and up to a 3.21 times increase in the CAS locality for 32 threads.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要