« List of the ‘happening’ Embedded conferences TBD: The Perfect Architecture Migration Guide »

Excellent Brief Read on Multicore Software

July
29th
member
admin

I recently downloaded and read “How to Survive the Multicore Software Revolution” by Charles Leiserson and Ilya Mirman (http://www.cilk.com/multicore-e-book/) and was quite impressed.  If you are new to multicore software development or would like a brief refresher on the topic, the article is a quick 30 minute read to get you up to speed.

Some strong points about the artice:

  • Very concise coverage of the challenge with multicore, basic performance terms, parallel programming terms, and race conditions in the introductory sections.
  • Good simple critique of roll your own multithreading - I agree when you do this typically your parallel version becomes very different than the serial version and typically scalability is limited due to the developer more or less hard coding for one multicore processor.
  • Good summary of existing concurrency platforms.
  • 20 questions cover several aspects of software product development, not just the technical ones
  • Loved the bios - always good to add a personal touch

With the positive out of the way, my two main nits, perhaps they boil down to one which is the paper seems focused on homogenous multicore:

  • Seemed to be a bit Intel focused - with respect to the company I work for, this is fantastic and I suppose you could make the case that many/most of the multicore in desktop/server is x86, but there are other programming models and architectures. 
  • I believe many customers are eschewing multithreading and partitioning/multiprocessing instead.  It may have been good to comment on why this approach won’t necessarily scale in the long term.

That said, again I really enjoyed the article and recommend it.  It has given me some things to think about as we pursue the Multicore Programming Practices guide in MCA (http://www.multicore-association.org/workgroup/mpp.php).

One of our challenges in the group will be giving good coverage of best practices for several different multicore architectures split among multiple vectors, e.g. homogenous/heterogeneous, shared/distributed memory, symmetric/asymmetric.  It will be interesting to see how/if the practices generalize.  

Max  
 

date Posted on: Tuesday, July 29, 2008 at 8:35 pm
Category Uncategorized.
You can follow any responses to this entry through the RSS 2.0 feed.

You can leave a response, or trackback from your own site.



4 Responses to “Excellent Brief Read on Multicore Software”

  1. HunterW

    I just finished reading “How to Survive the Multicore Software Revolution.” It’s a good multicore primer. As Leiserson and Mirman suggest in the ebook, I encourage those looking for concurrency platforms to view Wikipedia’s “parallel programming model” entry for more options.

    I was not aware of MCA and am happy you posted that link!

    Hunter
    http://www.pervasivedatarush.com

    July 30th, 2008 at 2:15 pm
     
  2. admin

    You’re welcome Hunter and thanks for the pointer.

    Regards,

    Max

    July 30th, 2008 at 2:57 pm
     
  3. Bro

    “Quick” and “30-minute-read” are not good joining terms. See you on the 8th or 9th.

    August 6th, 2008 at 4:46 pm
     
  4. ilya

    Hi Max,

    Wanted to share that we just published our (alpha) documentation, with code samples and programming tips, for Cilk++.

    http://www.cilk.com/resources-for-multicoders/for-developers-only/

    Couple slots left in the alpha program for GCC users.

    cheers,
    ilya

    September 15th, 2008 at 11:34 am
     

Leave a Reply


Domeika’s Dilemma is powered by WordPress
Theme is Coded&Designed by ricdes dot com