Funk

From Grid5000
Revision as of 15:11, 20 December 2013 by Lpouilloux (talk | contribs)
Jump to navigation Jump to search

(F)ind yo(U)r (N)odes on g5(K) is a tool that help you to plan your experiments on Grid'5000. It is a Python script based on Execo that:

  • give you the number of nodes available at a date and for walltime
  • find the slots for a combination of resources and a walltime
  • find the slot with the maximum number of nodes for a period and a walltime.

Some basic examples can be found here.

Projet source, issue and feature requests can be found here.

Funk Slots.png


Running the tool

Inside Grid'5000

Terminal.png frontend:
$ funk -h

See below for options descriptions.

Outside Grid'5000

You need to install execo 2.2 and configure it for Grid'5000 Once it is done, you can clone the repository with:

 git clone https://github.com/lpouillo/Funk.git

and run the script.

Usages

Number of nodes availables for 2 hours at run time, on sites nancy, reims and on clusters paradent and suno

Terminal.png frontend:
funk -m date -r nancy,reims,paradent,suno -w 2:00:00

When 40 nodes on sagittaire and 4 nodes on taurus will be available, with deploy job type and a subnet

Terminal.png frontend:
funk -m free -r sagittaire:40,taurus:4 -o "-t deploy" -n slash_22=2

Find the time when the maximum number of nodes are available during 10 hours, before next week deadline, avoiding charter periods, not using helios and with classic ssh access

Terminal.png frontend:
funk -m max -w 10:00:00 -e "2013-12-31 23:59:59" -c -b helios -o "-t allow_classic_ssh"

Options

General options

Define mode and controls I/O.

 -h, --help            show this help message and exit
 -m MODE, --mode MODE  Setup the mode: date, free or max 
                       default = date
 -y, --yes             Perform the reservation automatically
 -q, --quiet           Run without printing anything
 -v, --verbose         Run in verbose mode
 -p PROG, --prog PROG  The program to be run when the reservation start
 --plots               Draw a Gantt plot and the slots

Reservation

Customize your Grid'5000 reservation.

 -r RESOURCES, --resources RESOURCES
                       Comma separated list of Grid'5000 elements (grid5000, site or cluster)
                       -r element1,element2 for date and max modes
                       -r element1:n_nodes1,element2:n_nodes2 for free mode
                       default = grid5000
 -b BLACKLIST, --blacklist BLACKLIST
                       Remove clusters from planning computation
 -R RATIO, --ratio RATIO
                       Apply a given ratio to the resources found, works only for mode date and max
 -o SUBMISSION_OPTS, --oargridsub_opts SUBMISSION_OPTS
                       Extra options to pass to the oarsub/oargridsub command line
 -k, --kavlan          Ask for a KaVLAN
 -n SUBNET, --subnet SUBNET
                       Ask for subnets. slash_22=1 will retrieve a /22 subnet on every site of your requests, 
                       but you can specify site1:slash_22=2,site2:slash_19=1
 -j JOB_NAME, --job_name JOB_NAME
                       The job name passed to the OAR subjobs
                       default = FUNK
 --no-oargrid          Don't use oargridsub and perform parallel oar reservations
 --force-oargrid       Force the usage of oargrisub, even if there only one site involved

Time

Define options related to date and time.

 -w WALLTIME, --walltime WALLTIME
                       Reservation walltime in OAR format
                       default = 1:00:00
 -s STARTDATE, --startdate STARTDATE
                       Starting date in OAR format
                       default = 2013-12-18 11:28:32
 -e ENDDATE, --enddate ENDDATE
                       End date in OAR format
                       default = 2014-01-08 11:28:32
 -c, --charter         Avoid charter periods