SE 292: High Performance Computing (3:0)

Class

  1. Neel Choudhary
  2. Tarun Sharma
  3. Arun I
  4. Nitish Divakar
  5. Jaley H Dholakiya
  6. M Hariprasad
  7. Ishwar Raut
  8. Vedsar Kushwaha
  9. Kachore Vaibhav Ankush
  10. Swarandeep Sahoo
  11. Anubhav Das
  12. Dhuldhule Pratima Ashok
  13. Roopesh Mangal
  14. Abdus Shamim
  15. Anshul Kumar

Instructors

Matthew Jacob and Sathish Vadhiyar

Reading Materials

Meeting Hours

  Tuesday, Thursday. SERC 221. 9:30-11:00

Grading System (for Sathish Vadhiyar's portions)

Syllabus (for Sathish Vadhiyar's portions)

    1. Memory and Process Management ppt
      1. Main Memory - Swapping, Allocation, Paging, Page tables, Segmentation
      2. Virtual Memory - Demand Paging, Copy-on-Write, Page replacement, Frames, Thrashing
      3. Reading:
        1. Bryant and O'Hallaron - 697-700, 704-705, 709-711, 727, 735-736, 755-757
        2. Silberschatz et al. - 365-369, 372-373, 378-381, 386-391, 396-397, 400-401
        3. Silberschatz et al. - 187-198
    2. Concurrency ppt
      1. Interprocess communication
      2. Synchronization - Mutual exclusion, critical section, locks, testandwait, semaphores, classical problems
      3. Threads, Multi-threading
      4. Parallel architecture, classification, interconnection networks, cache coherence
      5. Reading
        1. Bryant and O'Hallaron - sections 13.1, 13.3, pages 869-882, sections 13.7.1, 13.7.4, 13.7.5
        2. Silberschatz et al. - 3.5.1, 3.6
        3. Silberschatz et al. - 4.1.1, 4.1.2, 4.2, 4.3.1, 4.4.6
        4. Silberschatz et al. - 5.4
        5. Silberschatz et al. - 6.2, 6.4 (231, 232), 6.5, 6.6.1, 6.6.3
        6. Silberschatz et al. - 7.2, 7.5.1, 7.5.3
        7. Grama et al. - 2.4
    3. Parallelization ppt
      1. Motivations for parallel programming, challenges, metrics, programming models
      2. steps in parallelization - decomposition, assignment, orchestration, mapping
      3. Reading
        1. Grama et al. - 3.1, 3.5
        2. Grama et al. - 5.1-5.6
        3. Culler and Singh - Sections 2.2 and 2.3
    4.  Popular programming languages - MPI, OpenMP, Cuda
    5. Storage Management ppt
      1. File System Interface and Implementation - Concept, Access Methods, Structures, Allocation, Implementation, Efficiency, NFS
      2. Storage Structures - Scheduling, Management, Implementation, RAID
      3. I/O Systems
      4. Reading
        1. Silberschatz et al. - sections 11.1, 11.2.1, 11.4, 11.6, 11.7
        2. Silberschatz et al. - sections 12.1.1, 12.3, 12.4, 12.7.1, 12.7.2,
        3. Silberschatz et al. - sections 13.2.2, 13.2.3, 13.3.4, 13.4.7, 13.5

Assignments (for Sathish Vadhiyar's portions)

  1. Assignment 1 - Memory allocation and synchronization
  2. Assignment 2 - Matrix Multiplication using MPI
  3. Assignment 3 - Merge sort using OpenMP, Intro to CUDA