Traceable performance evaluation: Difference between revisions

From Grid5000
Jump to navigation Jump to search
Line 17: Line 17:


== Benchmarking on a deployed environment ==
== Benchmarking on a deployed environment ==
Using kadeploy is very relevant for benchmarking, as it allows the user to operate the nodes with a most minimalistic system that is sufficient for the benchmark. For instance, one can deploy the <code class=replace>-min</code> variant of one of the Grid'5000 supported environments, or a customized environment possibly built on top of a minimalistic environment but including software required for running the benchmark.
Using kadeploy is very relevant for benchmarking, as it allows the user to operate the nodes with the most minimalistic system that is sufficient for the benchmark. For instance, one can deploy the <code class=replace>-min</code> variant of one of the Grid'5000 supported environments, or a customized environment possibly built on top of a minimalistic environment and featuring only software required for running the benchmark.


{{Note|text=By design, the <code class=replace>-min</code> variant of the Grid'5000 supported environments do not change the default behavior of the Linux distributions.}}
{{Note|text=By design, the <code class=replace>-min</code> variant of the Grid'5000 supported environments do not change the default behavior of the Linux distribution it is based on.}}


The recipes from which Grid'5000 environment are built are available in https://gitlab.inria.fr/grid5000/environments-recipes. See [[Environment creation]] for more information about how environments are built.
The recipes from which Grid'5000 environment are built are available in https://gitlab.inria.fr/grid5000/environments-recipes. See [[Environment creation]] for more information about how environments are built.

Revision as of 10:30, 13 September 2021

This page presents good practices when performing benchmarks using Grid'5000 nodes. It is not about benchmarking Grid'5000 itself.

About the nodes' operating system

Grid'5000 nodes can be used with a choice of different system environments: either with the default (standard) environment which is pre-provisioned on nodes, or with a variety of environments deployed on demand by the user. We compare the several options.

Benchmarking on node running the default (standard) environment

In this case, access to the system of the node does not require a deployment (kadeploy), so access is quicker. The system however comes with a lot of functionalities that may impact benchmarks. It may be relevant to uninstall/deactivate them before running the benchmark.

The list of services running on the system can be shown using systemctl

Services can be uninstalled (e.g. with apt-get remove package) or just deactivated (with systemctl stop service) after becoming root (with sudo-g5k).

The following services is known to possibly impact benchmarks:

  • prometheus-node-exporter.service
  • ...

Also, the Grid'5000 default environment includes some common system tweaks that may have biases on benchmarks. The CPU parameters page may provide relevant information.

Benchmarking on a deployed environment

Using kadeploy is very relevant for benchmarking, as it allows the user to operate the nodes with the most minimalistic system that is sufficient for the benchmark. For instance, one can deploy the -min variant of one of the Grid'5000 supported environments, or a customized environment possibly built on top of a minimalistic environment and featuring only software required for running the benchmark.

Note.png Note

By design, the -min variant of the Grid'5000 supported environments do not change the default behavior of the Linux distribution it is based on.

The recipes from which Grid'5000 environment are built are available in https://gitlab.inria.fr/grid5000/environments-recipes. See Environment creation for more information about how environments are built.

About Grid'5000 metering probes

Grid'5000 provides the kwollect service that can collect information about nodes during a job: energy, network traffic, and more. See the kwollect page or the Energy consumption monitoring tutorial.