NORC is a tool that automates the analysis of hardware counters' noise resilience and performance measurements. This repository provides two main components:
- The data acquisition component measures performance. You'll find the tool in the
acquisition
directory. Before taking measurements, you need to configure it to your target system. - The analysis component allows inspecting the results from the data acquisition. The tools are located in the
analysis
directory. You can find more details in the analysis README.
The installation process is divided into two parts:
- Setup for the measurements': This involves configuring the environment and tools for taking performance measurements.
- Setup for results evaluation: This covers the necessary steps to prepare the system for evaluating the collected data.
Before any performance measurements can be taken the tool must be configured for the target system, this can be done interactively during installation or beforehand by adjusting the configuration files in the config folder.
To perform the interactive installation, navigate to acquisition
and run the installation script install.sh
:
cd acquisition
./install.sh
The installation script will ask questions to create a meaningful configuration for your system, if you want to adjust the configuration in detail perform the following steps:
- Configure how to install dependencies (see Build Settings)
- Add a system configuration for the target system (see Adding Systems)
- Configure the experiment (see Creating Experiments)
To run the installation non interactively use ./install.sh -q
, if everything is configured correctly this will install Score-P, PAPI, all benchmarks, and NOIGENA. As this can take a long time, we advise to choose a generous time limit for interactive session if required by the system. The install
script will also create an empty experiment in the build
folder. Subsequent calls to install
will only create an empty experiment and not build anything else unless necessary.
Once the installation has succeeded execute the run script:
cd acquisition
./run.sh -i <N>
This will run all measurements in the experiment N
times and open the job tracker. The run
command can be terminated at this point as the job tracking is not essential to the measurements. Once all measurements have succeeded, go to acquisition/build
, compress the experiment
directory, and copy it back to the local machine for analysis.
For analyzing the results, we provide a python package which can be simply installed using pip:
cd analysis
pip install .
git clone https://github.com/tuda-parallel/NORHC.git
cd NORHC
cd acquisition
./install.sh
# Once the interactive setups completes
# install the analysis components
cd ../analysis
pip install .
# Run some experiments and examine them
cd ../acquisition
./run.sh -i <N>
# Finally launch the GUI and examine the results
Instructions on how to analyze the results are provided here.
Kindly see the instructions provided under docs/contributing.md.
Distributed under the BSD 3-Clause License. See LICENCE for more information.