|
|
## Tables
|
|
|
|
|
|
EAR's database consists of the following tables:
|
|
|
- **Jobs**: job information (app_id, user_id, job_id, step_id, etc). One record per jobid.stepid is created in the DB.
|
|
|
- **Applications**: this table's records serve as a link between Jobs and Signatures, providing an application signature (from EARL) for each node of a job. One record per jobid.stepid.nodename is created in the DB.
|
|
|
- **Signatures**: EARL computed signature and metrics. One record per jobid.stepid.nodename is created in the DB when the application is executed with EARL.
|
|
|
- **Periodic_metrics**: node metrics every N seconds (N defined in `ear.conf`)
|
|
|
- **Periodic_aggregations**: sum of all Periodic_metrics in a time period to ease accounting in `ereport` command and EARGM, as well as reducing database size (Periodic_metrics of older periods where precision at node level is not needed can be deleted and the aggregations used instead).
|
|
|
- **Loops**: similar to Applications, but stores a Signature for each application loop detected by EARL, instead of one per each application. This table provides internal details of running applications and could significantly increase the DB size.
|
|
|
- **Events**: EARL events report. Events includes frequency changes, and internal EARL decisions such as turning off the DynAIS algorithm.
|
|
|
- **Global_energy**: reports of cluster-wide energy accounting, set by EARGM using the parameters in `ear.conf`. One record every T1 period (defined at ear.conf) is reported.
|
|
|
- **Power_signatures**: Basic time and power metrics that can be obtained without EARL. Reported for all the applications. One record per jobid.stepid.nodename is created in the DB.
|
|
|
- **Learning_applications**: same as Applications, restricted to learning phase applications
|
|
|
- **Learning_jobs**: same as Jobs, restricted to learning phase jobs
|
|
|
- **Learning_signatures**: same as Signatures, restricted to learning phase job metrics
|
|
|
|
|
|
## Database creation and `ear.conf`
|
|
|
|
|
|
When running `edb_create` some tables might not be created, or may have some quirks, depending on some `ear.conf` settings. The settings and alterations are as follows:
|
|
|
|
|
|
- `DBReportNodeDetail`: if set to 1, `edb_create` will create to additional columns in the Periodic_metrics table for Temperature (in Celsius) and Frequency (in Hz) accounting.
|
|
|
- `DBReportSigDetail`: if set to 1, Signatures will have additional fields for cycles, instructions, and FLOPS1-8 counters (number of instruction by type).
|
|
|
- `DBMaxConnections`: this will restrict the number of maximum simultaneous commands connections.
|
|
|
|
|
|
If any of the settings is set to 0, the table will have fewer details but the table's records will be smaller in stored size.
|
|
|
|
|
|
Any table with missing columns can be later altered by the admin to include said columns. For a full detail of each table's columns, run `edb_create -o` with the desired `ear.conf` settings.
|
|
|
|
|
|
## Information reported and `ear.conf`
|
|
|
|
|
|
There are various settings in `ear.conf` that restrict the data reported to database, and some errors might occur if the database configuration is different from EARDB's.
|
|
|
|
|
|
- `DBReportNodeDetail`: if set to 1, the node managers will report temperature, average frequency, DRAM and PCK energy to the database manager, which will try to insert it to Periodic_metrics. If Periodic_metrics does not have the columns for both metrics, an error will occur and nothing will be inserted. To solve the error, set `ReportNodeDetail` to 0 or manually update Periodic_metrics to have the necessary columns.
|
|
|
|
|
|
- `DBReportSigDetail` : similarly to `ReportNodeDetail`, an error will occur if the configuration differs from the one used when creating the database.
|
|
|
|
|
|
- `DBReportLoops` : if set to 1, EARL detected application loops will be reported to database, each with its corresponding Signature. Set to 0 to disable this feature. Regardless of the setting, no error should occur.
|
|
|
|
|
|
If Signatures and/or Periodic_metrics have the additional columns but their respective settings are set to 0, a NULL will be set in said additional columns, which will make those rows smaller in size (but bigger than if the columns did not exist).
|
|
|
|
|
|
<img src="./images/EARDB_schema.png" align="center" width="680"> |