Calculating coefficient data

LSF provides an initialization script (initialize_eas in $LSF_BINDIR) that calculates coefficients and must be run on all compute nodes.

The initialization utility:

initialize_eas

Initialization script to generate coefficient data for automatic CPU frequency selection.

Synopsis

initialize_eas [ -s {rsh | ssh | xdsh} ] -n node_list_file | -a new_node_list_file [ -f default_frequency ] -c cluster_name -d benchmark_dir
initialize_eas [ -s {rsh | ssh | xdsh} ] -n node_list_file [-f default_frequency]
initialize_eas -l -c cluster_name
initialize_eas [-h | -V]

Description

The script (initialize_eas) can be run several times with different default CPU frequencies each time to generate several coefficient data groups before starting the LSF cluster. The default CPU frequency can be set using the utility initialize_eas -f.

Output data can be found in the following locations:

  • /etc/energy/failed_node_list
  • /etc/energy/out.[hostname]
  • /etc/energy/investigation/investigation.[hostname]
  • /etc/energy/coefficients/out.[hostname]
Note: The initialization utility must be configured by the system administrator; it requires super user authority.
Important: Run the script as root.
Important: Run the script on the master candidate node, which must be connected to a MySQL database.
Note: Before running the script, set up the remote execution command: rsh / ssh / xdsh

Usage

-h
Provides extended help information.
-V
Displays the name of the command, release number, and lowest level of the operating system to run this release.
-s

rsh | ssh | xdsh

Specifies which remote execution command will be used to run the energy initialization commands on the remote node. The default command is rsh.

-d

benchmark_dir

Specifies the location of the energy benchmarks.

-f

default_frequency

Specifies the default CPU frequency (GHz, MHz, or KHz). The default is GHz.

-n

node_list_file

Specifies the compute nodes that need to run the benchmarks. Each host should be on one line in the file.

-a

new_node_list_file

Specifies the new nodes that need to be added in the cluster. Each host should be on one line in the file.

-c

cluster_name

Specifies the cluster name used to generate coefficient data.

-l

load coefficient data into database.

Results

The result of initialize_eas is two new tables in the database, one for the coefficients and one for the energy policy tag:

CREATE TABLE IF NOT EXISTS TLSF_EnergyCoEfficients (
  frequency INTEGER NOT NULL,  default_frequency INTEGER NOT NULL,  cluster_name VARCHAR(40) BINARY NOT NULL,  factor_a DOUBLE NOT NULL, 
  factor_b DOUBLE NOT NULL, 
  factor_c DOUBLE NOT NULL, 
  factor_d DOUBLE NOT NULL, 
  factor_e DOUBLE NOT NULL, 
  factor_f DOUBLE NOT NULL,  
  KEY (frequency, cluster_name,default_frequency),
) ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS TLSF_EnergyPolicyTag (
  energy_tag_name VARCHAR(256) BINARY NOT NULL,
  user_name VARCHAR(256)BINARY  NOT NULL,
  default_frequency INTEGER NOT NULL,
  frequency INTEGER NOT NULL,
  cluster_name VARCHAR(40) BINARY  NOT NULL,
  job_ id VARCHAR(1024) BINARY  NOT NULL,
  predict_power DOUBLE NOT NULL,
  energy_saving_pct DOUBLE NOT NULL,
  predict_elapse_time INTEGER NOT NULL,
  _degrad_pct DOUBLE NOT NULL,
 PRIMARY KEY (energy_tag_name, user_name, frequency, default_frequency, cluster_name),
) ENGINE = InnoDB;