User Tools

Site Tools


reserve

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
reserve [2017/08/30 16:31] – [Advanced usage: sharing the platform] mimbertreserve [2022/08/30 09:44] mimbert
Line 54: Line 54:
  
 <code>$ oarsub -l {"network_address in ('mnode4.cortexlab.fr', 'mnode6.cortexlab.fr')"}/nodes=2,walltime=0:30:00</code> <code>$ oarsub -l {"network_address in ('mnode4.cortexlab.fr', 'mnode6.cortexlab.fr')"}/nodes=2,walltime=0:30:00</code>
 +
 +Despite this syntax being not user-friendly, we strongly encourage you to use it, since it has many advantages:
 +  * Nodes are often shutdown, in energy saving mode. Booking only the needed nodes ensures that only these ones will be wakeup. This contributes to increase node lifetime and saving energy
 +  * As only needed nodes are asked, it avoids your oar job being canceled or postponed in case one node that you don't use is unavailable
 +  * It allows tracing more accurately resources usage
 +
 +==== Booking the room without any node ====
 +
 +You can book the room only, without any node with the following syntax:
 +
 +<code>$ oarsub -t noop -l {"type='cortexlab-room'"}/nodes=1 "sleep infinity"</code>
 +
 +This is useful in particular if you want to go physically in the room for experimenting with specific hardware, because it avoids waking any node if they are in energy saving mode.
 +
 +==== A note on energy saving ====
 +
 +When nodes are unused, and after a timeout, they will be automatically shutdown (and will appear as "standby" in the drawgantt)
 +
 +When a job is submitted, shutdown nodes are waken up. Thus the job will not start immediately, it will wait for the nodes to have started. If some nodes are not started after the timeout, the job will start without these nodes (and the nodes will be set in state "absent")
 +
 +When there is a reservation, oar knows the scheduled start and starts to wakeup nodes before the scheduled start of the job, so usually the job should start as planned.
  
 ==== Advanced usage: sharing the platform ==== ==== Advanced usage: sharing the platform ====
Line 61: Line 82:
 The organizer of the tutorial/course/challenge submits or reserve the whole (or part of) the platform for the duration of the event, with the ''-t container'' option: The organizer of the tutorial/course/challenge submits or reserve the whole (or part of) the platform for the duration of the event, with the ''-t container'' option:
  
-<code>$ oarsub -l nodes=BEST,walltime=4:00:00 -t container=tuto-xyz -r '2018-07-21 14:00:00'</code>+<code>$ oarsub -l nodes=BEST,walltime=4:00:00 -t container -r '2018-07-21 14:00:00'</code>
  
 This will reserve all available nodes for a 4 hours event, between 14 and 18 on July 21, 2018. This will reserve all available nodes for a 4 hours event, between 14 and 18 on July 21, 2018.
Line 67: Line 88:
 Then, participants can submit jobs inside the container job with this (example) syntax: Then, participants can submit jobs inside the container job with this (example) syntax:
  
-<code>$ oarsub -t inner=tuto-xyz -l {"network_address in ('mnode4.cortexlab.fr', 'mnode6.cortexlab.fr')"}/nodes=2,walltime=0:30:00 -I</code>+<code>$ oarsub -t inner=<job_id of the container job> -l {"network_address in ('mnode4.cortexlab.fr', 'mnode6.cortexlab.fr')"}/nodes=2,walltime=0:30:00 -I</code>
  
 or (another example): or (another example):
- 
-<code>$ oarsub -t inner=tuto-xyz -l nodes=2,walltime=0:30:00 'sleep 10000000'</code> 
- 
-alternatively, the organizer can use: 
- 
-<code>$ oarsub -l nodes=BEST,walltime=4:00:00 -t container -r '2018-07-21 14:00:00'</code> 
- 
-Then, participants will have to use: 
  
 <code>$ oarsub -t inner=<job_id of the container job> -l nodes=2,walltime=0:30:00 'sleep 10000000'</code> <code>$ oarsub -t inner=<job_id of the container job> -l nodes=2,walltime=0:30:00 'sleep 10000000'</code>
reserve.txt · Last modified: 2022/11/18 16:43 by pgirard

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki