|
|
|
EAR is composed of five main components:
|
|
|
|
- [Node Manager (EARD)](#node-manager)
|
|
|
|
- [Database Manager (EARDBD)](#database-manager)
|
|
|
|
- [Global Manager (EARGM)](#global-manager)
|
|
|
|
- [Library (EARL)](#library)
|
|
|
|
- [Loader (EARLO)][#loader]
|
|
|
|
- [SLURM plugin](#slurm-Plugin)
|
|
|
|
|
|
|
|
The following image shows the main interactions between components:
|
|
|
|
|
|
|
|
<img src="./images/EAR_arch.png" align="right">
|
|
|
|
|
|
|
|
Node Manager
|
|
|
|
------------
|
|
|
|
EAR's daemon is a per-node process that provides privileged metrics of each node as well as a periodic power monitoring service. Said periodic power metrics are sent to EAR's database either directly or via the database daemon (see [configuration page](Configuration)).
|
|
|
|
|
|
|
|
For more information, see [EARD](EARD).
|
|
|
|
|
|
|
|
Database Manager
|
|
|
|
-----
|
|
|
|
The database daemon acts as an intermediate layer between any EAR component that inserts data and EAR's database to prevent the database server from collapsing due to getting overrun with connections and insert queries.
|
|
|
|
|
|
|
|
For more information, see [EARDBD](EARDBD).
|
|
|
|
|
|
|
|
Global Manager
|
|
|
|
--------------
|
|
|
|
EAR's Global Manager Daemon (EARGMD) is a cluster wide component that controls the percentage of the maximum energy consumed.
|
|
|
|
|
|
|
|
For more information, see [EARGM](EARGM).
|
|
|
|
|
|
|
|
Library
|
|
|
|
-------
|
|
|
|
The EAR library is the core of the EAR package. The EARL offers a lightweight and simple solution to select the optimal frequency for MPI applications at runtime, with multiple power policies each with a different approach to find said frequency. EARL uses the daemon to read performance metrics and to send application data to EAR's database.
|
|
|
|
|
|
|
|
For more information, see [EARL](EARL).
|
|
|
|
|
|
|
|
Loader
|
|
|
|
------
|
|
|
|
EAR Loader is the responsible for loading the EAR Library. It is a small and lightweight library loaded by the SLURM Plugin, that identifies the user application and loads its corresponding EAR Library distribution.
|
|
|
|
|
|
|
|
For more information, see [EARLO](EARL).
|
|
|
|
|
|
|
|
SLURM Plugin
|
|
|
|
------------
|
|
|
|
EAR SLURM plugin allows to dynamically load and configure the EAR library for the SLURM jobs, if the enabling argument is set or is enabled by default. Additionally, it reports any jobs that start or end to the nodes' EARDs for accounting and monitoring purposes.
|
|
|
|
|
|
|
|
For more information, see [SLURM Plugin](SLURM-Plugin). |