2008
DOI: 10.1007/978-3-540-78474-6_8
|View full text |Cite
|
Sign up to set email alerts
|

Parallelization of Bulk Operations for STL Dictionaries

Abstract: Abstract. STL dictionaries like map and set are commonly used in C++ programs. We consider parallelizing two of their bulk operations, namely the construction from many elements, and the insertion of many elements at a time. Practical algorithms are proposed for these tasks. The implementation is completely generic and engineered to provide best performance for the variety of possible input characteristics. It features transparent integration into the STL. This can make programs profit in an easy way from mult… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
26
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
2
2
1

Relationship

0
5

Authors

Journals

citations
Cited by 14 publications
(26 citation statements)
references
References 7 publications
0
26
0
Order By: Relevance
“…In a first effort, we show that our adapted weight-balanced B-tree forms a viable baseline to act as a Pareto queue and in fact does outperform the implementation of Frias and Singler [6]. Following up on these results, we discuss the baseline for our comparison and present a thorough evaluation of paPaSearch for the bi-objective case.…”
Section: Experimental Evaluationmentioning
confidence: 89%
See 3 more Smart Citations
“…In a first effort, we show that our adapted weight-balanced B-tree forms a viable baseline to act as a Pareto queue and in fact does outperform the implementation of Frias and Singler [6]. Following up on these results, we discuss the baseline for our comparison and present a thorough evaluation of paPaSearch for the bi-objective case.…”
Section: Experimental Evaluationmentioning
confidence: 89%
“…In [19] this result is generalized to accommodate the operations needed for paPaSearch. In principle, this approach can be extended to B-trees resulting in better cache-efficiency than [6,8,11] Here we go one step further by using weight-balanced B-trees [3]. This way we get easily predictable highly coarse grained re-balancing by partial rebuilding and we naturally integrate dynamic load balancing by work stealing.…”
Section: Parallel Search Treesmentioning
confidence: 96%
See 2 more Smart Citations
“…Examples that use work stealing include Cilk [48], Cilk++ [49], Java fork-join [50] (wich is used by Akka), X10 [51], Intel's Threading Building Blocks [52], NUMA-aware OpenMP schedulers [53], and parallelized implementations of the STL [54]. Further, Lifflander et al demonstrated that a hierarchical version of the algorithm scales to cluster deployments with up to 163,840 cores [55].…”
Section: Scheduling Algorithmmentioning
confidence: 99%