Computer Science B649 , Spring 2007


Contents

General Information

Professor
David S. Wise, Email
Office hours: 2:30--4:30pm M and 11:00am--12:00n W and by appointment.
Lindley Hall 330H; 855-4866.
Prerequisite B503 or B515 or P536 or P573 or B581 or consent of instructor.
Seminar:
Section 25352: MW, 9:30 - 10:45am, LH 120.

Course Content

Course Materials are available.

The subject is paradigms of programming for parallelism, specifically addressed to matrix problems.

While a superficial goal is high-performance, the real goal is to explore styles of programming that can achieve it from high-level programming. That is, while constraints of particular architectures (e.g. locality of reference) are acknowledged, the real goal is to program "around" particular constraints. Such styles have been called, ironically, both "cache oblivious" and "cache sensitive".

Such constraints include the memory hierarchy, balanced scheduling, synchronization of subprocesses, remote communication, pipelining, and access to standing libraries. Doubtless, not all of these will be beaten, but some of them will be dented. Perhaps, a new kind of algorithm might be uncovered.

It is a challenge for programming languages to eliminate such low-level concerns from high-level algorithms. One perspective on this seminar is how to embed support necessary to such a style into future compilers.

More here. and details here.

Readings

There is no single textbook. Readings will be assigned from the literature---most of which are available from digital libraries to which IU already subscribes. (We can also discuss the survival of our computing archive in this era of digital libraries.)

Communication

The seminar is small, so we will just use mailing lists. Please install the list of login names as an alias in your mailer.

On individual or immediate matters, feel freee to contact me via email.



Grading

Grading: Grading will be based on seminar participation and on a project. The project will involve implementation and testing of some algorithm(s). writing a term paper, and its formal presentation at the end of term.

Programming Projects

There will be a small programming assignment due most week on Friday. It should be presented as a descriptive paper with results, and the code attached as an appendix. (LateX is recommended.)

Other Random, Useful Links


Miscellaneous

  1. Incompletes are for an unforeseen emergency.
  2. Of course, we encourage discussion and debates over the course material, but you should always cite work that is someone else's, whether it be from the library, the web, or your colleague. See the Computer Science Department's Statement on Academic Integrity

Last modified: Sun Jan 7
David S. Wise