Back by popular demand, the ARC at Georgetown University has for some strange reason decided to offer my Intermediate Beowulf Administration and Optimization course for a second time this March (18th-20th). The details and background are on the ARC HPC Training Page. Class size is limited, so if you have interest, sign up early. Course description is below. Excellent donuts.
Intermediate Beowulf Administration and Optimization Overview: Clusters are powerful computing devices. Often times, however, translating raw processor and network performance into real application performance is not a simple "plug-and-play" proposition. Indeed, clusters have a certain level of latent performance that often goes unused. The goal of this course will be to provide system administrators and users with tools to ensure that their cluster(s) are running at their fullest potential. Emphasis will be placed on issues which can be be quickly and easily adjusted by the system administrator. We will make a distinction between application optimization and system optimization. We will not cover application optimization (e.g. MPI coding) but rather focus on what administrators have under their direct control (i.e. the system). Prerequisites: Attendees should have a solid understanding and working knowledge of basic Linux cluster concepts including Linux networking, gcc and gfortran (g77), MPI, bash scripting, Makefiles, vi/emacs, using kernel modules, and basic system administration Other than bash scripting, C or Fortran programming experience is not necessary, but helpful. Day 1: Morning Section Cluster Optimization: Finding more FLOPS Why optimize or tune? What we will tune (and what we will not) Understanding the Art of Benchmarking Benchmarking Tools and Applications Understanding Terminology Cluster Components and Typical Configurations Day 1: Afternoon Section Creating the Baseline (hands on benchmarking) Single Node benchmarks Network benchmarks Application level benchmarks Real Applications Day 2: Morning Beyond -03: Compilers, Cores, NFS, and Compiler Options Libraries Multi-core Optimization Operating System Parameters Understanding NFS and Clusters Day 2: Afternoon Improving the baseline (hands on benchmarking) Compiler/Library Options Multi-core Optimization Operating System Parameters Day 3: Morning Interconnect Tuning and Optimization Gigabit Ethernet Infiniband (OFED) Myrinet MPI Options (OMPI, LAM, MPICH, MPICH2) Day 3: Afternoon Optimizing the Communication Stack Using MPI Options (OMPI, LAM, MPICH, MPICH2) Using Gigabit Ethernet Options Using Infiniband (OFED) Using Myrinet Options Course Summary and Wrap-up