|
2 | 2 |
|
3 | 3 | # Recorder |
4 | 4 |
|
5 | | -**A Multi-Level Library for Understanding I/O Activity in HPC Applications** |
6 | | - |
7 | | -We believe that multi-level I/O tracing and trace data analysis tool can help |
8 | | -end users understand the behavior of their application and I/O subsystem, and |
9 | | -can provide insights into the source of I/O performance bottlenecks. |
| 5 | +**Comprehensive Parallel I/O Tracing and Analysis** |
10 | 6 |
|
11 | 7 | Recorder is a multi-level I/O tracing framework that can capture I/O function |
12 | | -calls at multiple levels of the I/O stack, including HDF5, MPI-IO, and POSIX |
13 | | -I/O. Recorder requires no modification or recompilation of the application and |
| 8 | +calls at multiple levels of the I/O stack, including HDF5, PnetCDF, NetCDF, MPI-IO, |
| 9 | +and POSIX I/O. Recorder requires no modification or recompilation of the application and |
14 | 10 | users can control what levels are traced. |
15 | 11 |
|
16 | 12 |
|
17 | | -## Documentation |
| 13 | +### Quickstart |
| 14 | + |
| 15 | +Build: |
| 16 | + |
| 17 | +```bash |
| 18 | +git clone https://github.com/uiuc-hpc/Recorder.git |
| 19 | +cd Recorder |
| 20 | +export RECORDER_INSTALL_PATH=`pwd`/install |
| 21 | +git submodule update --init --recursive |
| 22 | +mkdir build && cd build |
| 23 | +cmake .. -DCMAKE_INSTALL_PREFIX=$RECORDER_INSTALL_PATH |
| 24 | +make && make install |
| 25 | +``` |
| 26 | + |
| 27 | +Run: |
| 28 | +```bash |
| 29 | +mpirun -np N -env LD_PRELOAD $RECORDER_INSTALL_PATH/lib/librecorder.so ./your-app |
| 30 | + |
| 31 | +# On HPC systems, you may need to use srun or |
| 32 | +# other job schedulers to replace mpirun, e.g., |
| 33 | +srun -n4 -N1 --overlap --export=ALL,LD_PRELOAD=$RECORDER_INSTALL_PATH/lib/librecorder.so ./your-app |
| 34 | +flux run -n 4 --env LD_PRELOAD=$RECORDER_INSTALL_PATH/ilb/librecorder.so ./your-app |
| 35 | +``` |
| 36 | + |
| 37 | + |
| 38 | +### Documentation |
18 | 39 |
|
19 | 40 | Recorder documentation is at [https://recorder.readthedocs.io/](https://recorder.readthedocs.io/). |
| 41 | + |
| 42 | + |
| 43 | +### To cite: |
| 44 | + |
| 45 | +Wang, Chen, Jinghan Sun, Marc Snir, Kathryn Mohror, and Elsa Gonsiorowski. “Recorder 2.0: Efficient Parallel I/O Tracing and Analysis.” In IEEE International Workshop on High-Performance Storage (HPS), 2020. |
| 46 | +[https://ieeexplore.ieee.org/abstract/document/9150354](https://ieeexplore.ieee.org/abstract/document/9150354) |
| 47 | + |
| 48 | +Note that Recorder has undergone significant changes since the last “Recorder 2.0” paper. We have incorporated a new pattern-based compression algorithm, along with many new features. We are preparing a new paper that will describe all these changes in detail. |
0 commit comments