Curr-change-mckenney

From Education

Jump to: navigation, search

Paul McKenney Questions

Who is the audience?

  1. University CS-department administrators? [In which case, I understand leading with declining CS enrollments.]
  2. Professors? [In which case, are decreasing CS enrollments sufficient to get the attention of a sufficiently large fraction of the population?]
  3. Industry? [In which case, given the current economy, declining enrollments might not be a sufficiently short-term problem to garner attention of a sufficiently large fraction of the population.]
  4. Students? [In which case, we need a tag line other than "your peers increasingly believe that CS sucks".]
  5. Practitioners? [Sad to say, many might well stop reading a paper that looked to address CS enrollment, especially those who felt that increasing CS enrollment was going to simply increase competition for their job.]
  6. All of the above? [In which case, we need to appeal to all groups simultaneously.]

If we have to appeal to all groups, how to do so?

  1. Publish multiple articles, each in a venue read primarily by the target group
  2. Target article to all groups simultaneously:
    1. Administrators: a way to increase interest and thus enrollment
    2. Professors: New area for research and teaching, attract bright and motivated students (both to teach and to assist with research)
    3. Industry: New college grads up to speed on multicore, course work available to get existing employees up to speed, research into better harnessing multicore, opening the way for new technologies and products
    4. Students: Varied:
      1. Curriculum relevant to industry ["get a job" part 1]
      2. Curriculum that will give me the skills required to have an edge over others ["get a job" part 2]
      3. Exciting field with pressing and challenging problems with which to make one's name
      4. New stuff that hasn't been done before, or, if it has been done before, hasn't been done well [do I have an edge over greybeards like Paul McKenney, or failing that, am I at least not at too great a disadvantage?]
    5. Practitioners: Similar to students, especially given the increasing incidence of continuing education.

Paul McKenney Suggested Outline

  1. Intro: parallel hardware now mainstream, parallel software must go mainstream, undergraduate institutions well advised to fill the need for parallel-software education (those that don't are likely to face continued declines in enrollment)
  2. Lots of cool new parallel hardware becoming available (steal Michael Wrinn's list of hardware above)
  3. Important applications need the power of multicore platforms and parallel software (steal Michael Wrinn's list of applications above)
  4. Parallel software can be constructed: Linux kernel, MySQL, PostgreSQL, and OpenMPI are but a few open-source projects with substantial parallel/multi-core capabilities, and there are quite a few proprietary products as well
  5. Nevertheless, many important parallel-programming problems remain wide open:
    1. Enabling typical practitioner to successfully program parallel machines
      1. Achieved in specific situations by things like SQL, "make -j", shell-script capabilities, ...
    2. Achieving per-thread performance rivaling that of a sequential program while still offering linear scalability
      1. Achieved in the read-mostly-data case by things like RCU
    3. Achieving both performance/scalability and productivity in a general-purpose parallel language or environment
  6. But need to get people the base skills to get started on these problems. How to fit parallelism into the curriculum?
  7. Cheap and readily available parallel hardware (affordable even to hobbyists and graduate students!) will enable unprecedented exciting progress in the field of parallel programming (and CS in general). Those who join in will share in a new, fast-paced, exciting, and productive parallel/multicore future!!!
SC Education sites