By Topic

Cilk vs MPI: comparing two very different parallel programming styles

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$33 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

2 Author(s)
Tham, S. ; Sch. of Electr., Electron. & Comput. Eng., Western Australia Univ., Nedlands, WA ; Morris, J.

We measured the relative performance of two support systems for parallel programming on networks of workstations: Cilk - an extension of C with dataflow semantics - and MPI - a commonly used library for message passing. Although the two systems present significantly different parallel processing models, we attempted to code the benchmark problems in similar ways. The problems selected were matrix multiplication, travelling salesman problem, quick sort, Gaussian elimination, fast Fourier transform and finite differencing. We compared run times, speed-ups and coding efficiency as measured by lines of code in our implementations of the problems. Cilk showed a speed advantage when smaller numbers of large messages are transferred in a computation, enabling it to gain more from the underlying active messages implementation. Cilk code for algorithms with natural dataflow solutions was more compact, whereas algorithms which have simple iterative 'update-in-place' styles (Gaussian elimination and finite differencing) were more efficiently expressed when MPI was used

Published in:

Parallel Processing, 2003. Proceedings. 2003 International Conference on

Date of Conference:

9-9 Oct. 2003