Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2391541.2391622guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

MCSTL: the multi-core standard template library

Published: 28 August 2007 Publication History
  • Get Citation Alerts
  • Abstract

    Future gain in computing performance will not stem from increased clock rates, but from even more cores in a processor. Since automatic parallelization is still limited to easily parallelizable sections of the code, most applications will soon have to support parallelism explicitly. The Multi-Core Standard Template Library (MCSTL) simplifies parallelization by providing efficient parallel implementations of the algorithms in the C++ Standard Template Library. Thus, simple recompilation will provide partial parallelization of applications that make consistent use of the STL. We present performance measurements on several architectures. For example, our sorter achieves a speedup of 21 on an 8-core 32-thread SUN T1.

    References

    [1]
    Putze, F., Sanders, P., Singler, J.: The multi-core standard template library. In: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 144-145. ACM Press, New York (2007)
    [2]
    Plauger, P. J., Stepanov, A. A., Lee, M., Musser, D. R.: The C++ Standard Template Library. Prentice-Hall, Englewood Cliffs (2000)
    [3]
    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: Dietz, H. G. (ed.) LCPC 2001. LNCS, vol. 2624, pp. 193-208. Springer, Heidelberg (2003), http://parasol.tamu.edu/groups/rwergergroup/research/stapl/
    [4]
    Thomas, N., Tanase, G., Tkachyshyn, O., Perdue, J., Amato, N. M., Rauchwerger, L.: A framework for adaptive algorithm selection in STAPL. In: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 277-288. ACM Press, New York (2005)
    [5]
    Baertschiger, D.: Multi-processing template library. Master thesis, Université de Genève (in French) (2006), http://spc.unige.ch/mptl
    [6]
    Varman, P. J., Scheufler, S. D., Iyer, B. R., Ricard, G. R.: Merging Multiple Lists on Hierarchical-Memory Multiprocessors. Journal of Parallel and Distributed Computing 12(2), 171-177 (1991)
    [7]
    Tsigas, P., Zhang, Y.: A simple, fast parallel implementation of quicksort and its performance evaluation on SUN enterprise 10000. In: 11th Euromicro Conference on Parallel, Distributed and Network-Based Processing, p. 372 (2003)
    [8]
    Finkel, R., Manber, U.: DIB - A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems 9(2), 235-256 (1987)
    [9]
    Sanders, P.: Tree shaped computations as a model for parallel applications. In: ALV'98 Workshop on Application Based Load Balancing (1998)
    [10]
    Blumofe, R. D., Leiserson, C. E.: Scheduling multithreaded computations by work stealing. Journal of the ACM 46(5), 720-748 (1999)
    [11]
    Sanders, P.: Randomized Receiver Initiated Load Balancing Algorithms for Tree Shaped Computations. The Computer Journal 45(5), 561-573 (2002)
    [12]
    JáJá, J.: An Introduction to Parallel Algorithms. Addison-Wesley, Reading (1992)
    [13]
    Sanders, P.: Fast priority queues for cached memory. ACM Journal of Experimental Algorithmics 5 (2000)
    [14]
    Ranade, A., Kothari, S., Udupa, R.: Register Efficient Mergesorting. In: Prasanna, V. K., Vajapeyam, S., Valero, M. (eds.) HiPC 2000. LNCS, vol. 1970, pp. 96-103. Springer, Heidelberg (2000)
    [15]
    Dementiev, R., Sanders, P.: Asynchronous parallel disk sorting. In: 15th ACM Symposium on Parallelism in Algorithms and Architectures, pp. 138-148. ACM Press, New York (2003)
    [16]
    Sanders, P.: Random permutations on distributed, external and hierarchical memory. Information Processing Letters 67(6), 305-310 (1998)
    [17]
    Matsumoto, M., Nishimura, T.: Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Transactions on Modeling and Computer Simulation 8, 3-30 (1998)
    [18]
    OpenMP Architecture Review Board: OpenMP Application Program Interface, Version 2.5 (May 2005)
    [19]
    Singler, J.: The MCSTL website (June 2006), http://algo2.iti.uni-karlsruhe.de/singler/mcstl/
    [20]
    Dementiev, R., Kettner, L., Sanders, P.: STXXL: Standard Template Library for XXL data sets. In: Brodal, G. S., Leonardi, S. (eds.) ESA 2005. LNCS, vol. 3669, pp. 640-651. Springer, Heidelberg (2005)

    Cited By

    View all
    • (2020)Accelerating truss decomposition on heterogeneous processorsProceedings of the VLDB Endowment10.14778/3401960.340197113:10(1751-1764)Online publication date: 1-Jun-2020
    • (2019)Theoretically-Efficient and Practical Parallel In-Place Radix SortingThe 31st ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3323165.3323198(213-224)Online publication date: 17-Jun-2019
    • (2018)Optimizing for KNL Usage Modes When Data Doesn't Fit in MCDRAMProceedings of the 47th International Conference on Parallel Processing10.1145/3225058.3225116(1-10)Online publication date: 13-Aug-2018
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    Euro-Par'07: Proceedings of the 13th international Euro-Par conference on Parallel Processing
    August 2007
    969 pages
    ISBN:3540744657
    • Editors:
    • Anne-Marie Kermarrec,
    • Luc Bougé,
    • Thierry Priol

    Sponsors

    • INRIA/IRISA: INRIA/IRISA
    • University of Rennes 1: University of Rennes 1
    • Rennes Métropole
    • Métivier Foundation
    • Pôle de competitivité Images & Réseaux

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 28 August 2007

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Accelerating truss decomposition on heterogeneous processorsProceedings of the VLDB Endowment10.14778/3401960.340197113:10(1751-1764)Online publication date: 1-Jun-2020
    • (2019)Theoretically-Efficient and Practical Parallel In-Place Radix SortingThe 31st ACM Symposium on Parallelism in Algorithms and Architectures10.1145/3323165.3323198(213-224)Online publication date: 17-Jun-2019
    • (2018)Optimizing for KNL Usage Modes When Data Doesn't Fit in MCDRAMProceedings of the 47th International Conference on Parallel Processing10.1145/3225058.3225116(1-10)Online publication date: 13-Aug-2018
    • (2018)PAMACM SIGPLAN Notices10.1145/3200691.317850953:1(290-304)Online publication date: 10-Feb-2018
    • (2018)PAMProceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3178487.3178509(290-304)Online publication date: 10-Feb-2018
    • (2018)Efficient Parallel Random Sampling—Vectorized, Cache-Efficient, and OnlineACM Transactions on Mathematical Software10.1145/315773444:3(1-14)Online publication date: 3-Jan-2018
    • (2017)Two-level main memory co-designJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.12.009102:C(213-228)Online publication date: 1-Apr-2017
    • (2017)Engineering Parallel String SortingAlgorithmica10.1007/s00453-015-0071-177:1(235-286)Online publication date: 1-Jan-2017
    • (2016)High Performance Parallel Summed-Area Table Kernels for Multi-core and Many-core SystemsProceedings of the 22nd International Conference on Euro-Par 2016: Parallel Processing - Volume 983310.1007/978-3-319-43659-3_23(306-318)Online publication date: 24-Aug-2016
    • (2015)A Top-Down Parallel SemisortProceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures10.1145/2755573.2755597(24-34)Online publication date: 13-Jun-2015
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media