![]() |
| Home | People | Curriculum | Projects | Resources | Media |
|
Syllabus |
Fall 2007 |
High Performance Scientific Computing covers a wide range of topics; this course will focus initially on message-passing applications, and then discuss alternatives and applications. It is anticipated that most (i.e., almost all) of the class time will be spent on collaborative lab work.
|
Week |
Topic |
Text |
Lab Exercises |
|---|---|---|---|
|
|
clasification of parallel architectures and approaches (e.g., Flynn's taxonomy); terms (e.g., concurrent, parallel, distributed);motivations and issues regarding parallelism; Amdahl & Gustafson Laws; CSP, CCS; benchmarking and timing; MPI overview; message passing and MPI; |
|
Lab 0: Installing (Ubuntu) Linux and (Open) MPI; "Hello, everyone!" in MPI |
|
|
"brain-dead" parallelism; fractals, monte carlo applications; models for parallel computation (Petri-nets; Markov-based models; BSP; LogP and other metrics); scheduling schemes for load balancing; partitioning; matrix multiply application; divide and conquer |
|
Lab 1: Hot Potato (Ring); BCCD is feasible |
|
|
pipelining (low-level and process-level); synchronization issues, barriers, data parallelism and SIMD; scheduling and load balancing; distributed termination detection; bioinformatics application |
|
Lab 2: Finding a Statistical Strategy for Playing Darts |
|
|
shared memory concepts and issues; dependability and performability issues |
|
Complete Lab 2 (due this week) |
|
|
distributed shared memory; thread-based approaches; scientific applications |
|
Lab 3: Tuning the Dart Strategy Application Perofrmance |
|
|
numerical algorithms; matrix operations; linear systems; Gaussian elimination |
|
Complete Lab 3 (due this week); Term Project Proposals due |
|
|
midterm break |
||
|
|
image processing and visualization; Fourier transform and FFT (even FFFTW); applications |
|
Lab 4: "Cut or Copy": which yields results faster? |
|
|
searching and optimization; genomics applications (BLAST) |
|
Complete Lab 4 (due this week) |
|
|
message passing and interprocess communication issues |
|
Term Project Status Reports |
|
|
basic IPC; initialize and cleanup; send & receive; message composition |
|
|
|
|
increasing IPC speed/efficiency: packets vs. circuits; wormhole routing; switches; theoretical limits |
|
|
|
|
increasing IPC correctness/dependability: acks; checksums, error correcting (see cs235); theoretical limits |
|
|
|
|
current and future trends in HPC computing (e.g., real-time, supercomputing, grand challenge problems, quantum computing); scientific, economic, other applications |
|
|
|
|
term project reports & presentations |
|
Term Project due |
Schedule is tentative, and will be modified throughout the course.
|
|