Thinking Parallel

A Blog on Parallel Programming and Concurrency by Michael Suess

Interviewing the Parallel Programming Idols

A MicrophoneI have stated in the past that I don’t consider myself an expert when it comes to parallel programming. There are always so many things left to learn, paths to travel and exciting new technologies to try out. Yet, there are people working in this field that have done so way longer than me – in some cases even way longer than I am alive :P. Talking and learning from them is always a very rewarding experience for me. Therefore I have tried to get in touch by email with some of the people I would consider the Parallel Programming Gods. Personal Heros. Founding Fathers. Idols. Whatever you want to call them. And luckily for me, some of them responded. I have asked them all the same ten questions: five about parallel programming in general, five about their parallel programming system. Starting next week, I will publish one of the interviews each week.

Here is a little teaser, with my list of interview partners (ordered alphabetically by the name of their parallel programming system):

I have also tried to get an interview with William Pugh and Doug Lea on Java Threads, but have not gotten a response until now. Maybe some of you know whom I should be interviewing for these systems? If yes, please leave a comment!

Oh yes, and before I forget, here are the ten questions (substitute PPS with their Parallel Programming System):

  1. As we are entering the many-core era, do you think parallel computing is finally going to be embraced by the mainstream? Or is this just another phase and soon the only people interested in parallel programming will be the members of the high performance community (once again) ?
  2. From time to time a heated discussion evolves on the net regarding the issue of whether shared-memory programming or message passing is the superior way to do parallel programming. What is your opinion on this?
  3. From your point of view, what are the most exciting developments/ innovations regarding parallel programming going on presently or during the last few years?
  4. Where do you see the future of parallel programming? Are there any “silver bullets” on the horizon?
  5. One of the most pressing issues presently appears to be that parallel programming is still harder and less productive than its sequential counterpart. Is there any way to change this in your opinion?
  6. What are the specific strengths and weaknesses of PPS as compared to other parallel programming systems? Where would you like it to improve?
  7. If you could start again from scratch in designing PPS, what would you do differently?
  8. Are there any specific tools you would like to recommend to people who want to program in PPS? IDEs? Editors? Debuggers? Profilers? Correctness Tools? Any others?
  9. Please share a little advice on how to get started for programmers new to PPS! How would you start? Any books? Tutorials? Resources on the internet? And where is the best place to ask questions about it?
  10. What is the worst mistake you have ever encountered in a PPS program?

Thanks to all parallel programming idols who responded to my humble request! 😀

14 Responses to Interviewing the Parallel Programming Idols


  1. Comment by pongba | 2007/03/15 at 11:43:08

    Oh God, this might be the most exciting post. I can’t wait to see the rest of this serial.

  2. Comment by pongba | 2007/03/15 at 11:48:29

    By the way, have you tried to contact Maurice Herlihy, Leslie Lamport, Mikko H. Lipasti, Maged Michael, Nir Shavit, Sarita V. Adve, etc?

  3. Comment by Simon Francis | 2007/03/15 at 17:08:29

    A good interview is not just a list of predetermined questions, you need to make follow-ups from interesting remarks and comments on their responses. Any interview that is just a list of questions typically turns out to be really dry as there is no interaction between the interviewer and the interviewee. Start with that list, but don’t end there, add appropriate questions as the interview goes on.

  4. Comment by Michael Suess | 2007/03/15 at 18:12:24

    Pongba: thanks, maybe I will try my luck with some of the people you have mentioned.

    Simon: you are, of course, right. The problem with going back and fourth like you describe in an email-interview is, that it takes a lot of time. Not only my time, but also the time of the person being interviewed – and I do not want to risk loosing a potential interview partner because of time constraints. The second issue is that what interests me the most may not be as interesting for you.

    So let’s make a deal: I think the interviews as they are can stand by themselves. If you or anyone else wants to know more or wants to discuss an answer, just leave a comment under the respective post and I will (after some time has passed) collect your further questions and send them to my interview partner. Of course, I can give you no guarantees they will be so kind to answer me again, but it won’t hurt to try…

  5. Comment by Srinivas Sridharan | 2007/03/17 at 18:31:13

    Some suggestions:

    Dr. William Dally (Stanford): Stream Computing

    Dr. Katherine Yelick (Berkeley): Titanium, UPC and other PGAS languages

    David Callahan (currently Microsoft): Cray MTA (has some similarity to OpenMP), Chapel HPCS language

    Charles Lierserson (MIT): Cilk

    Also some suggestions on the questions:
    Thoughts on Transactional Memory and how their PPS would provide support ?

    I am looking forward to these interviews…

  6. Comment by Alexander Petrov | 2007/03/22 at 02:13:30

    First of all, thank you for great job you are doing.

    >>Maybe some of you know whom I should be interviewing for these systems?

    Maybe Edward A. Lee. I’ve translated recently his amazing techical report – The Problem With Threads. And he kindly helped me to settle some questions by email.

    his key paper:

  7. Comment by Alexander Petrov | 2007/03/22 at 19:47:16

    It seems to me, that it would be interesting to take an interview with smbd, who concerned with Ada. You know, Ada have been made by Jean David Ichbiah. He had passed away 26 January 2007.

    Ada has very interesting concurrent possibilities(especially in the conjunction with real-time domain).

    Maybe somebody form AdaCore can tell some words about Ada.

    Or maybe John Barnes can. He is the author of Ada 2005\95 Rationale. And according to the wiki he is the primary inventor of and protagonist for the Ada Rendezvous mechanism.


  8. Comment by Michael Suess | 2007/03/23 at 14:41:09

    Some very excellent suggestions, I will be sure to get back to them some time, thanks!

  9. Comment by Raoul Duke | 2007/03/28 at 23:28:38

    howz about Scala’s actors? Another riff on the old idea, on the JVM, in a cool new language.

  10. WTF
    Comment by WTF | 2007/04/20 at 23:27:08

    what the FUCK post somthing with content I read your fucking bloated intro & then scrolled down.. no FUCKING CONTENT..

    god you piss me off

  11. Comment by Alexander Petrov | 2007/04/27 at 18:04:25

    Ten questions to Martin Odersky about Scala (c)Yauheni Akhotnikau

    Not only about parallel programming…

  12. Comment by rick Irby | 2010/03/13 at 21:52:52

    Help! Does any one know how to set “Break-points” or
    and other Debug function within C++ code. i have searched high & low, without any luck… The text book has NO reference to any debug functions, as far as I can tell. If you do know, please post a code segment with the appropriate coding. Thanks.
    I can be contacted directly at

Trackbacks & Pingbacks »»

  1. […] A tal proposito, una lettura superinteressante è la serie Interviewing the Parallel Programming Idols su, dove l’autore va a far domande a mostri sacri della programmazione parallela, toccando ambiti molto diversi (al momento: OpenMP, MPI, Erlang, e l’ultima sui pthread). […]

  2. […]   By 刘未鹏(pongba) C++的罗浮宫(   原文链接(   […]

Comments are closed