User Tools

Site Tools


skill-tree:pe:2:2:b

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
skill-tree:pe:2:2:b [2020/06/18 20:15] – external edit 127.0.0.1skill-tree:pe:2:2:b [2025/04/16 18:30] (current) – external edit 127.0.0.1
Line 1: Line 1:
-# PE2.2-B Profiling +# PE2.2 I/O Performance 
-# Background + 
-   Profiling is explained for the CPU levelwhere it can be supported by hardware performance counters and by sampling techniques.  +There are several aspects involved in delivering high I/O performance to parallel applicationsfrom hardware characteristics to methods that manipulate workloads to improve achievable performance. 
-   Sampling is used to see, by examining the program counter, what routines and source code lines of a program are responsible for which portions of the total runtime.  + 
-   Automatically adding trace code to a parallel program by so-called instrumentation to record its execution in a strict chronology is explained and the difference to profiling is emphasized.  +Running the same application with different I/O configurations gives the possibility to tune the I/O system according to the application access pattern
-   Similar techniques are explained for profiling the network level (e.g. based on InfiniBand counters and I/O server states).  + 
-# Aim +One way to predict application performance in HPC systems with different I/O configurations is by using modelling and simulation techniques. 
-# Outcomes +Modeling the system allows assessing obtained performance and therewith estimate the performance potentially gained by optimizations
-   detect performance issues and bottlenecks caused, for example, by inefficient programming, memory accesses, I/O operations, cache-misses, page-faults, and parallelization overheads  + 
-   use environment variables like $I_MPI_STATS to control the built-in performance analysis functionality in MPI+File systems are implemented in the operating system which deploys strategies to improve performance such as scheduling, caching and aggregation. 
 +Therefore, the observable I/O performance depends on more than the capabilities of the raw block device
 + 
 + 
 +## Learning Outcomes 
 + 
 +Select performance models to assess and optimize the application I/O performance. 
 +Identify tools capable of predicting the behavior of applications in HPC. 
 +* Apply methods to manipulate workloads to improve achievable performance. 
 +* Understand metrics that describe relevant I/O performance characteristics. 
 +* Select tools to analyze I/O performance of applications. 
 +* Apply the performance analysis tools to applications and workflows. 
 +* Interpret the results of I/O analysis tools and distill optimization strategies for the application or system configurations. 
  
-# Subskills 
-  * [[skill-tree:pe:2:2:1:b]] 
skill-tree/pe/2/2/b.1592504111.txt.gz · Last modified: 2020/06/18 20:15 by 127.0.0.1