Benchmarking a Beowulf Cluster


 
Thread Tools Search this Thread
Special Forums UNIX and Linux Applications High Performance Computing Benchmarking a Beowulf Cluster
# 15  
Old 05-12-2009
Sorry, try:

which xhpl_em64t
# 16  
Old 05-12-2009
Quote:
Originally Posted by otheus
Uh-hunh. I wouldn't completely trust that if I were you. Let's take it step-by-step.
  1. Use "type" or "which" or "whence" to find the full path of the linpack executable:
    Code:
    type -a hpl

  2. verify this has been compiled dynamically and not statically:
    Code:
    file <hpl path from step 1>

    You should see something like "Dynamically linked i386 object". As long as you don't see "statically linked binary" proceed to the next step. Otherwise, talk to your system admin and ask him/her very specifically how he/she compiled it.
  3. Next, run
    Code:
    ldd <hpl path from step 1>

    You should see something like "libopen-rte.so" in the output. If you do not, ask your sysadmin to point you to the correct hpl, the one this is compiled "against" (with) the openMPI runtimes.
  4. The libopen-rte.so should point to the full path of a file. If it does not, again, go to your system administrator and ask him/her for the full LD_LIBRARY_PATH that you should have to run against this hpl program.
  5. The path should be available to you by default on all machines in the cluster. If not, add the LD_LIBRARY_PATH setting into the .bashrc file and include your .bashrc from your .bash_profile (if you're using csh, god help you; if ksh, just change the names to .kshrc and .profile). Now log into the other machine and run the ldd command as above; you should see the line pointing to the full path of the MPI rte library.
  6. Make sure this all works by running:
    Code:
    mpirun -np 8 printenv LD_LIBRARY_PATH

    You should get 8 instances of the correct LD_LIBRARY_PATH.
  7. Now go back and try getting this to run for exactly 2 processes. (P=2, Q=1, -np 2)
  8. Now modify the machine file so it has two lines in it, one for each hostname, and run it again.
  9. If we're at this point, try again with 8; if it fails, there are some other things to look at and try.
Ok Otheus, i have done everything you have said, and still the same error.

This is the output from steps 1-2:

in_intel/em64t/xhpl_em64t
/opt/intel/mkl/10.0.1.014/benchmarks/mp_linpack/bin_intel/em64t/xhpl_em64t: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 2.4.1, not stripped.

Output from step 3:

libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d2c400000)
librt.so.1 => /lib64/librt.so.1 (0x0000003d31000000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003d2c000000)
libm.so.6 => /lib64/libm.so.6 (0x0000003d2bc00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003d30000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003d2b800000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d2a600000)

Output from step 6:

/usr/local/openmpi-1.2.6/lib:
/usr/local/openmpi-1.2.6/lib:
/usr/local/openmpi-1.2.6/lib:
/usr/local/openmpi-1.2.6/lib:
/usr/local/openmpi-1.2.6/lib:
/usr/local/openmpi-1.2.6/lib:
/usr/local/openmpi-1.2.6/lib:
/usr/local/openmpi-1.2.6/lib:

I then opened the HPL.dat, and made P = 2, Q = 1.

I then opened my machines file, and included the names of the node i am logged into, plus another free node:
hydrus1
hydrus2

And then i ran this command from the terminal:

mpirun -np 2 -machinefile machines xhpl_em64t

And i was displayed with the following error:

HPL ERROR from process # 0, on line 419 of function HPL_pdinfo:
>>> Need at least 2 processes for these tests <<<

HPL ERROR from process # 0, on line 621 of function HPL_pdinfo:
>>> Illegal input in file HPL.dat. Exiting ... <<<

HPL ERROR from process # 0, on line 419 of function HPL_pdinfo:
>>> Need at least 2 processes for these tests <<<

HPL ERROR from process # 0, on line 621 of function HPL_pdinfo:
>>> Illegal input in file HPL.dat. Exiting ... <<<



I am really desperate to get this to work, have been trying for weeks.


Thanks for your help once again Otheus, i really appreciate the efforts you are going to.
# 17  
Old 05-13-2009
As I suspected, your administrator did not give you the MPI version; rather he compiled it for the threading model. Show your administrator the output from step 3 and kindly ask him/her to recompile it for you with the OpenMPI.

After that, everything should work fine.
# 18  
Old 05-15-2009
I was able to succesfully run xhpl using your HPL.dat file on 6 processors across 2 nodes.

The command used was:
Code:
mpirun -mca btl tcp,self -np 6 -hostfile machines ./xhpl

(Note the "-mca btl tcp,self" is to avoid warnings and errors w.r.t. Infiniband, which we don't have here. If this is your problem, it's still your admin's fault!)

The machines file was as follows:
Code:
sandbox
sandbox
sandbox2
sandbox2
sandbox2
sandbox2

The HPL.dat file was identical to the one you posted here, with the exception of Q = 3 (since I have one 4-cpu host and one 2-cpu host). Also HPL.out was changed to 340 for speed reasons, but prior tests indicated it worked well to at least 2500 on my hosts. Large values of N may cause the system to run out of memory, but this would be a different error.


To compile the HPL program, I used the command "make arch=TIS" (my firm is called Tiscover) and the following Makefile (Make.TIS). For your admin's sake, I have hilighted some important changes:
Code:
SHELL        = /bin/sh
CD           = cd
CP           = cp
LN_S         = ln -s
MKDIR        = mkdir
RM           = /bin/rm -f
TOUCH        = touch
ARCH         = TIS
TOPdir       = $(HOME)/downloads/hpl-2.0
INCdir       = $(TOPdir)/include
BINdir       = $(TOPdir)/bin/$(ARCH)
LIBdir       = $(TOPdir)/lib/$(ARCH)
HPLlib       = $(LIBdir)/libhpl.a
MPinc        =
MPlib        =
LAdir        =
LAinc        =
LAlib        = /usr/lib/libblas.a
F2CDEFS      = -DAdd__ -DF77_INTEGER=int -DStringSunStyle
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
HPL_LIBS     = $(HPLlib) $(LAlib) $(MPlib)
HPL_OPTS     =
HPL_DEFS     = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
CC           = /usr/bin/mpicc
CCNOOPT      = $(HPL_DEFS)
CCFLAGS      = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops
LINKER       = /usr/bin/mpif77
LINKFLAGS    = $(CCFLAGS)
ARCHIVER     = ar
ARFLAGS      = r
RANLIB       = echo


Last edited by otheus; 05-15-2009 at 11:51 AM.. Reason: colors
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

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. 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

7. 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

8. 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

9. 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
Login or Register to Ask a Question