-
Notifications
You must be signed in to change notification settings - Fork 10
Database Configuration
Christopher Moussa edited this page Mar 6, 2020
·
1 revision
These are the tables that are general to Slurm's Accounting DB:
acct_coord_table ❌ | federation_table ❌ |
acct_table ❌ | qos_table |
clus_res_table ❌ | res_table ❌ |
cluster_table ❓ | table_defs_table ❌ |
convert_version_table ❌ | tres_table |
txn_table ❓ | user_table |
For any one cluster, the following tables exist:
corona_assoc_usage_day_table | corona_assoc_usage_hour_table |
corona_assoc_usage_month_table | corona_event_table❓ |
corona_job_table ❌ | corona_usage_day_table |
corona_last_ran_table | corona_usage_month_table |
corona_step_table | corona_wckey_usage_day_table |
corona_assoc_table | corona_wckey_usage_month_table |
corona_resv_table ❌ | corona_wckey_usage_hour_table |
corona_suspend_table ❌ | corona_wckey_table |
corona_usage_hour_table |
The following are the tables Ryan Day explained were relevant to accounting:
- tables with a unique id (int) for each user/bank or user/wckey combination
- also contains various limits (maxjobs, maxnodes, etc), share and priority information, and qos available for each user/bank or user/wckey
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
creation_time | bigint(20) unsigned | NO | NULL | ||
mod_time | bigint(20) unsigned | NO | 0 | ||
deleted | tinyint(4) | NO | 0 | ||
is_def | tinyint(4) | NO | 0 | ||
id_assoc | int(10) unsigned | NO | PRI | NULL | auto_increment |
user | tinytext | NO | MUL | NULL | |
acct | tinytext | NO | MUL | NULL | |
partition | tinytext | NO | NULL | ||
parent_acct | tinytext | NO | NULL | ||
lft | int(11) | NO | MUL | NULL | |
rgt | int(11) | NO | NULL | ||
shares | int(11) | NO | 1 | ||
max_jobs | int(11) | YES | NULL | ||
max_jobs_accrue | int(11) | YES | NULL | ||
min_prio_thresh | int(11) | YES | NULL | ||
max_submit_jobs | int(11) | YES | NULL | ||
max_tres_pj | text | NO | NULL | ||
max_tres_pn | text | NO | NULL | ||
max_tres_mins_pj | text | NO | NULL | ||
max_tres_run_mins | text | NO | NULL | ||
max_wall_pj | int(11) | YES | NULL | ||
grp_jobs | int(11) | YES | NULL | ||
grp_jobs_accrue | int(11) | YES | NULL | ||
grp_submit_jobs | int(11) | YES | NULL | ||
grp_tres | text | NO | NULL | ||
grp_tres_mins | text | NO | NULL | ||
grp_tres_run_mins | text | NO | NULL | ||
grp_wall | int(11) | YES | NULL | ||
priority | int(10) unsigned | YES | NULL | ||
def_qos_id | int(11) | YES | NULL | ||
qos | blob | NO | NULL | ||
delta_qos | blob | NO | NULL |
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
creation_time | bigint(20) unsigned | NO | NULL | ||
mod_time | bigint(20) unsigned | NO | 0 | ||
deleted | tinyint(4) | NO | 0 | ||
is_def | tinyint(4) | NO | 0 | ||
id_wckey | int(10) unsigned | NO | PRI | NULL | auto_increment |
wckey_name | tinytext | NO | MUL | NULL | |
user | tinytext | NO | NULL |
- one entry for every job or job step on the cluster
- all the things that you get from an
sacct
command is in here (seesacct --helpformat
)
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
job_db_inx | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
mod_time | bigint(20) unsigned | NO | 0 | ||
deleted | tinyint(4) | NO | 0 | ||
account | tinytext | YES | NULL | ||
admin_comment | text | YES | NULL | ||
array_task_str | text | YES | NULL | ||
array_max_tasks | int(10) unsigned | NO | 0 | ||
array_task_pending | int(10) unsigned | NO | 0 | ||
constraints | text | YES | NULL | ||
cpus_req | int(10) unsigned | NO | NULL | ||
derived_ec | int(10) unsigned | NO | 0 | ||
derived_es | text | YES | NULL | ||
exit_code | int(10) unsigned | NO | 0 | ||
flags | int(10) unsigned | NO | 0 | ||
job_name | tinytext | NO | NULL | ||
id_assoc | int(10) unsigned | NO | MUL | NULL | |
id_array_job | int(10) unsigned | NO | MUL | 0 | |
id_array_task | int(10) unsigned | NO | 4294967294 | ||
id_block | tinytext | YES | NULL | ||
id_job | int(10) unsigned | NO | MUL | NULL | |
id_qos | int(10) unsigned | NO | MUL | 0 | |
id_resv | int(10) unsigned | NO | MUL | NULL | |
id_wckey | int(10) unsigned | NO | MUL | NULL | |
id_user | int(10) unsigned | NO | MUL | NULL | |
id_group | int(10) unsigned | NO | NULL | ||
pack_job_id | int(10) unsigned | NO | MUL | NULL | |
pack_job_offset | int(10) unsigned | NO | NULL | ||
kill_requid | int(11) | NO | -1 | ||
state_reason_prev | int(10) unsigned | NO | NULL | ||
mcs_label | tinytext | YES | NULL | ||
mem_req | bigint(20) unsigned | NO | 0 | ||
nodelist | text | YES | NULL | ||
nodes_alloc | int(10) unsigned | NO | MUL | NULL | |
node_inx | text | YES | NULL | ||
partition | tinytext | NO | NULL | ||
priority | int(10) unsigned | NO | NULL | ||
state | int(10) unsigned | NO | NULL | ||
timelimit | int(10) unsigned | NO | 0 | ||
time_submit | bigint(20) unsigned | NO | 0 | ||
time_eligible | bigint(20) unsigned | NO | MUL | 0 | |
time_start | bigint(20) unsigned | NO | 0 | ||
time_end | bigint(20) unsigned | NO | MUL | 0 | |
time_suspended | bigint(20) unsigned | NO | 0 | ||
gres_req | text | NO | NULL | ||
gres_alloc | text | NO | NULL | ||
gres_used | text | NO | NULL | ||
wckey | tinytext | NO | NULL | ||
work_dir | text | NO | NULL | ||
system_comment | text | YES | NULL | ||
track_steps | tinyint(4) | NO | NULL | ||
tres_alloc | text | NO | NULL | ||
tres_req | text | NO | NULL |
- these contain the rolled up accounting data that
sreport
actually uses to generate reports quickly - contains the usage for each association (bank) id or wckey id (from <clustername_(assoc|wckey)_table) in a time interval (hour, day, or month, respectively)
- separates out usages for different TRES (trackable resources, so that, for example, cpu usage can be tracked separately from gpu usage if desired. We don’t really worry about this because, so far, everything we care about is node scheduled)
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
creation_time | bigint(20) unsigned | NO | NULL | ||
mod_time | bigint(20) unsigned | NO | 0 | ||
deleted | tinyint(4) | NO | 0 | ||
id | int(10) unsigned | NO | PRI | NULL | |
id_tres | int(11) | NO | PRI | 1 | |
time_start | bigint(20) unsigned | NO | PRI | NULL | |
alloc_secs | bigint(20) unsigned | NO | 0 |