Reservations

Getting a reservation

Who?

If you are an IDLab member on a tight deadline and experiencing long waits, you can request a reservation for some dedicated resources on GPULab.

How?

Please email gpulab@ilabt.imec.be mentioning which resources you want to reserve and for which deadline (paper/PhD/project/…). Also mention your GPULab username and the project name you want to use the reservation in.

Using your Reservation

When a reservation is made for you, you will receive a reservation ID. This is a UUID, example: 123e4567-e89b-12d3-a456-426614174000

You need to use this reservation ID when starting a GPULab job or a Jupyterhub notebook.

For a GPULab job, place the ID in request.scheduling.reservationId. For example:

{
  "name": "myjob",
  "description": "Example job that uses a reservation",
  "request": {
    "docker": {
      "command": "/project/start_job.sh",
      "image": "debian:stable",
      "storage": [ { "hostPath": "/project_ghent", "containerPath": "/project" } ]
    },
    "resources": {
      "cpus": 2,
      "gpus": 1,
      "cpuMemoryGb": 2,
    },
    "scheduling": {
      "reservationIds": ["123e4567-e89b-12d3-a456-426614174000"],
    }
  }
}

For Jupyterhub, click the “Show Advanced Options” button. Then fill in the ID in the “Reservation ID” field that appears.

Running jobs before future reservations

Reservations made for other people that start in the future, will make sure you cannot start a job that will still run when the reservation starts.

This is because reservations will never stop a job to enforce the reservation.

To ensure that your jobs can keep starting on clusters with future reservations, you need to explicitly specify a maxDuration which does not extend past the start of this reservation. You can set the maxDuration under scheduling. For example:

{
    "name": "Short job",
    "description": "Job with a max duration of 6 hours",
    "request": {
      "docker": { ... },
      "resources": {... },
      "scheduling": {
        "maxDuration": "6 hours"
      }
    }
}