Next Previous Contents

5. System bank

The system bank holds the number of seconds allocated for a particular user, group, or account. The Scheduler will only allow jobs to be run if the requested runtime in seconds multiplied by the requested number of slots (slot-seconds) is less than the current sysbank ballance. (In other words, we charge the total runtime if the job were streched out into a serial job.)

If the job is allowed, then the scheduler goes ahead and deducts the presumed runtime from the sysbank ballance; and if the job finishes early, the scheduler will give back the difference.

5.1 sysbank

mysql> desc sysbank;
+----------------------------+------------------+------+-----+------------+-------+
| Field                      | Type             | Null | Key | Default    | Extra |
+----------------------------+------------------+------+-----+------------+-------+
| auth                       | char(255)        |      | PRI |            |       |
| bank_allocation            | int(10) unsigned |      |     | 4294967295 |       |
| allow_if_no_ballance       | enum('Y','N')    |      |     | Y          |       |
| qos_penalty_factor         | int(11)          |      |     | 1          |       |
| qos_penalty_if_no_ballance | enum('Y','N')    |      |     | Y          |       |
+----------------------------+------------------+------+-----+------------+-------+

NOTE FIXME: The final three fields are currently unused. Example values you might see in the table:

mysql> select * from sysbank limit 5;
+----------------+-----------------+----------------------+--------------------+----------------------------+
| auth           | bank_allocation | allow_if_no_ballance | qos_penalty_factor | qos_penalty_if_no_ballance |
+----------------+-----------------+----------------------+--------------------+----------------------------+
| systems        |       933214304 | Y                    |                  1 | Y                          |
| FOOBA-R900-444 |      1793779122 | Y                    |                  1 | Y                          |
| 31337-H4X0-R69 |      4294967295 | Y                    |                  1 | N                          |
| genieb         |         3600000 | Y                    |                  2 | Y                          |
| frankg         |       144000000 | Y                    |                  3 | Y                          |
+----------------+-----------------+----------------------+--------------------+----------------------------+

5.2 sysbank_auth

For each user, this table controls which bank account is used to debit job runtimes, (one of user, group, or account).

mysql> desc sysbank_auth;
+----------------------+-----------------------------+------+-----+---------+-------+
| Field                | Type                        | Null | Key | Default | Extra |
+----------------------+-----------------------------+------+-----+---------+-------+
| uuser                | char(64)                    |      | PRI |         |       |
| bank_allocation_auth | enum('user','group','acct') |      |     | acct    |       |
+----------------------+-----------------------------+------+-----+---------+-------+

Example values you might see in the table:

mysql> select * from sysbank_auth limit 5;
+----------+----------------------+
| uuser    | bank_allocation_auth |
+----------+----------------------+
| steviek  | acct                 |
| frankg   | acct                 |
| testhelp | acct                 |
| genieb   | acct                 |
| testfoo  | acct                 |
+----------+----------------------+


Next Previous Contents