COW Reservations Manager

The COW Reservations Manager allows users to reserve partitions, for use now or later. Reservations can be scheduled to expire at a certain time, or they can extend indefinitely. The Reservations Manager calls the Partition Manager to create and delete the partition at the appropriate times. If desired, one can allow other users access to a partition, and/or allow the Job Scheduler to run jobs on it.

You should add "/p/cow/bin" to your path to use these commands.

creserve

Reserves a partition. Creserve has the following options:
-nodes num
reserve num nodes. Currently, nodes must be reserved in multiples of 4.
-range first-last
reserve a specific range of nodes. creserve requires either -nodes or -range.
-at time
Start the reservation at specified time. If -at option is omitted, reservation starts now. If the time contains embedded quotes, it must be enclosed in quotes, for example: -at "Sept 4 12:30pm" See the -after option in the jsub.1 man page for more info.
-until time
The reservation ends at specified time.
-indef (-indefinite)
Reservation has no end time.
-part name
Name the partition. Default is user's name.
-nopart
Do not create a partition for this reservation.
-mode sched
Job scheduler may run jobs on this partition.
-mode nosched
Job scheduler may not run jobs on this partition (default).
-permit mod
permissions mode, a la chmod, for partition. default is 0754, i.e. rwxr-xr--.
-group gid
group number for the partition's permissions.
-standing daylist
standing reservation, i.e. a reservation for certain hours on certain days of the week. daylist is a string comprising the letters MTWRF (upper or lower case) or the digits 0123456, or ranges of these, using the minus sign. 0 is Sunday, 6 is Saturday. S is not allowed. See -daily, -weekday, -weekend, and -weekly for examples. For each standing reservation, a regular future reservation is created a few days before each reserved period. See "cstat reserved" below. This allows you to free, say, tomorrow's reserved time without relinquishing your standing reservation for the next day.
-weekday
equivalent to "-standing M-F" or "-standing MTWRF"
-weekend
equivalent to "-standing 06"
-daily
Equivalent to "-standing 0-6" or "-standing 0123456"
-weekly
Equivalent to "-standing N" where N is the day of the time on the -at argument. For example, if it is now 15:00 Monday, and I reserve: creserve -at 8:00 -until "Wed 17:30" -weekly ... I will get a standing reservation for every Tuesday morning through Wednesday afternoon.
Examples:
% creserve -nodes 4 -until 12:00 -part p4
Reservation #2, has 4 nodes (36-39), from now until Aug  9 12:00.
% creserve -nodes 16 -at 11:00 -until 13:00
Reservation #4, has 16 nodes (16-31), from Aug  9 11:00 until Aug  9 13:00.
% creserve -range 0-15 -at 13:00 -indef
Reservation #7, has 16 nodes (0-15), from Aug  9 13:00 on indefinitely.
% creserve -nodes 8 -mode sched -part p8a -group 7 -permit 0777 -until 0:00
Reservation #2, has 8 nodes (24-31), from now until Aug 30 00:00.

cstat

Cstat shows running (sched) partitions, and current, future, and standing reservations. It obeys the following options:
-running
List running partitions
-free
List currently free nodes.
-current
List current reservations
-future
List future reservations
-standing
List standing reservations If none of the above options are specified, all are assumed.
-perm
select only reservations on which the user has all specified permissions. r=read, w=write, x=execute.
-noheader
Omit the header lines
-user
Specify a user by name.
-uid
Specify a user by number.
-format2
Use a modified output format. Numbers are padded with zeros.

cstat res

% cstat res
Running scheduled partitions:
PART     BPROC NPROC
p20         20     4  
public      32     4  

Currently reserved:
 # PART       PROCS NP USER    GROUP   PRM MODE    UNTIL
 4 p16        16-19  4 glen    glen    754 nosched Apr 21 17:00
 2 p20        20-23  4 glen    staff   775 sched   Apr 22 00:00
 1 public     32-35  4 glen    glen    766 sched   Indefinite  

Currently Free Nodes: 0 - 15,  24 - 31

Future reservations:
 # PART       PROCS NP USER    GROUP   PRM MODE    FROM          UNTIL
 5 gweekend    4- 7  4 glen    glen    754 nosched Apr 22 08:00  Apr 22 18:00
 6 gweekend    4- 7  4 glen    glen    754 nosched Apr 23 08:00  Apr 23 18:00
 
Standing reservations:
 # PART/DAYS  PROCS NP USER    GROUP   PRM MODE    FROM          UNTIL
 4 gweekend    4- 7  4 glen    glen    754 nosched Apr 29 08:00  Apr 29 18:00
      06 (SS)
The "06 (SS)" under the partition name means that this is a standing reservation for Sundays and Saturdays (days 0 and 6). It was created with:
    creserve -nodes 4 -at 8:00 -until 18:00 -weekend -part gweekend

Note the future reservations that were created from the standing reservation. The dates shown on the standing reservation will be the dates shown on the next future reservation created for it. If I want to relinquish my reservation for this weekend only, I can cfree 5; cfree 6; and keep my standing reservation for subsequent weekends.

cstat free

Show current and future free nodes
% cstat free

Free nodes (Entries below may overlap):
  PROCS NPROC   FROM          UNTIL
  0- 15    16   Now           Indefinite  
 24- 31     8   Now           Oct 22 11:00
  0- 19    20   Oct 21 17:00  Oct 22 11:00
  0- 31    32   Oct 22 00:00  Oct 22 11:00
  0- 31    32   Oct 22 13:00  Indefinite  

cstat up

Reports the status of the nodes, and their exec daemons. The exec daemon does not run on nodes that are reserved in nosched mode.
% cstat up
  PROCS      NP  PROC STATUS                      EXEC DAEMON STATUS
  cowe00-01   2  Reserved nosched (Not pinged)    --
  cowe02-10   9  Up                               Up
  cowe11-11   1  Down (Ping failed)               --
  cowe12-12   1  Up                               Down (Ping failed)
  cowe16-19   4  Reserved nosched (Not pinged)    --
  cowe20-35  16  Up                               Up

cfree

Deletes a reservation(current, future, or standing). Must be owner or operator.
% cfree 1
Reservation #1 deleted.

COW Information
Bolo's Home Page
Last Modified:
bolo (Josef Burger) <bolo@cs.wisc.edu>