Experiment scripting tutorial

From Grid5000
Revision as of 16:43, 31 August 2016 by Lnussbaum (talk | contribs)
Jump to navigation Jump to search


This tutorial covers 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

All sections of this tutorial are independent and can be performed in any order.

Execo

The tutorial can be found here.

Ruby-Cute

The tutorial can be found in Ruby-cute tutorial

Funk: (F)ind yo(U)r (N)odes on g5(K)

More details can be found here.