Appendix ADatabase Schemas
This appendix contains database schema information in a series of tables. The
topics include:
Schema Tables
sge_job
The sge_job table contains one record for each array task
(one record for non array jobs with the array task number 1) and for each parallel
task started in a tightly integrated parallel job.
For N1GE 6.0 systems, a record is created as soon as a job, an array task, or
a parallel task is scheduled. It is updated during the job's runtime.
A short description of N1GE jobs, array jobs, parallel jobs and their differences
can be found in this Sun Grid Engine User's Guide.
The Glossary may be especially useful as an introduction.
Column | Type | Description |
j_id | Integer | Unique record identifier |
j_job_number | integer | JOB_ID |
j_task_number | integer | Array task id. |
j_pe_taskid | text | ID of a task of a tightly integrated parallel task. |
j_job_name | text | job name (script name or value set with the submit option -N) |
j_group | text | UNIX group name of the primary group the job was executed in. References the group table. |
j_owner | text | UNIX user account the job was running in. References the user table. |
j_account | text | Account string set with the submit option -A. |
j_priority | integer | Priority set with the submit option -p or assigned from the queue configuration. |
j_submission_time | timestamp | Time of the job submission. |
j_project | text | Project (only in Sun Grid Engine, Enterprise Edition) References the project table. |
j_department | text | Department (only in Sun Grid Engine, Enterprise Edition) References the department table. |
sge_job_usage
The sge_job_usage table holds the job's resource usage over
time.
For N1GE 5.3 systems, only one record exists per finished job, array task and
parallel task. The ju_curr_time column holds the job's end time
(j_end_time in sge_job).
For N1GE 6.0 systems, the online usage is stored as well; this results in multiple
records for one job, array task, and parallel task stored in sge_job.
The resource usage of a job can be monitored over time (ju_curr_time),
the last record per job, array task, or parallel task holds the total usage that can
be used in accounting, ju_curr_time for this record will equal j_end_time from sge_job.
Column | Type | Description |
ju_id | Integer | Unique record identifier |
ju_parent | Integer | Reference to sge_job table |
ju_curr_time | Integer | current time for usage |
ju_qname | text | Name of the queue the job was running in. In N1GE 6.0 systems this will be the
cluster queue name. References to queues in the queue table. |
ju_hostname | text | Name of the host the job was running on. References to hosts in the host table. |
ju_start_time | timestamp | Time when the job was started. |
ju_end_time | timestamp | Time when the job finished. |
ju_failed | integer | if != 0 indicates a problem |
ju_exit_status | integer | exit status of the job |
ju_granted_pe | text | The parallel environment which was selected for that job. |
ju_slots | integer | The number of slots which were dispatched to the job. |
ju_state | text | job state |
ju_ru_wallclock | integer | end_time - start_time |
ju_ru_utime | double | user time used |
ju_ru_stime | double | system time used |
ju_ru_maxrss | integer | maximum resident set size |
ju_ru_ixrss | integer | currently 0 |
ju_ru_ismrss | integer | |
ju_ru_idrss | integer | integral resident set size |
ju_ru_isrss | integer | currently 0 |
ju_ru_minflt | integer | page faults not requiring physical I/O |
ju_ru_majflt | integer | page faults requiring physical I/O |
ju_ru_nswap | integer | swaps |
ju_ru_inblock | integer | block input operations |
ju_ru_oublock | integer | block output operations |
ju_ru_msgsnd | integer | messages sent |
ju_ru_msgrcv | integer | messages received |
ju_ru_nsignals | integer | signals received |
ju_ru_nvcsw | integer | voluntary context switches |
ju_ru_nivcsw | integer | involuntary context switches |
ju_cpu | double | The cpu time usage in seconds. |
ju_mem | double | The integral memory usage in Gbytes seconds. |
ju_io | double | The amount of data transferred in input/output operations. |
ju_iow | double | The io wait time in seconds. |
ju_maxvmem | double | The maximum vmem size in bytes. |
sge_job_request
Stores resources a job's requests.
Two types of requests (qsub options) are currently handled:
-l resource requests, e.g. -l arch=solaris,mem_total=100M
For each request one record is created.
-q queue request, e.g. -q balrog.q
One record is created
containing "queue" as variable and the request contents as variable.
Column | Type | Description |
jr_id | Integer | Unique record identifier |
jr_parent | Integer | reference to the sge_job table |
jr_variable | text | name of the requested complex variable |
jr_value | text | requested value |
sge_job_log
The sge_job_log table contains job logging information.
Column | Type | Description |
jl_id | Integer | Unique record identifier |
jl_parent | integer | Reference to sge_job table |
jl_time | unix timestamp | Time when the job login entry was generated. |
jl_event | text | |
jl_job_number | integer | |
jl_task_number | integer | |
jl_pe_task_id | text | |
jl_state | text | job state after the reported event |
jl_user | text | user who initiated action for the event |
jl_host | text | host on which the event action was initiated |
jl_state_time | unix timestamp | describes, how long the job was in a certain state, see description below |
jl_message | text | a message explaining what happened |
|