Date: Wed, 20 Nov 1996 23:37:18 GMT Server: NCSA/1.4.1 Content-type: text/html Last-modified: Mon, 11 Nov 1996 18:20:54 GMT Content-length: 4602
This course is taught by Professor David Gelernter of the Computer Science Department at Yale University.
Emergent programming styles for solving problems with a variety of parallel models. Paradigms basic to the design of efficient parallel algorithms, methods of problem decomposition, models for evaluating program performance, and techniques for optimizing parallel compilers. A wide variety of problems with programming exercises on Linda TS/Net, illustrating a general approach to programming parallel machines.Requirements: 3 programming assignments, midterm and final.
Prerequisites: Computer Science 323a.
Sept 9: basic paradigms; paradigm "discussion exercises"; Linda (logic); basic distributed data structures; Linda: using the system. (chaps 3,4)
Sept 16: basic approaches to a simple problem (primes finding) (chap 5); agenda parallelism and db search... (chap 6...);
Sept 25: (no class Sept 23) result parallelism: string comparison and matrix problems (chap 7); a network program, the data fusion problem and software architecture (chap 8 + handout);
Sept 30: (asynchronous) data parallelism (handout);
Oct 7: adaptive parallelism (handout); Coordinated and distributed applications;
Oct 14: [PART II: THE CONTEXT AND UNDERPINNINGS OF PARALLEL PROGRAMMING: ARCHITECTURE, LANGUAGE IMPLEMENTATION, OTHER SOFTWARE MODELS...] hardware platforms: multiprocessors and LANs (handout);
Oct 21: midterm (Fri)
Oct 28: implementation of Linda (shared memory, multiprocessors, networks);
Nov 4: coordination models: operating system models; message passing systems (CSP. PVM, MPI); parallel Fortrans (and parallelizing Fortran compilers); systolic arrays; object-oriented programming and parallelism;
Nov 11: [PART III: BIG TENT PARALLELISM: DISTRIBUTED APPS, INFORMATION MANAGEMENT, THE NET] big-picture coordination: the internet; web; WAN applications; the "information superhighway," utopia, nirvana, etc. (handouts);
Nov 18: programming the internet (Java, "JavaSpaces"; net-based information management apps (browsers, "Lifestreams");
Dec 2: figuring out the big picture: future of net languages and net apps; where is the internet going? What's the point, anyway?
Additional reading from G. Almassi and A. Gottlieb, Highly Parallel Computing, 2nd Ed. (Cummings: 1994), A. Tanenbaum, Computer Networks (Prentice Hall), research papers, several recent dissertations, others.
Assignment 2:
Problems 5.5, 6.1, 6.2, due Friday, November 8.
Click here for instructions on how to turn
in this assignment.
Teaching Assistant, Fall 1996:
Elisabeth Freeman
Last updated: September 24, 1996