Introduction to HPC architectures: Shared and Distributed memory architectures, Multiprocessor Architecture. Parallel Processing Concepts; Levels and model of parallelism: instruction, transaction, task, thread, memory, function, data flow models, demand-driven computation; Parallel architectures: superscalar architectures, multi-core, multi-threaded, server and cloud; Fundamental design issues in HPC: Load balancing, scheduling, synchronization and resource management.
Operating systems for scalable HPC; Parallel languages and programming environments; OpenMP, Pthread, MPI, java, Cilk; Performance analysis of parallel algorithms; Fundamental
limitations in HPC: bandwidth, latency, and latency hiding techniques; Benchmarking HPC: scientific, engineering, commercial applications and workloads.
Scalable storage systems: RAID, SSD cache, SAS, SAN; HPC based on cluster, cloud, and grid computing: economic model, infrastructure, platform, computation as service; Accelerated HPC: architecture, programming and typical accelerated system with GPU, FPGA, Xeon Phi, Cell BE; Power-aware HPC Design: computing and communication, processing, memory design, interconnect design, power management; Advanced topics: peta scale computing; big data processing, optics in HPC, quantum computers. Case Studies on the parallel machine and HPC cluster using Pthread, OpenMP, MPI, Nvidia Cuda and Cilk.