In the recent past, devising algorithms for concurrent data structures has been driven by the need for scalability. Further, there is an increased traction across the industry towards power efficient concurrent data s...
详细信息
In the recent past, devising algorithms for concurrent data structures has been driven by the need for scalability. Further, there is an increased traction across the industry towards power efficient concurrent data structure designs. In this context, we introduce a scalable and energy-efficient concurrentbinarysearch tree with fatnodes (namely, FatCBST), and present algorithms to perform basic operations on it. Unlike a single node with one value, a fatnode consists of a set of values. FatCBST minimizes structural changes while performing update operations on the tree. In addition, fatnodes help to exploit the spatial locality in the cache hierarchy and also reduce the height of the tree. FatCBST allows multiple threads to perform update operations on an existing fatnode simultaneously. Experimental results show that for low contention workloads as well as large set sizes, FatCBST scales well and also provides high performance-per-watt values as compared to the state-of-the-art implementations. For high contention workloads with small set sizes, FatCBST suffers from contention.
Effective design of concurrent tree implementation plays a major role in improving the scalability of applications in a multicore environment. We introduce a concurrentbinarysearch tree with fatnodes (FatCBST) and p...
详细信息
ISBN:
(纸本)9781538625880
Effective design of concurrent tree implementation plays a major role in improving the scalability of applications in a multicore environment. We introduce a concurrentbinarysearch tree with fatnodes (FatCBST) and present algorithms to perform basic operations on it. Unlike a simple node with single value, a fatnode consists of a set of values. FatCBST concept allows a thread to perform update operations on an existing fatnode without changing the tree structure, making it less disruptive to other threads' operations. Fatnodes help to take advantage of the spatial locality in the cache hierarchy and also reduce the height of the concurrentbinarysearch tree. Our FatCBST implementation allows multiple threads to perform update operations on the same existing fatnode at the same time. Experimental results show that the FatCBST implementations that have small fatnode sizes provide better throughput for high and medium contention workloads;and large fatnode sizes provide better throughput for low contention workloads, as compared to the current state-of-the-art implementations.
暂无评论