Grid5000:Software: Difference between revisions
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
__TOC__ | __TOC__ | ||
This page lists software developed by the Grid'5000 community or the Grid'5000 team. | |||
=== | = Experiment management tools = | ||
== Ruby-Cute: Ruby gem for Grid'5000 == | |||
Ruby-Cute is a set of ''Commonly Used Tools for Experiments'', or ''Critically Useful Tools for Experiments''. It is a Ruby library (gem) aggregating various snippets useful in the context of development of experiment control scripts on Grid'5000. It includes code for interaction with the Grid'5000 REST API, parallel SSH execution, etc. | |||
Of particular interest is the [http://www.rubydoc.info/github/ruby-cute/ruby-cute/master/file/examples/xp-bootstrap xp-bootstrap example] that shows how to automate the various steps usually performed at the beginning of an experiment (resources reservation, deployment, configuration). | |||
* '''Maintainers:''' MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: [https://members.loria.fr/lnussbaum/ Lucas Nussbaum]) | |||
* '''Website:''' https://github.com/ruby-cute/ruby-cute | |||
===Grid5000 | == Execo: unix processes orchestration, and experiment orchestration == | ||
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 <code>execo</code>. The <code>execo_g5k</code> package provides a set of tools and extensions for the Grid5000 testbed. The <code>execo_engine</code> package provides tools to ease the development of computer sciences experiments. | |||
The [http://execo.gforge.inria.fr/doc/latest-stable/readme.html README] and [http://execo.gforge.inria.fr/doc/latest-stable/userguide.html User Guide] are the best entry points to the execo documentation. The [http://execo.gforge.inria.fr/doc/latest-stable/userguide.html User Guide] shows with simple and step by step examples how to benefit from execo for experiment scripting on Grid'5000. | |||
* '''Maintainer:''' matthieu dot imbert at inria dot fr | |||
* '''Website:''' http://execo.gforge.inria.fr | |||
== TakTuk: parallel launcher == | |||
TakTuk is a tool for deploying parallel remote executions of commands to a potentially large set of remote nodes. | |||
TakTuk is used both internally for the infrastructure management and by end users, to manage large parallel remote executions on Grid'5000. | |||
* '''Maintainer:''' Polaris Team at LIG / Inria Grenoble Rhone-Alpes (Contact: Guillaume Huard) | |||
* '''Website:''' http://taktuk.gforge.inria.fr | |||
== Funk: (F)ind yo(U)r (N)odes on g5(K) == | |||
Funk is a tool that help you to plan your experiments on Grid'5000. It is a Python script based on Execo that can give you nodes available at a given time, find available free slots for a combination of resources, etc. | |||
* '''Maintainer:''' Matthieu Imbert and Simon Delamare (''firstname.lastname@inria.fr'') | |||
* '''Website:''' https://github.com/lpouillo/Funk | |||
== XP5K == | |||
XP5K is a Ruby library that allow to automate some parts of Grid'5000 experiments : OAR jobs, Kadeploy deployments, SSH commands. Roles can be defined in order to have an abstraction of reserved nodes. Combined with [https://ruby.github.io/rake/ Rake], XP5K will help users to define simple workflows like the [[OpenStack_deployment_on_Grid5000|Openstask deployement]]. | |||
* '''Maintainer:''' Pascal Morillon | |||
* '''Website:''' https://github.com/pmorillon/xp5k | |||
= Drivers for virtualization and containers solutions = | |||
== docker-machine-driver-g5k: using a Grid'5000 physical machine directly from Docker == | |||
'''docker-machine-driver-g5k''' is a DockerMachine driver that leverages the provisioning of a Grid'5000 node as a machine in the context of Docker. | |||
* '''Maintainers:''' Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: [http://romain.rouvoy.fr Romain Rouvoy]) | |||
* '''Website:''' https://github.com/Spirals-Team/docker-machine-driver-g5k | |||
== docker-g5k: provisioning a Docker cluster within Grid'5000 == | |||
'''docker-g5k''' is a command line interface (CLI) and a Go library to provision a cluster of docker hosts made of multiple Grid5000 nodes, possibly provisioned across several sites. | |||
* '''Maintainers:''' Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: [http://romain.rouvoy.fr Romain Rouvoy]) | |||
* '''Website:''' https://github.com/Spirals-Team/docker-g5k | |||
== vagrant-grid5000: using Grid'5000 physical machines directly from Vagrant == | |||
| | |||
'''vagrant-grid5000''' is a Vagrant Provider Plugin that makes it possible to use Grid'5000 nodes as machines in the context of Vagrant. When ''vagrant up'' is called, a node is reserved and deployed (by default, on the ''nancy'' site, and with the ''jessie-x64-min'' environment), and then provisioned by Vagrant. | |||
* '''Maintainers:''' MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: [https://members.loria.fr/lnussbaum/ Lucas Nussbaum]) | |||
* '''Website:''' https://github.com/lnussbaum/vagrant-grid5000 | |||
== vagrant-g5k: manage virtual machines on Grid'5000 using vagrant == | |||
'''vagrant-g5k''' is a vagrant provider to manage virtual machines on Grid'5000. It supports different kinds of networking (Nat, bridge), disk backends (local, RBD, snapshots). | |||
Usual vagrant commands are supported (provision, rsync, ssh ...). | |||
* '''Maintainers:''' Matthieu Simonin (Contact: [http://mailto:matthieu.simonin@inria.fr matthieu.simonin@inria.fr]) | |||
* '''Website:''' https://github.com/msimonin/vagrant-g5k | |||
= Deployment of complex software stacks inside Grid'5000 = | |||
== EnOS : Experimental environment for OpenStack == | |||
Enos deploys OpenStack and targets reproducible experiments. With Enos you can deploy, customize, benchmark OpenStack. | |||
* '''Maintainers:''' Discovery IPL (Contacts: ronan-alexandre.cherrueau@inria.fr / matthieu.simonin@inria.fr) | |||
* '''Website:''' https://github.com/beyondtheclouds/enos | |||
== benchmark-containers: leveraging the deployment of standard benchmarks == | |||
'''benchmark-containers''' shares a repository of state-of-the-art benchmarks (Parsec, IOzone, etc.) packaged as Docker containers. | |||
* '''Maintainers:''' Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: [http://romain.rouvoy.fr Romain Rouvoy]) | |||
* '''Website:''' https://github.com/Spirals-Team/benchmark-containers / https://hub.docker.com/r/spirals | |||
== hadoop-benchmark: leveraging the deployment of Vanilla Hadoop == | |||
'''hadoop-benchmark''' provides Docker containers to build an Hadoop infrastructure and experiment feedback control loops atop of it. | |||
* '''Maintainers:''' Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: [http://romain.rouvoy.fr Romain Rouvoy]) | |||
* '''Website:''' https://github.com/Spirals-Team/hadoop-benchmark / https://hub.docker.com/r/spirals | |||
== xp5k-openstack: Openstask deployment tool == | |||
'''xp5k-tutorial''' is a tool, prepared for the Grid'5000 Winter School 2016. It provides a method to deploy Openstack on Grid'5000 based on official [https://docs.openstack.org/developer/puppet-openstack-guide/module-list.html#puppet-openstack-modules Puppet Modules]. This method will allow the deployment of current and future Openstack versions in different configurations. | |||
* '''Maintainers:''' Grid'5000 technical team | |||
* '''Website:''' https://www.grid5000.fr/mediawiki/index.php/OpenStack_deployment_on_Grid5000 | |||
= Emulation tools = | |||
== Distem: CPU performance and network emulator == | |||
Distem is a distributed systems emulator. It can be used to transform an homogeneous Grid'5000 cluster (composed of identical nodes) into an experimental platform where nodes have different performance, and are linked together through a complex network topology, making it the ideal tool to benchmark applications targeting such environments. | |||
* '''Maintainers:''' MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: [https://members.loria.fr/lnussbaum/ Lucas Nussbaum]) | |||
* '''Website:''' https://distem.gforge.inria.fr/ | |||
= Monitoring software = | |||
== PowerAPI : monitoring the power consumption of processes == | |||
'''PowerAPI''' is a middleware toolkit for building software-defined power meters that can monitor the power consumption of software processes and containers across several Grid'5000 nodes. | |||
* '''Maintainers:''' Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: [http://romain.rouvoy.fr Romain Rouvoy]) | |||
* '''Website:''' http://powerapi.org / https://hub.docker.com/r/spirals | |||
= Infrastructure software = | |||
This section lists software that is used to run the Grid'5000 infrastructure. | |||
== Kadeploy: bare-metal cluster provisioning solution == | |||
Kadeploy is a scalable, efficient and reliable deployment system (cluster provisioning solution) for cluster computing. It provides a set of tools for cloning, configuring (post installation) and managing cluster nodes. It can deploy a 300-nodes cluster in a few minutes, without intervention from the system administrator. It can deploy Linux, *BSD, Windows, Solaris. | |||
On Grid'5000, it allows users to re-install nodes and get administrator access on them for the duration of their resources reservation. | |||
* '''Maintainers:''' MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: [https://members.loria.fr/lnussbaum/ Lucas Nussbaum]). Earlier versions were developed by the LIG laboratory in Grenoble. | |||
* '''Website:''' https://kadeploy3.gforge.inria.fr | |||
== OAR2: resource and job management system == | |||
OAR is a versatile resource and task manager (also called a batch scheduler) for HPC clusters, and other computing infrastructures (like distributed computing experimental testbeds where versatility is a key). | |||
OAR is the low level resources reservation tool managing most of Grid'5000 resources, which users use directly or through the Grid'5000 API. | |||
* '''Maintainers:''' DataMove team at LIG / Inria Grenoble Rhone-Alpes (Contact: [http://oar.imag.fr/contacts OAR team]). | |||
* '''Website:''' http://oar.imag.fr | |||
== Kameleon: a reproducible appliance builder == | |||
Kameleon is a simple but powerful tool to generate customized system appliances. | |||
Kameleon is used in the process of generating Grid'5000 system environments, which users deploy with Kadeploy, from scripted recipes. | |||
* '''Maintainers:''' DataMove team at LIG / Inria Grenoble Rhone-Alpes (Contact: Pierre Neyron, Michael Mercier) | |||
* '''Website:''' http://kameleon.imag.fr | |||
== CiGri: grid middleware for bag-of-tasks == | |||
CiGri is a lightweight grid middleware designed to run on top of a set of OAR clusters to manage efficiently large sets of multi-parametric tasks (also called bag-of-tasks). | |||
Cigri is available as a service in Grid'5000 (see [[Multi-parametric_experiments_with_CiGri|Tutorial]]). | |||
* '''Maintainers:''' UMS Gricad (Contact: Bruno Bzeznik) | |||
* '''Website:''' http://ciment.ujf-grenoble.fr/cigri | |||
== KaVlan == | |||
KaVLAN provides network isolation capabilities for Grid'5000 users' experimentations, via a high-level, user-driven interface to VLANs (802.1Q). | |||
* '''Maintainers:''' Nicolas Niclausse (''firstname.lastname@inria.fr'') | |||
* '''Website:''' https://www.grid5000.fr/mediawiki/index.php/KaVLAN | |||
== Kwapi: Testbed Distributed Monitoring Framework == | |||
Kwapi is a framework designed for acquiring energy consumption and network metrics. It allows to import metrics from various sources and expose them in different ways. | |||
* '''Maintainers:''' Grid'5000 Team (''support-staff at lists.grid5000.fr'') | |||
* '''Website:''' https://github.com/grid5000/kwapi-g5k and https://github.com/openstack/kwapi | |||
{{Template:Help|text=Grid'5000 users, please send an email to [mailto:web-staff_AT_lists_DOT_grid5000_DOT_fr web-staff] if you would like to see a new software appear on this page.}} | {{Template:Help|text=Grid'5000 users, please send an email to [mailto:web-staff_AT_lists_DOT_grid5000_DOT_fr web-staff] if you would like to see a new software appear on this page.}} |
Revision as of 11:34, 16 June 2017
Software mainly developed in Grid'5000 and available for its users.
This page lists software developed by the Grid'5000 community or the Grid'5000 team.
Experiment management tools
Ruby-Cute: Ruby gem for Grid'5000
Ruby-Cute is a set of Commonly Used Tools for Experiments, or Critically Useful Tools for Experiments. It is a Ruby library (gem) aggregating various snippets useful in the context of development of experiment control scripts on Grid'5000. It includes code for interaction with the Grid'5000 REST API, parallel SSH execution, etc.
Of particular interest is the xp-bootstrap example that shows how to automate the various steps usually performed at the beginning of an experiment (resources reservation, deployment, configuration).
- Maintainers: MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: Lucas Nussbaum)
- Website: https://github.com/ruby-cute/ruby-cute
Execo: unix processes orchestration, and experiment orchestration
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.
The README and User Guide are the best entry points to the execo documentation. The User Guide shows with simple and step by step examples how to benefit from execo for experiment scripting on Grid'5000.
- Maintainer: matthieu dot imbert at inria dot fr
- Website: http://execo.gforge.inria.fr
TakTuk: parallel launcher
TakTuk is a tool for deploying parallel remote executions of commands to a potentially large set of remote nodes.
TakTuk is used both internally for the infrastructure management and by end users, to manage large parallel remote executions on Grid'5000.
- Maintainer: Polaris Team at LIG / Inria Grenoble Rhone-Alpes (Contact: Guillaume Huard)
- Website: http://taktuk.gforge.inria.fr
Funk: (F)ind yo(U)r (N)odes on g5(K)
Funk is a tool that help you to plan your experiments on Grid'5000. It is a Python script based on Execo that can give you nodes available at a given time, find available free slots for a combination of resources, etc.
- Maintainer: Matthieu Imbert and Simon Delamare (firstname.lastname@inria.fr)
- Website: https://github.com/lpouillo/Funk
XP5K
XP5K is a Ruby library that allow to automate some parts of Grid'5000 experiments : OAR jobs, Kadeploy deployments, SSH commands. Roles can be defined in order to have an abstraction of reserved nodes. Combined with Rake, XP5K will help users to define simple workflows like the Openstask deployement.
- Maintainer: Pascal Morillon
- Website: https://github.com/pmorillon/xp5k
Drivers for virtualization and containers solutions
docker-machine-driver-g5k: using a Grid'5000 physical machine directly from Docker
docker-machine-driver-g5k is a DockerMachine driver that leverages the provisioning of a Grid'5000 node as a machine in the context of Docker.
- Maintainers: Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: Romain Rouvoy)
- Website: https://github.com/Spirals-Team/docker-machine-driver-g5k
docker-g5k: provisioning a Docker cluster within Grid'5000
docker-g5k is a command line interface (CLI) and a Go library to provision a cluster of docker hosts made of multiple Grid5000 nodes, possibly provisioned across several sites.
- Maintainers: Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: Romain Rouvoy)
- Website: https://github.com/Spirals-Team/docker-g5k
vagrant-grid5000: using Grid'5000 physical machines directly from Vagrant
vagrant-grid5000 is a Vagrant Provider Plugin that makes it possible to use Grid'5000 nodes as machines in the context of Vagrant. When vagrant up is called, a node is reserved and deployed (by default, on the nancy site, and with the jessie-x64-min environment), and then provisioned by Vagrant.
- Maintainers: MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: Lucas Nussbaum)
- Website: https://github.com/lnussbaum/vagrant-grid5000
vagrant-g5k: manage virtual machines on Grid'5000 using vagrant
vagrant-g5k is a vagrant provider to manage virtual machines on Grid'5000. It supports different kinds of networking (Nat, bridge), disk backends (local, RBD, snapshots). Usual vagrant commands are supported (provision, rsync, ssh ...).
- Maintainers: Matthieu Simonin (Contact: matthieu.simonin@inria.fr)
- Website: https://github.com/msimonin/vagrant-g5k
Deployment of complex software stacks inside Grid'5000
EnOS : Experimental environment for OpenStack
Enos deploys OpenStack and targets reproducible experiments. With Enos you can deploy, customize, benchmark OpenStack.
- Maintainers: Discovery IPL (Contacts: ronan-alexandre.cherrueau@inria.fr / matthieu.simonin@inria.fr)
- Website: https://github.com/beyondtheclouds/enos
benchmark-containers: leveraging the deployment of standard benchmarks
benchmark-containers shares a repository of state-of-the-art benchmarks (Parsec, IOzone, etc.) packaged as Docker containers.
- Maintainers: Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: Romain Rouvoy)
- Website: https://github.com/Spirals-Team/benchmark-containers / https://hub.docker.com/r/spirals
hadoop-benchmark: leveraging the deployment of Vanilla Hadoop
hadoop-benchmark provides Docker containers to build an Hadoop infrastructure and experiment feedback control loops atop of it.
- Maintainers: Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: Romain Rouvoy)
- Website: https://github.com/Spirals-Team/hadoop-benchmark / https://hub.docker.com/r/spirals
xp5k-openstack: Openstask deployment tool
xp5k-tutorial is a tool, prepared for the Grid'5000 Winter School 2016. It provides a method to deploy Openstack on Grid'5000 based on official Puppet Modules. This method will allow the deployment of current and future Openstack versions in different configurations.
- Maintainers: Grid'5000 technical team
- Website: https://www.grid5000.fr/mediawiki/index.php/OpenStack_deployment_on_Grid5000
Emulation tools
Distem: CPU performance and network emulator
Distem is a distributed systems emulator. It can be used to transform an homogeneous Grid'5000 cluster (composed of identical nodes) into an experimental platform where nodes have different performance, and are linked together through a complex network topology, making it the ideal tool to benchmark applications targeting such environments.
- Maintainers: MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: Lucas Nussbaum)
- Website: https://distem.gforge.inria.fr/
Monitoring software
PowerAPI : monitoring the power consumption of processes
PowerAPI is a middleware toolkit for building software-defined power meters that can monitor the power consumption of software processes and containers across several Grid'5000 nodes.
- Maintainers: Spirals team at CRIStAL / Inria Lille - Nord Europe (Contact: Romain Rouvoy)
- Website: http://powerapi.org / https://hub.docker.com/r/spirals
Infrastructure software
This section lists software that is used to run the Grid'5000 infrastructure.
Kadeploy: bare-metal cluster provisioning solution
Kadeploy is a scalable, efficient and reliable deployment system (cluster provisioning solution) for cluster computing. It provides a set of tools for cloning, configuring (post installation) and managing cluster nodes. It can deploy a 300-nodes cluster in a few minutes, without intervention from the system administrator. It can deploy Linux, *BSD, Windows, Solaris.
On Grid'5000, it allows users to re-install nodes and get administrator access on them for the duration of their resources reservation.
- Maintainers: MADYNES team at LORIA / Inria Nancy - Grand Est (Contact: Lucas Nussbaum). Earlier versions were developed by the LIG laboratory in Grenoble.
- Website: https://kadeploy3.gforge.inria.fr
OAR2: resource and job management system
OAR is a versatile resource and task manager (also called a batch scheduler) for HPC clusters, and other computing infrastructures (like distributed computing experimental testbeds where versatility is a key).
OAR is the low level resources reservation tool managing most of Grid'5000 resources, which users use directly or through the Grid'5000 API.
- Maintainers: DataMove team at LIG / Inria Grenoble Rhone-Alpes (Contact: OAR team).
- Website: http://oar.imag.fr
Kameleon: a reproducible appliance builder
Kameleon is a simple but powerful tool to generate customized system appliances.
Kameleon is used in the process of generating Grid'5000 system environments, which users deploy with Kadeploy, from scripted recipes.
- Maintainers: DataMove team at LIG / Inria Grenoble Rhone-Alpes (Contact: Pierre Neyron, Michael Mercier)
- Website: http://kameleon.imag.fr
CiGri: grid middleware for bag-of-tasks
CiGri is a lightweight grid middleware designed to run on top of a set of OAR clusters to manage efficiently large sets of multi-parametric tasks (also called bag-of-tasks).
Cigri is available as a service in Grid'5000 (see Tutorial).
- Maintainers: UMS Gricad (Contact: Bruno Bzeznik)
- Website: http://ciment.ujf-grenoble.fr/cigri
KaVlan
KaVLAN provides network isolation capabilities for Grid'5000 users' experimentations, via a high-level, user-driven interface to VLANs (802.1Q).
- Maintainers: Nicolas Niclausse (firstname.lastname@inria.fr)
- Website: https://www.grid5000.fr/mediawiki/index.php/KaVLAN
Kwapi: Testbed Distributed Monitoring Framework
Kwapi is a framework designed for acquiring energy consumption and network metrics. It allows to import metrics from various sources and expose them in different ways.
- Maintainers: Grid'5000 Team (support-staff at lists.grid5000.fr)
- Website: https://github.com/grid5000/kwapi-g5k and https://github.com/openstack/kwapi
Grid'5000 users, please send an email to web-staff if you would like to see a new software appear on this page. |