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 all domains on boards 0 through 7 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..7).(0..7)' -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.