Algorithm Improvement via Performance Analysis: Parallel Merge
I am impressed by the way we design parallel algorithms incrementally via performance analysis. This article illustrates the idea by using Parallel Merge as an example:
http://drdobbs.com/high-performance-computing/229204454
To summarize,
"For parallel algorithms, divide-and-conquer proved to be a good strategy, especially coupled with the hybrid approach, enabling parallel processing with high performance. A fast sequential merge was shown to be a critical component of the fast parallel hybrid algorithm. "
It is a compromise between divide-and-conquer algorithm, memory access pattern, reducing task-switching overhead and memory bandwidth consumption. It is likely to say that big-O notation is no longer a good approximation for performance of parallel algorithms.
http://drdobbs.com/high-performance-computing/229204454
To summarize,
"For parallel algorithms, divide-and-conquer proved to be a good strategy, especially coupled with the hybrid approach, enabling parallel processing with high performance. A fast sequential merge was shown to be a critical component of the fast parallel hybrid algorithm. "
It is a compromise between divide-and-conquer algorithm, memory access pattern, reducing task-switching overhead and memory bandwidth consumption. It is likely to say that big-O notation is no longer a good approximation for performance of parallel algorithms.
0 Comments:
Post a Comment
<< Home