Reservations
Reservations can be used to reserve an emulator or a portion of an emulator for a specified interval of time and for a particular class of users such as user, FairShare group, job ID, job class or job project.
The hero_reserve command provides a convenient interface for
making emulator reservations. The syntax of the command is given below and varies
slightly depending on the type of emulator. The general format is as
follows:
nc cmd hero_reserve HERO:<emulator-name>_<leaf-resource-list-spec> [who the reservation is for] [interval of time]
For example, to reserve boards 0 through 5 on a Palladium emulator named cadencePz1
for an hour for job project gpu_integ, the following command could be
used:
nc cmd hero_reserve 'HERO:LEAF_cadencePz1_(0..5)' -jobproj gpu_integ -duration 1h
Similarly, to reserve all modules on units 6 and 7 on a ZeBu emulator named
z4cluster0 the following command could be
used:
nc cmd hero_reserve 'HERO:LEAF_z4cluster0_U(6..7).M(0..3)' -jobproj gpu_integ -duration 1h
The reservations can be listed using the
command:
nc cmd vovshow -w -reservations
A reservation can be removed using the following
command:
nc cmd vovforget <reservation id>
(The reservation id can be obtained from the vovshow command.)
In the above examples, only a job submitted with job project gpu_integ can start on the corresponding portion of the emulator.
The hero_reserve command has an additional feature that creates a
reservation based on the target resource, for
example:
nc cmd hero_reserve 'HERO:PZ1_SPAN2' -jobproj gpu_integ -duration 1h
However, this method does not allow the emulator or board range to be specified.