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.
S. No |
Broad Title |
Topics |
No.of Lectures |
1 |
Resource management |
Job scheduling, Slurm, hwloc |
4 |
2 |
Parallel file systems |
Lustre, I/O optimizations, I/O parameter selections |
4 |
3 |
One-sided communications |
Remote memory access, windows |
4 |
4 |
Performance modeling |
computation and communication models, logP, logGP models |
4 |
5 |
Parallel profiling |
Profiling and tracing, understanding popular tools such as TAU, HPCToolkit, I/O profiling using Darshan |
4 |
6 |
Topology-aware mapping |
Mapping heuristics, performance improvement with mapping, visual representation of topology |
4 |
7 |
Scientific simulation and visualization |
Simulation, visualization and analysis workflows, large-scale data movement optimizations |
4 |
8 |
Spark and MPI |
Apache Spark, Large-scale data analysis using Spark and MPI |
4 |
9 |
Grid, Cloud, Fog, Edge |
Trends from Grid to Cloud to Fog and Edge |
4 |
10 |
Project review |
Projects based on above topics |
4 |
4. MJ Quinn, Parallel Computing: Theory and Practice, Tata McGraw Hill, 2002.