![]() |
| Home | People | Curriculum | Projects | Resources | Media |
Instructor: John Dougherty
Semester & Year: Fall 2007
Schedule: Lecture/Lab MWF 11:30 - 12:30 in the CS Teaching Lab (KINSC H110)
Text: Wilkinson, B., and Allen, M. Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, second edition. Prentice-Hall, Upper Saddle River, NJ, 2005 [ISBN 0-13-140563-2].
Additional Materials:
Requirements: Two exams, term project, programming labs and homeworks.
Learning Accomodations: Students who think they may need accommodations in this course because of the impact of a disability are encouraged to meet with the instructor in private (e.g., during office hours) early in the semester. Students should also contact Rick Webb, Coordinator, Office of Disabilities Services (610-896-1290) to verify their eligibility for reasonable accommodations as soon as possible. Early contact will help to avoid unnecessary inconvenience and delays, and facilitate learning.
Collaboration: You are encouraged to discuss the
lecture material and the weekly labs and problems with other
students, subject to the following restriction: the only "product" of
your discussion should be your memory of it - you may not write up
solutions together, or exchange written work or computer files.
Collaboration is not allowed on exams.
Prerequisites: CMSC 206: Data Structures; suggested - CMSC240: Computer Organization, CMSC355: Operating Systems
Description: The goal of this course is to introduce the student to the challenges involved in solving computationally demanding problems in the sciences and economics. The course will also cover the potential gains and consequences of computation where concurrency is exploited as parallel/distributed systems; will also cover the basics of networking. Concepts will be supported by labwork using the Linux workstations and at least one parallel programming environment (PVM or MPI); experience with a shared-memory implementation of MPI or OpenMP is possible. Students will be expected to understand principles, as well as work to implement parall applications (including installing software, benchmarking and conducting experiments).
The foundations of HPSC computing are presented, including:
Architectures
|
Algorithms
|
Implementation Issues
|
Scientific Applications
|
A course syllabus is available online from 2001; new version under revision.
|
|