MCSTL: The Multi-Core Standard Template Library
Xiaofan Liu 29.01.2008
Introduction
STL: Standard Template Library MCSTL:
Shared memory systems Small inputs Dynamic load balancing The level of parallelism
Algorithms
Algorithms
Embarrassingly parallel Find Partition Sort
Algorithms
Embarrassingly Parallel:
“Work stealing” A user-tunable granularity
Algorithms
Find:
m: the first matching element’s position Size of blocks m0 m M
Algorithms
Partition:
a blocked strategy
O(n/p+p)
Sort:
Multiway Mergesort:
Load-Balanced Quicksort :
Software Engineering
OpenMP 2.5 Using the MCSTL in a program Website:
http://algo2.iti.uni-karlsruhe.de/singler/mcstl/
Experimental Result
Experimental Result
Conclusion
Already done Future work:
Implementation of worthwhile functions
Add dynamic load balancing to more functions Configure it with right tuning parameters Integrate it with the external memory library STXXL
Thank you~~