Prerequisites: CS633 Or Instructor’s Consent
Who Can Take The Course
PhD, Masters, 3rd and 4th year UG Students
Parallel programming is ubiquitous in today’s multicore era and solves many real-world scientific problems. Massive parallelism entails significant hardware and software challenges. The course is structured so that the participants read and review recent papers in this field. This will be a research paper discussion based course. The topics selected for the paper discussions will be based on advanced topics in the field and from top-tier conferences and journals such as SC, HPDC, TPDS, JPDC, etc. This course will also involve a research-based major project component.
Job scheduling, Slurm, hwloc
Parallel file systems
Lustre, I/O optimizations, I/O parameter selections
Remote memory access, windows
computation and communication models, logP, logGP models
Profiling and tracing, understanding popular tools such as TAU, HPCToolkit, I/O profiling using Darshan
Mapping heuristics, performance improvement with mapping, visual representation of topology
Scientific simulation and visualization
Simulation, visualization and analysis workflows, large-scale data movement optimizations
Spark and MPI
Apache Spark, Large-scale data analysis using Spark and MPI
Grid, Cloud, Fog, Edge
Trends from Grid to Cloud to Fog and Edge
Projects based on above topics
- DE Culler, A Gupta and JP Singh, Parallel Computer Architecture: A Hardware/Software Approach Morgan-Kaufmann, 1998.
- A Grama, A Gupta, G Karypis, and V Kumar, Introduction to Parallel Computing. 2nd Ed., Addison-Wesley, 2003.
- William Gropp, Torsten Hoefler, Ewing Lusk, Rajeev Thakur, Using Advanced MPI: Modern Features of the Message-Passing Interface, Cambridge MIT Press, 2014.
4. MJ Quinn, Parallel Computing: Theory and Practice, Tata McGraw Hill, 2002.
- Teacher: Preeti Malakar