Parallelizing the merge sorting network algorithm on a multi-core computer using Go and Cilk
Peiyi Tang, Doug Serfass · 2011
We create a scalable parallel algorithm based on parallelizing the merge sorting network algorithm. We implemented our scalable parallel algorithm using two modern shared-memory parallel programming languages, Go [1] and Cilk-5 [2]. We also compare Go and Cilk speedup and performance. Our experimental results show that our parallel algorithm is scalable and provides near linear speedup for all large problem sizes. We compare Go and Cilk scheduling and synchronization efficiency as well as the overall performance of our parallel code.