Commit 6b91cf46 authored by Ondrej Vysocky's avatar Ondrej Vysocky
Browse files

FIX link #1

parent a3662846
......@@ -40,7 +40,7 @@ The library was originally developed for x86 systems (tested on HSW, BDW and KNL
MERIC allows to set selected system parameters for the whole application run or for each instrumented part of the analyzed application. Following list of the system parameters can be tuned using MERIC. Default and valid values of the following parameters can be read using `systemInfo` application (part of the MERIC repository, located in the tools/ directory).
## CPU core frequency ##
### CPU core frequency ###
MERIC provides several ways how to change the CPU core frequency:
* Under Intel P-State using [libmsr](https://github.com/LLNL/libmsr)+[msr-safe](https://github.com/LLNL/msr-safe), requires write acess to `/sys/devices/system/cpu/intel_pstate/no_turbo` and `/sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq`.
* Using [x86_adapt](https://github.com/tud-zih-energy/x86_adapt).
......@@ -48,7 +48,7 @@ MERIC provides several ways how to change the CPU core frequency:
* Using direct write to the `/sys/devices/system/cpu/cpu<ID>/cpufreq/scaling_setspeed`.
## CPU uncore frequency ##
### CPU uncore frequency ###
Intel uncore frequency refers to frequency of subsystems in the physical processor package that are shared by multiple processor cores. E.g., L3 cache or on-chip ring interconnect.
MERIC requires [libmsr](https://github.com/LLNL/libmsr)+[msr-safe](https://github.com/LLNL/msr-safe) or [x86_adapt](https://github.com/tud-zih-energy/x86_adapt) to be able to change the system uncore frequency.
......@@ -56,7 +56,7 @@ MERIC requires [libmsr](https://github.com/LLNL/libmsr)+[msr-safe](https://githu
When using msr-safe to tune uncore frequency, it may happen, that the MSR_UNCORE_RATIO_LIMIT register is not available. In that case add `0x620 0x7F7F` to the system's whitelist.
## Intel RAPL power capping ##
### Intel RAPL power capping ###
Intel processors with RAPL energy measurement system provides possibility to specify average power consumption of the PKG or DRAM in a specific time window.
MERIC requires requires [libmsr](https://github.com/LLNL/libmsr)+[msr-safe](https://github.com/LLNL/msr-safe) or [x86_adapt](https://github.com/tud-zih-energy/x86_adapt) to be able change the power limits. Currently only PKG power cap is supported.
......@@ -64,11 +64,11 @@ MERIC requires requires [libmsr](https://github.com/LLNL/libmsr)+[msr-safe](http
Please, note that RAPL power capping system uses equation to specify the window size for PKG: `PKGTimeLimit = 2^Y * (1.0 + Z/4.0) * TimeUnit`, where Y=<0, 31>, Z=<0,3> and TimeUnit is usually a fraction of microsecond and window size for DRAM: `DRAMTimeLimit = 2^Y*F * TimeUnit`, where F={1.0, 1.1, 1.2, 1.3} and Y=<0, 31>. Due to that it might be impossible to set exactly the window size you have specified.
## Number of active OMP threads ##
### Number of active OMP threads ###
Using OpenMP API.
## ARM Jetson memory frequency ##
### ARM Jetson memory frequency ###
To simplify MERIC's interface, the memory frequency is set the same way as Intel CPU uncore frequency using MERIC_UNCORE_FREQUENCY environment variable.
......@@ -77,7 +77,7 @@ To simplify MERIC's interface, the memory frequency is set the same way as Intel
--------------------------------------------------------------------------------
Energy measurement system can be selected using `MERIC_MODE` environment variable.
## Intel RAPL ##
### Intel RAPL ###
From the Sandy Bridge microarchitecture all contemporary Intel processors provides software-based energy meter with sampling frequency 1 kHz of the PKG (CPUs) and DRAM. The system does not cover energy consumption of the node itself.
Since we are speaking about counters, overflow may happen during the application run. MERIC implements a overflow detection and recovery system, however it cannot fix the values if two or more overflows happen during a region that does not have any nested region. Please, keep it in mind when specifying a region size.
......@@ -87,21 +87,21 @@ Based on these counters Intel processors can limit its energy consumption, using
In MERIC [libmsr](https://github.com/LLNL/libmsr)+[msr-safe](https://github.com/LLNL/msr-safe) or [x86_adapt](https://github.com/tud-zih-energy/x86_adapt) is required to access the RAPL counters. In the detailed mode MERIC stores values for each CPU and for each DRAM, otherwise it aggregates the values.
## HDEEM ##
### HDEEM ###
High Definition Energy Efficiency Monitoring (HDEEM) is Bull's stand alone energy measurement system located on the node itself, with a power sampling frequency 1 kHz. HDEEM stores power samples in its internal memory and MERIC can read the energy consumption when a region starts and ends with significant overhead of the HDEEM system, or when the application run is over, without any impact on the application run.
## DiG ##
Dwarf in Giant (DiG) is a hardware stand-alone power sampling system that stores the samples, that can be accessed through the [EXAMON]{http://projects.eees.dei.unibo.it/monitoring/wordpress/} framework.
### DiG ###
Dwarf in Giant (DiG) is a hardware stand-alone power sampling system that stores the samples, that can be accessed through the [EXAMON](http://projects.eees.dei.unibo.it/monitoring/wordpress/) framework.
To activate possibility of energy measurement provided by DiG system in the MERIC, [REST-client library](https://github.com/mrtazz/restclient-cpp) must be available on the target system. MERIC and the tuned applications must be compiled with the library.
## BSC ARM Jetson ##
### BSC ARM Jetson ###
Part of the MERIC repository is a python power measurement script that runs on node background and effects CPU. The script stores the power samples into a file, and MERIC evaluates energy consumption of the instrumented regions when the application run is over (MERIC_CONTINUAL=1 must be exported). 10 samples per second was selected in the measurement script as a compromise - this sampling rate takes ~2% of the CPU load. It is possible to change the rate in tools/getJTX1measurements.py.
## BSC ARM ThunderX ##
### BSC ARM ThunderX ###
BSC's ThunderX energy measurement system doesn't effects the CPUs, however it measures energy consumed by all available nodes (one must allocate all four nodes), and its energy measurement samples frequency is approximately 4 samples per second. To run MERIC on the ThunderX export MERIC_CONTINUAL=1.
--------------------------------------------------------------------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment