  Finely tuning MPI applications and understanding the influence of
keyparameters (number of processes, granularity, collective
operationalgorithms, virtual topology, and process placement) is critical
toobtain good performance on supercomputers. With the high consumptionof
running applications at scale, doing so solely to optimize theirperformance is
particularly costly. Havinginexpensive but faithful predictions of expected
performance could bea great help for researchers and system administrators.
Themethodology we propose decouples the complexity of the platform, whichis
captured through statistical models of the performance of its maincomponents
(MPI communications, BLAS operations), from the complexityof adaptive
applications by emulating the application and skippingregular non-MPI parts of
the code. We demonstrate the capability of our method with
High-PerformanceLinpack (HPL), the benchmark used to rank supercomputers in
theTOP500, which requires careful tuning. We briefly present (1) how
theopen-source version of HPL can be slightly modified to allow a fastemulation
on a single commodity server at the scale of asupercomputer. Then we present
(2) an extensive (in)validation studythat compares simulation with real
experiments and demonstrates our ability to predict theperformance of HPL
within a few percent consistently. This study allows us toidentify the main
modeling pitfalls (e.g., spatial and temporal nodevariability or network
heterogeneity and irregular behavior) that needto be considered. Last, we show
(3) how our "surrogate" allowsstudying several subtle HPL parameter
optimization problems whileaccounting for uncertainty on the platform.
