Skip to content
This repository has been archived by the owner on Nov 2, 2018. It is now read-only.

Cloud computing benchmarking suite for Chameleon (Fall 2017 @ Illinois Institute of Technology)

Notifications You must be signed in to change notification settings

davidghiurco/cs553-2017-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cs553-2017-benchmark

Cloud computing (Fall 2017 @ Illinois Institute of Technology) benchmarking suite for Chameleon

CPU Instructions

Compiling

cd cpu/
make cpu

Running all experiments

make run-cpu

This will run all 8 experiments that have to be written for this part of the assignment. (The extra credit experiments are not done).

  • Note: the experiments in this section are performed using Intel AVX instructions.
    The binary is optimized to use these instruction sets

To run an individual experiment, the usage is:

./benchmark.bin <operation> <num threads>

where operation is either:

  • flops
  • iops

Compiling and running HPL

First, install and setup Spack

cd ~/
git clone https://github.com/llnl/spack.git
export PATH="~/spack/bin:$PATH"
sudo yum install environment-modules -y
source /etc/profile.d/modules.sh
source ~/spack/share/spack/setup-env.sh

Install HPL using spack

spack install hpl cflags="-march=native -mtune=native -O3" ^intel-mkl ^intel-mpi

Load the HPL binary into the PATH

spack load hpl

Now we need to cd into the directory where the hpl binary (named "xhpl") and HPL.dat input file reside

It is time to write up the input file for HPL. The most important thing is to determine the problem size (N):

cd $(dirname $(which xhpl))

On x.large KVM instances, the total RAM is 16,384 MB.

To calculate the problem size for HPL the following equation is used:

Memory size for HPL

= sqrt({phyiscal memory in bytes} * 0.80 / 8 )

= sqrt(16,384 * 1,000,000 * 0.80 / 8)

= 40,477

  • Note: This will take up roughly 80% of available RAM
  • Note2: The division by 8 comes from the fact that a double-precision floating point number occupies 8 bytes

Images and further information on HPL.dat (the input file), as well as the output and results are provided in the report.

Now to run hpl, we need to have an MPI distribution available in the path. We already installed it using spack. Load it now

spack load intel-mpi

To run HPL (from within the /bin directory containing the xhpl binary):

cd $(dirname $(which xhpl))
mpirun -n 8 ./xhpl

Memory Instructions

Compiling

cd memory/
make memory-host

Running all experiments

make run-memory-host

To run an individual experiment, the usage is:

./benchmark_host.bin <operation> <block size> <num threads>

where operation is either:

  • read_and_write
  • seq_write_access
  • random_write_access

Compiling and running STREAM

Download from GitHub

git clone https://github.com/jeffhammond/STREAM.git

Compile

  • We will be using 30 million elements in the problem size (3x larger than the default)
cd STREAM/
gcc -march=native -mtune=native -O3 -fopenmp -D_OPENMP -D STREAM_ARRAY_SIZE=30000000 stream.c -o stream

Before running, we need to tell Stream how many threads to use. We will use 8 because x.xlarge KVM instances on Chameleon have 8 VCPUs.

export OMP_NUM_THREADS=8

To run (from the top level of the git repository downloaded earlier):

./stream

About

Cloud computing benchmarking suite for Chameleon (Fall 2017 @ Illinois Institute of Technology)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published