Skip to content

camilo1729/distem-expe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Cristian Ruiz
Dec 10, 2015
f914c94 · Dec 10, 2015
Jun 10, 2015
Jul 10, 2015
Aug 20, 2015
Sep 10, 2015
Dec 7, 2015
Nov 20, 2015
Nov 30, 2015
May 4, 2015
Dec 10, 2015
Oct 20, 2015
Nov 30, 2015
Nov 18, 2015
Nov 24, 2015
Dec 10, 2015
Sep 11, 2015
Oct 20, 2015
Nov 27, 2015
Nov 20, 2015
Jun 22, 2015
Sep 10, 2015
Jun 25, 2015
Nov 27, 2015

Repository files navigation

distem-expe

Script for deploying Distem HPC validation in Grid'5000.

Several ruby scripts aimed at evaluating Linux containers for HPC. The scrips help to deploy and execute NAS parallel benchmarks on:

  1. real cluster 2) a cluster made of containers.

How to repeat the experiments

Several parameter for the experiments can be customized using the expe_metadata.yaml file.

log_file: # name of the file to be used as log file.
distem_bootstrap_path: # help script to install and start distem on the machines.
site: # Grid'5000 site
cluster: # specific cluster in the site
runs: #integer which specifies the number of times a measure will be repeated.
timeout: # deprecated
multi_machine: # active the running of scalability test
performance_check: # active the check of performance
kernel_version: # kernel versions to test. The different kadeploy config should be exist
container_tests: # an array for the number of container that will be created on a physical machine
bench_container_test: ?
container_cores: #specifies the number of cores a vnode will be configured with
benchs: # only NAS benchmarks, specifies the type of benchmark and the class to be run.

Linux kernel version and oversubscription

The experiments are controlled by two files: run_all_kernelversion_expe.rb and expe_metadata.yaml. First, you have to download them this repository:

	$ wget https://raw.githubusercontent.com/camilo1729/distem-expe/master/expe_metadata.yaml
	$ wget https://raw.githubusercontent.com/camilo1729/distem-expe/master/run_all_kernelversion_expe.rb

Then, we should use the following metadata:

log_file: "Distem_expe.log"
distem_bootstrap_path: "~/Repositories/ruby-cute/examples"
site: "rennes"
cluster: "paravance"
runs: 20
multi_machine: false
performance_check: true
kernel_versions:
- "4.0"
container_tests: # For the experiment we deploy up to 8 container per machine
- 1
- 2
- 4
- 8
bench_real_test: false
container_cores: 0
benchs:
- :type: lu
  :class: B
- :type: cg
  :class: B
- :type: ep
  :class: B
- :type: ft
  :class: B
- :type: is
  :class: C
- :type: mg
  :class: C

Then, execute the ruby script

	$ ruby run_all_kernelversion_expe.rb

Inter-container communication

Download the following scripts:

	$ wget https://raw.githubusercontent.com/camilo1729/distem-expe/master/expe_metadata.yaml
	$ wget https://raw.githubusercontent.com/camilo1729/distem-expe/master/deploy_lxc_expe.rb

and edit the metadata file like this:

---
log_file: "Distem_expe.log"
distem_bootstrap_path: "~/Repositories/ruby-cute/examples"
site: "rennes"
cluster: "paravance"
runs: 20
multi_machine: false
performance_check: true
kernel_versions:
- "4.0"
container_tests: # number of containers to be created in each machine
- 1
- 2
- 4
- 8
bench_container_test:
- 2
- 4
- 8
bench_real_test:
- 2
- 4
- 8
container_cores: 2
benchs:
- :type: lu
  :class: B
- :type: cg
  :class: B
- :type: ep
  :class: B
- :type: ft
  :class: B
- :type: is
  :class: C
- :type: mg
  :class: C

For the test just one machine will be used. Run the script using the follwing parameters:

	$ ruby deploy_lxc_expe.rb 1 2

Multinode inter-container communication

Download the following scripts:

	$ wget https://raw.githubusercontent.com/camilo1729/distem-expe/master/expe_metadata.yaml
	$ wget https://raw.githubusercontent.com/camilo1729/distem-expe/master/deploy_lxc_expe.rb

and edit the metadata file like this:

log_file: "Distem_expe.log"
distem_bootstrap_path: "~/Repositories/ruby-cute/examples"
site: "rennes"
cluster: "paravance"
runs: 20
multi_machine: true
performance_check: true
kernel_versions:
- "4.0"
container_tests: # number of containers to be created in each machine
- 1
bench_container_test: # depends on the number of machines you reserved
- 1
- 2
- 4
- 8
- 16
- 32
- 64
bench_real_test: # depends on the number of machines you reserved
- 1
- 2
- 4
- 8
- 16
- 32
- 64
container_cores: 16 # depends on the number of cores you have in the machine
benchs:
- :type: lu
  :class: B
- :type: cg
  :class: B
- :type: ep
  :class: B
- :type: ft
  :class: B
- :type: is
  :class: C
- :type: mg
  :class: C

By default it will make a reservation in paravance cluster, you can edit it to change the parameter of reservation.

About

Script for deploying Distem HPC validation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published