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 multi-core processing power. The performance measurements show the practical usefulness on real-world multi-core machines with up to eight cores.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
An, P., Jula, A., Rus, S., Saunders, S., Smith, T., Tanase, G., Thomas, N., Amato, N.M., Rauchwerger, L.: STAPL: An Adaptive, Generic Parallel C++ Library. In: LCPC, pp. 193–208 (2001), http://parasol.tamu.edu/groups/rwergergroup/research/stapl/
Berger, E.D., McKinley, K.S., Blumofe, R.D., Wilson, P.R.: Hoard: A scalable memory allocator for multithreaded applications. In: ASPLOS-IX (2000)
Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. JACM 46(5), 720–748 (1999)
Guibas, Sedgewick: A dichromatic framework for balanced trees. In: FOCS (1978)
Park, H., Park, K.: Parallel algorithms for red-black trees. Theoretical Computer Science 262, 415–435 (2001)
Singler, J.: The MCSTL website (June 2006), http://algo2.iti.uni-karlsruhe.de/singler/mcstl/
Singler, J., Sanders, P., Putze, F.: The Multi-Core Standard Template Library. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, Springer, Heidelberg (2007)
Tarjan, R.E.: Data structures and network algorithms. In: CBMS-NSF Regional Conference Series on Applied Mathematics, vol. 44, SIAM, Philadelphia (1983)
Wein, R.: Efficient implementation of red-black trees with split and catenate operations. Technical report, Tel-Aviv University (2005)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Frias, L., Singler, J. (2008). Parallelization of Bulk Operations for STL Dictionaries. In: Bougé, L., et al. Euro-Par 2007 Workshops: Parallel Processing. Euro-Par 2007. Lecture Notes in Computer Science, vol 4854. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78474-6_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-78474-6_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78472-2
Online ISBN: 978-3-540-78474-6
eBook Packages: Computer ScienceComputer Science (R0)