Sponsored Content
Special Forums UNIX and Linux Applications High Performance Computing Benchmarking a Beowulf Cluster Post 302311959 by otheus on Thursday 30th of April 2009 04:53:12 AM
Old 04-30-2009
First, you should (a) install the ATLAS and scalapak libraries, and make sure these are on each node. Second, you need to install one of the MPI packages (OpenMPI, LAMMPI, MPICH, etc); the run-times need to be on each node, and the compiler libraries and tools need to be on one node. Third, you need to recompile for MPI and ATLAS. I believe linpack uses a configure script in which you tell it to use MPI or something like that. Fourth, for these benchmarks, you should disable Linux's swap; this ensures the linpack doesn't start swapping and killing performance. (Do this with sysctl vm.swappiness=0" and after "=1") (If it runs out of memory, the problem size is too large, and the process fails.)

Next, start out with a simple test to make sure your hpl + mpi setup is working. You'll need a dummy config file like this:
Code:
Our cluster benchmark
My university lab
HPL.out
6
1
400
1
50
1
1     
4
3
-1
1       # of panel fact
0
1       # of recursive stopping criterium
2
1       # of panels in recursion
2
1       # of recursive panel fact.
0
1       # of Bcasts
1
1       # of Lookahead depths
0
2
60
0
0
0       
8       # alignment of double

It should run to completion and give you some reasonable output (the last number of the output is GFlops). With these Xeon's, your theoretical peak is 3 (nodes) * 4 (CPUs) * 4 (cores) * 3.4 (GHz) * N (Floating point operations / cycle) = 163 * N. (See the Intel spec sheet for your processor to determine N).

Once you have that working, you're ready for tuning the HPL suite: run a series of tests, each with a different configuration. One configuration file does this. The linpack program permutes all possible combinations of parameters within the file, and runs one test on each permutation. A quide to this format can be found here, but here's what I suggest you start with:
Code:
Our cluster benchmark
My university lab
HPL.out
6
7
100 200 400 800 1600 3200 6400 
5
50 100 150 200 250
1
4
12 4 3 1
1 3 4 12
-1
3       # of panel fact
0 1 2   PFACTs (0=left, 1=Crout, 2=Right)
4       # of recursive stopping criterium
1 2 4 8 NBMINs (>= 1)
3       # of panels in recursion
2 3 4   NDIVs
3       # of recursive panel fact.
0 1 2   RFACTs (0=left, 1=Crout, 2=Right)
5       # of Bcasts
0 1 2 3 4 5
3       # Lookaheads
0 1 2
2       # SWAP type
60      # SWAP=2 threshold
0
0
1
8

Now, this will will take a long time. Make sure you pipe the output with " | tee hpout.dat" to make sure you capture the output and can see it and it gets saved to disk.

After this, look for the top 8 or 16 results, and refine the config file to use only the parameters that produced these results.

NOW you can start performance tuning the cluster. Most critically, you will want to (a) tune the TCP/IP kernel parameters, (b) disable all non-essential Linux processes on all nodes, and (c) tune the switch parameters for the cluster ports -- ie, disable auto-negotiate and maybe tune the messaging queues (some switches use different types of service and have small queues for each one; you want one large queue for all TOS).
 

9 More Discussions You Might Find Interesting

1. UNIX Benchmarks

Server and Workstation benchmarking

This is from my server AMD K6 133MHz 64Mb RAM 4GB HDD (Maxtor - ATA33) 2x10Mb NIC 1Mb Intel Graphic Card BYTE UNIX Benchmarks (Version 3.11) System -- FreeBSD sergiu.tarnita.net 5.0-RELEASE FreeBSD 5.0-RELEASE #2: Thu Mar 17 15:49:16 EET 2005... (0 Replies)
Discussion started by: Sergiu-IT
0 Replies

2. HP-UX

HP-Unix Hardware benchmarking

Hi everyone, I'm working on one HP-Unix application which we have to port completely onto Windows xp. Before that I have to compare performance of two different machines. My HP-Unix is running on HP-C8000 workstation and windows XP machine is intel Xeon. Now the problem is to evaluate the... (0 Replies)
Discussion started by: dgatkal
0 Replies

3. High Performance Computing

Building a Solaris Cluster Express cluster in a VirtualBox on OpenSolaris

Provides a description of how to set up a Solaris Cluster Express cluster in a VirtualBox on OpenSolaris. More... (0 Replies)
Discussion started by: Linux Bot
0 Replies

4. High Performance Computing

MySQL Cluster - Designing, Evaluating and Benchmarking (reg. req'd)

Registration is required. In this white paper learn the fundamentals of how to design and select the proper components for a successful MySQL Cluster evaluation. Explore hardware, networking and software requirements. Work through basic functional testing and evaluation best practices. More... (0 Replies)
Discussion started by: Linux Bot
0 Replies

5. High Performance Computing

Tuning HPL.dat for Beowulf Cluster [Linpack]

Hi guys, I am having some issues tuning the HPL.dat file for the Linpack benchmark test across 2 nodes. I am very new to this with minimal Linux experience, however i am trying my luck. The specs for the two nodes are: 3GHZ QX6850 CORE 2 EXTREME (QUAD CORE) 4GB RAM I have been typing these... (1 Reply)
Discussion started by: mercthunder
1 Replies

6. UNIX for Advanced & Expert Users

Benchmarking a new Solaris, with four different clients

Good morning, for the impatient: I have a new backup-server and need to monitor, what the machine can do, what's the best way of finding that out? I will tell the story right from the beginning, so you have a clue about what's going on: I have a setup of three machines: A new... (6 Replies)
Discussion started by: PatrickBaer
6 Replies

7. UNIX for Dummies Questions & Answers

benchmarking application

Where i get a open source benchmark program using pthread library for benchmarking our multicore system for the first stage.I need the source code too for that application ,because in later stage we need to develop our application so that i need to study pthread more. please anybody guide me . (0 Replies)
Discussion started by: sujith4u87
0 Replies

8. UNIX and Linux Applications

Benchmarking and performance analyzing in OS

Is/Are there an/some application/applications , package/packages for benchmarking or system performance measuring which are there for almost all Linux releases and distributions? (2 Replies)
Discussion started by: nixhead
2 Replies

9. Solaris

Sun cluster 4.0 - zone cluster failover doubt

Hello experts - I am planning to install a Sun cluster 4.0 zone cluster fail-over. few basic doubts. (1) Where should i install the cluster s/w binaries ?. ( global zone or the container zone where i am planning to install the zone fail-over) (2) Or should i perform the installation on... (0 Replies)
Discussion started by: NVA
0 Replies
eurephia_init(7)														  eurephia_init(7)

NAME
eurephia_init - Initialisation utility for the eurephia OpenVPN plug-in. SYNOPSIS
eurephia_init [-V|--version] [-h|--help] [-l|--log <filename>] [-L|--log-level <log level>] [-N|--hash-threshold-min <ms>] [-M|--hash-threshold-max <ms>] [-D|--database-driver <path>] [-d|--database-args <args>] DESCRIPTION
This utility is only supposed to be used when installing eurephia. The purpose is to initialise the database eurephia will use, by setting up some standard configuration values and create an administrator account OPTIONS
Arguments used by eurephia_init: -V | --version Show version information -h | --help This help screen -l | --log <filename> Log file for debugging -L | --log-level <log level> Sets the log level -N | --hash-threshold-min <ms> : Benchmarking parameter, see below. Default 95ms -M | --hash-threshold-max <ms> : Benchmarking parameter, see below. Default 200ms -D | --database-driver <full path> Full path to the database driver (Required) -d | --database-args <arguments> Required database arguments for the driver (Required) BENCHMARKING
During the initialisation this utility will benchmark the CPU power by doing multiple SHA512 hash calculations. This is to determinate the optimal rounds the password hashes should use on the current computer. To make it more difficult to brute force passwords, eurephia imple- ments dynamic password hash rounds, based on a random number within in a given range. This benchmark will suggest an optimal range. To do this, two limits are defined, the shortest time and the longest time to be used for calculating a hash. The default values are 95ms and 200ms. If you want to modify those thresholds, you can do so with the --hash-threshold-min and --hash-threshold-max options. By increasing these numbers, you will allow the number of rounds to be increased. AUTHOR
Copyright (C) 2009-2010 David Sommerseth <dazo@users.sourceforge.net> David Sommerseth June 2010 eurephia_init(7)
All times are GMT -4. The time now is 03:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy