Thursday, June 5, 2008

Getting Used to NUS SVU

NUS Supercomputing and Visualization Lab uses the Load Sharing Facility LSF (bqueue, bjobs, bsub). My SVU account has a quota of 200MB (update on 21 May 2009 - now it seems to have been increased to 4GB) so I cannot put/compile much stuff there. So usually in future I will make my program in a linux system, copy the binary there using scp and run using bsub.

Finding Properties of the Machine

After logging in, one can run the dmesg command to find what kind of CPU, memory etc is on the machine. For example, on atlas4-c01 I wanted to confirm that it has Intel Xeon Processor as said at the SVU list of hosts and queues. So I ran on the command prompt:

dmesg | grep -i intel -C 1 | less

and received output:

CPU0: Initial APIC ID: 0
CPU0: Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
per-CPU timeslice cutoff: 6145.14 usecs.
--
CPU1: Initial APIC ID: 4
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
Booting processor 2/2 rip 6000 rsp 100cfe1df58
--
CPU2: Initial APIC ID: 2
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
Booting processor 3/6 rip 6000 rsp 10037e13f58
--
CPU3: Initial APIC ID: 6
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
Booting processor 4/1 rip 6000 rsp 10006989f58
--
CPU4: Initial APIC ID: 1
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
Booting processor 5/5 rip 6000 rsp 100069c1f58
--
CPU5: Initial APIC ID: 5
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
Booting processor 6/3 rip 6000 rsp 100069f7f58
--
CPU6: Initial APIC ID: 3
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
Booting processor 7/7 rip 6000 rsp 1042142df58
--
CPU7: Initial APIC ID: 7
Intel(R) Xeon(R) CPU E5430 @ 2.66GHz stepping 06
Total of 8 processors activated (42672.12 BogoMIPS).

So this machine has 8 processors. On Intel site I found that E5430 has L2 cache size of 12 MB, which is more than the 8MB in my office desktop Intel Core 2 Quad with 4 processors.

dmesg command didn't work on cougar1 and cougar2 when I tried.

Updated on Feb 5, 2011: To find the architecture of your machine, use "uname -i".

Useful Commands To Submit Jobs

Following are some useful commands:
bsub -q mcore_parallel_test -m multicore -n2 "./a.out > a.output"
bjobs
bpeek
bqeueues -l

Further links on the b commands: www.cisl.ucar.edu/docs/lightning/lsf.usage.ppt http://www.nus.edu.sg/comcen/svu/techinfo/unixcom.pdf

Running your executables on SVU machines

I tried running some executables built on my machines on SVU machines. Unfortunately since the versions of libraries on SVU are different from those on the built machine, I faced problems. First, the version of python I used on my machine is different from that on the SVU machine "atlas3". It had no "subprocess" module which I was using for forking a process.

I am currently stuck with "/lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./libtbb.so)". Lets see how it turns out.

Installing Subversion (svn) on Linux without Root Privileges

I know this should have been easy, but subversion (svn) has a lot of dependencies which must be there as well. There is no pre-built binary package for linux that you can install without root privileges.

I went to a number of searches on this topic, but finally the following worked for me:
1. download the latest subversion source from http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74

2. also download the deps (dependencies) source
3. untar both these using tar -zvxf in the same directory
4. run ./configure --with-ssl --enable-shared
The last option is needed, otherwise your build will fail (for more details see http://subversion.tigris.org/faq.html#relocation-against-local-symbol)
5. make

and now the subversion binary is ready. You can run it from bin directory. Set your PATH environment variable accordingly in .bashrc.