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

Instructors
R. Govindarajan 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
Meeting Hours
11:30-13:00; Tuesday, Thursday; Room 202, SERC
Grading System
-
Sessionals
-
3 Mid-Term Exams (September 7, October 7, November 9) -
20
-
Assignments & Home Works -
30
-
Terminal
Syllabus (for Sathish Vadhiyar's portions)
- Memory and Process Management
- 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
- 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
- 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
- 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
- Popular
programming languages - MPI,
OpenMP, Cuda
Assignments (for Sathish Vadhiyar's portions)
-
CPU Scheduling and Synchronization
-
Pthreads and MPI
-
OpenMP and Cuda