Experiment scripting tutorial: Difference between revisions

From Grid5000
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
This tutorial covers several tools that aim at facilitating the management of experiments on Grid'5000.
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:
* '''Funk''' helps you to find resources for your experiments, by:
** giving you the number of nodes available at a date and for walltime
** giving you the number of nodes available at a date and for walltime
Line 5: Line 7:
** finding the slot with the maximum number of nodes for a period and a walltime
** finding the slot with the maximum number of nodes for a period and a walltime
** managing the reservation of the resources
** managing the reservation of the resources
* '''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 mdoule allows the parallel executon of commands in several remote machines using the SSH protocol. TakTuk module is a wrapper of taktuk parallel command executor.


All sections of this tutorial are independent and can be performed in any order.
All sections of this tutorial are independent and can be performed in any order.
= Funk: (F)ind yo(U)r (N)odes on g5(K) =
More details can be found  [[Funk|here]].


= Execo =
= Execo =
Line 16: Line 14:
= Ruby-Cute =
= Ruby-Cute =
The tutorial can be found in [http://www.rubydoc.info/github/ruby-cute/ruby-cute/master/file/examples/g5k-tutorial.md Ruby-cute tutorial]
The tutorial can be found in [http://www.rubydoc.info/github/ruby-cute/ruby-cute/master/file/examples/g5k-tutorial.md Ruby-cute tutorial]
= Funk: (F)ind yo(U)r (N)odes on g5(K) =
More details can be found  [[Funk|here]].

Revision as of 10:36, 3 February 2016

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

A overview 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.