Euro-Par 2007: Euro-Par 2007 Workshops: Parallel Processing pp 49-58 | Cite as
Parallelization of Bulk Operations for STL Dictionaries
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.
Keywords
Input Sequence Parallel Time Concatenation Task Left Subtree Equal ElementPreview
Unable to display preview. Download preview PDF.
References
- 1.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/
- 2.Berger, E.D., McKinley, K.S., Blumofe, R.D., Wilson, P.R.: Hoard: A scalable memory allocator for multithreaded applications. In: ASPLOS-IX (2000)Google Scholar
- 3.Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. JACM 46(5), 720–748 (1999)MATHCrossRefMathSciNetGoogle Scholar
- 4.Guibas, Sedgewick: A dichromatic framework for balanced trees. In: FOCS (1978)Google Scholar
- 5.Park, H., Park, K.: Parallel algorithms for red-black trees. Theoretical Computer Science 262, 415–435 (2001)MATHCrossRefMathSciNetGoogle Scholar
- 6.Singler, J.: The MCSTL website (June 2006), http://algo2.iti.uni-karlsruhe.de/singler/mcstl/
- 7.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)CrossRefGoogle Scholar
- 8.Tarjan, R.E.: Data structures and network algorithms. In: CBMS-NSF Regional Conference Series on Applied Mathematics, vol. 44, SIAM, Philadelphia (1983)Google Scholar
- 9.Wein, R.: Efficient implementation of red-black trees with split and catenate operations. Technical report, Tel-Aviv University (2005)Google Scholar