COURSE INFORMATION (First Handout)
Designing and Building
Parallel Programs (by Ian Foster): an on-line book
TENTATIVE SCHEDULE
| Week |
|
| W1: Jan 20 | Introductions, VonNeumann architecture, examples of hard problems, growing performance, Moore's law saturation and need for alternatives (Ch1) |
| W2: Jan 27 |
Parallelism,
speed-up, perfect linear
speed-up, embar.par.prog., obstacles (Ch1): data dep., comm. overhead (*-grained algo's), seq. overhead (Amdahl's law) |
| W3: Feb 3 |
Parallel architectures (CPU's vs. RAM),
shared memory (Ch8), SMP's, threads, Java threads, Example1.java, Example2.java, PRJ1-A, Primes.java |
| W4: Feb 10 |
SMP's (Ch8), threads (8.2.2), Java threads, PRJ1 discussion |
| W5: Feb 17 |
PRJ1-D, Pthreads (C/C++) (8.2.2, App B), PRJ2-A, primes.cc |
| W6: Feb 24 |
Pthreads, critical sections, thread
synchronization (8.3, App B), mutual exclusion, locks, semaphores, deadlocks |
| W7: March 3 |
PRJ2-D Exam1 (Midterm) Distributed memory, clusters, MPI (Ch 2, App A), Parallel Monster (PM) cluster, PRJ3-A (prj3.cc) |
| W8: March 10 |
Clusters continued, MPI (Ch 2, App A),
Project 3 discussion |
| W9: - |
SPRING BREAK |
| W10: March 24 |
PRJ3-D, PRJ4-A, PlainSpint.tar,
Project 4
discussion, X-Manager, excitable media (Java applet), generating spiral gas, Cluster management tools, Parallel Laboratory tour |
| W11: March 31 |
Graded Prj3 returned, Prj4 & SpInt code discussion |
| W12: April 7 |
Student Presentation (A.Pena), Supercomputing industry
overview, top500.org,
Giga/Tera/PetaFloPS, Peak performance, Linpack benchmark, cluster economics, Switched Ethernet Topology, 10/100/Gig/10GigE, hub vs. switch vs. router, crossbar switch, switching fabric, circuit switching, wormhole routing, layered switches, uplinks, Myrinet, InfiniBand |
| W13: April 14 |
Parallel divide-and-conquer (4.1.2 p111), Parallel
Prefix Sum (6.2.1 p172), ..., Prj 4 Discussion and Q&A |
| W14: April 21 |
PRJ4-D, Student Prj4
presentations |
| W15: April 28 |
Exam2 |
A = Assigned
D = Due