Experiment scripting tutorial

From Grid5000
Jump to navigation Jump to search
Note.png Note

This page is actively maintained by the Grid'5000 team. If you encounter problems, please report them (see the Support page). Additionally, as it is a wiki page, you are free to make minor corrections yourself if needed. If you would like to suggest a more fundamental change, please contact the Grid'5000 team.

This page presents several tools that aim at facilitating experiment scripting on Grid'5000.

  • Execo offers a Python API for asynchronous control of local or remote, standalone or parallel, unix processes. It is especially well suited for quickly and easily scripting workflows of parallel/distributed operations on local or remote hosts: automate a scientific workflow, conduct computer science experiments, perform automated tests, etc. The core python package is execo. The execo_g5k package provides a set of tools and extensions for the Grid5000 testbed. The execo_engine package provides tools to ease the development of computer sciences experiments.
  • Ruby-Cute is a set of Commonly Used Tools for Experiments, or Critically Useful Tools for Experiments, depending on who you ask. It is a library aggregating various Ruby snippets useful in the context of (but not limited to) development of experiment software on distributed systems testbeds such as Grid'5000. Ruby-Cute is structured in different modules. G5K module allows you to communicate with Grid'5000. Net::SSH::Multi module allows the parallel execution of commands in several remote machines using the SSH protocol. TakTuk module is a wrapper of taktuk parallel command executor.
  • Funk helps you to find resources for your experiments, by:
    • giving you the number of nodes available at a date and for walltime
    • finding the slots for a combination of resources and a walltime
    • finding the slot with the maximum number of nodes for a period and a walltime
    • managing the reservation of the resources

Those tools are independent and can be studied in any order.

Execo

A tutorial can be found here.

Ruby-Cute

A tutorial can be found in here

Funk

Funk stands for (F)ind yo(U)r (N)odes on g5(K). More details can be found here.