When thinking about parallel programming, there are three fundamental responsibilities that need to be addressed:
1) Identify the parallelism
2) Synchronize thread executions
3) Distribute data (global or local)
What should the tasks of the programmer be and what should be taken care of by the programming methodology? What do you think is the best approach for parallel programming: a new language, language extensions, or libraries?
We're also interested in what level of experience you have with parallel and threaded programming.
- How long have you been doing it, or, if you've never done it, what is making you consider it now?
- Are there specific challenges that you have faced as you embarked upon your past or current parallel programming efforts?
- Are you thinking about scalable parallel programming?
We're very interested in your feedback, though we appreciate your patience as we try to answer your questions while doing our day jobs. We'll likely be inviting additional members of our team as well to participate in this discussion topic and are looking forward to an interesting discussion this week.