Funk

From Grid5000
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 multi-site experiments on Grid5000. 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

No installation

A bash wrapper is installed on lyon frontend in /home/lpouilloux/bin/ and allow you to use funk without any configuration and installation. You must log into the Lyon frontend and run:

 /home/lpouilloux/bin/funk.sh -h

This is a temporary solution that will be replaced soon by a installation on every Grid'5000 frontend

With installation

You need to install the execo 2.2. Once it is done, you can clone the repository with:

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

And run the script with the options you need.

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

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

Examples

Number of available nodes on stremi cluster from date to date + walltime

 funk -m date -s "2013-12-18 11:28:32" -r stremi

First free slots for a resource combination with deploy job type and a KaVLAN

 funk -m free -w 2:00:00 -r grid5000:100,taurus:4 -o "-t deploy" -k

Maximum number of nodes available for the resources, avoiding charter periods

 funk -m max -w 10:00:00 -r nancy,paradent,edel -c