Experiment scripting tutorial: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
{{TutorialHeader}} | {{TutorialHeader}} | ||
This | 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. | * '''[http://execo.gforge.inria.fr/doc/latest-stable/index.html 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. | * '''[https://github.com/ruby-cute/ruby-cute 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 | ||
** finding the slots for a combination of resources and a walltime | ** finding the slots for a combination of resources and a walltime | ||
Line 11: | Line 11: | ||
** managing the reservation of the resources | ** managing the reservation of the resources | ||
Those tools are independent and can be studied in any order. | |||
= Execo = | = Execo = | ||
A tutorial can be found [[Execo_Practical_Session|here]]. | |||
= Ruby-Cute = | = Ruby-Cute = | ||
A tutorial can be found in [http://www.rubydoc.info/github/ruby-cute/ruby-cute/master/file/examples/g5k-tutorial.md herel] | |||
= Funk | = Funk = | ||
More details can be found | Funk stands for (F)ind yo(U)r (N)odes on g5(K). More details can be found [[Funk|here]]. |
Revision as of 15:16, 30 March 2018
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 herel
Funk
Funk stands for (F)ind yo(U)r (N)odes on g5(K). More details can be found here.