Funk: Difference between revisions

From Grid5000
Jump to navigation Jump to search
mNo edit summary
Line 30: Line 30:


==<span id="examples">Usages</span>==
==<span id="examples">Usages</span>==
Number of nodes availables for 2 hours at run time, on sites nancy, reims and on clusters paradent and suno
{{Term|location=frontend|cmd=<code class="command">funk</code> -m <code class="replace">date</code> -r <code class="replace">nancy,reims,paradent,suno</code> -w <code class="replace">2:00:00</code>}}
When 40 nodes on sagittaire and 4 nodes on taurus will be available, with deploy job type and a subnet
When 40 nodes on sagittaire and 4 nodes on taurus will be available, with deploy job type and a subnet
{{Term|location=frontend|cmd=<code class="command">funk</code> -m <code class="replace">free</code> -r sagittaire<code class="replace">:40</code>,taurus<code class="replace">:4</code> -o <code class="replace">"-t deploy"</code> -n <code class="replace">slash_22=2</code>}}
{{Term|location=frontend|cmd=<code class="command">funk</code> -m <code class="replace">free</code> -r sagittaire<code class="replace">:40</code>,taurus<code class="replace">:4</code> -o <code class="replace">"-t deploy"</code> -n <code class="replace">slash_22=2</code>}}
Find 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
Find 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
{{Term|location=frontend|cmd=<code class="command">funk</code> -m <code class="replace">max</code> -w 10:00:00 -e <code class="replace">"2013-12-31 23:59:59"</code> -c -b <code class="replace">helios</code> -o <code class="replace">"-t allow_classic_ssh"</code>}}
{{Term|location=frontend|cmd=<code class="command">funk</code> -m <code class="replace">max</code> -w 10:00:00 -e <code class="replace">"2013-12-31 23:59:59"</code> -c -b <code class="replace">helios</code> -o <code class="replace">"-t allow_classic_ssh"</code>}}
I want to find how many nodes are currently available on sites lyon,nancy,rennes for a walltime of 3 hours
{{Term|location=frontend|cmd=<code class="command">funk</code> -m <code class="replace">date</code> -r <code class="replace">lyon,nancy,rennes</code> -w <code class="replace">3:00:00</code>}}
I have a deadline in one week and I absolutely need to run a large
scale experiment on the whole platform (avoiding periods under charter
restrictions)
{{Term|location=frontend|cmd=<code class="command">funk</code> -m <code class="replace">max</code> -r <code class="replace">grid5000</code> -w <code class="replace">4:00:00</code> -e <code class="replace">"2014-02-17 16:00:00"</code> -c}}
I need specific resources combination for my experiments and I want to know when a slot will be available, with deploy job type
funk -m free -r taurus:2,nancy:100 -w 10:00:00 -o "-t deploy"


==<span id="options">Options</span>==
==<span id="options">Options</span>==

Revision as of 16:26, 10 February 2014

(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

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 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"

I want to find how many nodes are currently available on sites lyon,nancy,rennes for a walltime of 3 hours

Terminal.png frontend:
funk -m date -r lyon,nancy,rennes -w 3:00:00

I have a deadline in one week and I absolutely need to run a large scale experiment on the whole platform (avoiding periods under charter restrictions)

Terminal.png frontend:
funk -m max -r grid5000 -w 4:00:00 -e "2014-02-17 16:00:00" -c

I need specific resources combination for my experiments and I want to know when a slot will be available, with deploy job type funk -m free -r taurus:2,nancy:100 -w 10:00:00 -o "-t deploy"

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