SE 292: High Performance Computing (3:0)
Class

Instructor
Matthew Jacob and Sathish Vadhiyar
Reading Materials
-
Computer Systems - A Programmer's Perspective
by
Bryant and O'Hallaron.
-
Operating System Concepts, 8th Edition
by
Silberschatz, Galvin
and Gagne. John Wiley & Sons. ISBN: 978-0-470-12872-5
-
Introduction to Parallel Computing
by
Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar Publisher:
Addison Wesley; (2003) ISBN: 0-201-64865-2
-
Parallel Computing Architecture
by
David Culler,
Jaswant Singh Publisher:
Morgan Kauffman
- MPI: The Complete Reference. Available Online.
- Various publication materials, lecture slides
Syllabus (for Sathish Vadhiyar's portions)
- Memory and Process Management
ppt
- Main Memory - Swapping,
Allocation, Paging, Page tables, Segmentation
- Virtual Memory - Demand
Paging, Copy-on-Write, Page replacement, Frames, Thrashing
-
Reading:
- Bryant and O'Hallaron -
697-700, 704-705, 709-711, 727, 735-736, 755-757
- Silberschatz et al. -
365-369, 372-373, 378-381, 386-391, 396-397, 400-401
- Silberschatz et al. -
187-198
- Storage Management
ppt
- File System Interface
and Implementation - Concept, Access Methods, Structures, Allocation,
Implementation, Efficiency, NFS
- Storage Structures -
Scheduling, Management, Implementation, RAID
- I/O Systems
-
Reading
- Silberschatz et al. -
sections 11.1, 11.2.1, 11.4, 11.6, 11.7
- Silberschatz et al. -
sections 12.1.1, 12.3, 12.4, 12.7.1, 12.7.2,
- Silberschatz et al. -
sections 13.2.2, 13.2.3, 13.3.4, 13.4.7, 13.5
- Concurrency
ppt
- Interprocess
communication
- Synchronization -
Mutual exclusion, critical section, locks, testandwait, semaphores,
classical problems
- Threads, Multi-threading
- Parallel architecture,
classification, interconnection networks, cache coherence
-
Reading
- Bryant and O'Hallaron
-
sections 13.1, 13.3, pages
869-882, sections 13.7.1, 13.7.4, 13.7.5
- Silberschatz
et al. -
3.5.1, 3.6
- Silberschatz
et al. -
4.1.1, 4.1.2, 4.2, 4.3.1, 4.4.6
- Silberschatz et al. -
5.4
- Silberschatz et al. -
6.2, 6.4 (231, 232), 6.5, 6.6.1, 6.6.3
- Silberschatz et al. -
7.2, 7.5.1, 7.5.3
- Grama et al. - 2.4
- Parallelization
ppt
- Motivations for parallel
programming, challenges, metrics, programming models
- steps in parallelization -
decomposition, assignment, orchestration, mapping
- Reading
- Grama et al. - 3.1, 3.5
- Grama et al. - 5.1-5.6
- Culler and Singh - Sections
2.2 and 2.3
- Programming using the Message
passing paradigm - MPI ppt
- MPI basics
- Collective
communication implementations
- Reading:
- MPI: The Complete
reference: Available online
Assignments (for Sathish Vadhiyar's portions)
- Implement page replacement algorithms
- Assignment 2: Disk arm scheduling, critical
section and producer-consumer problem
- Jacobi using MPI