Wednesday, September 15, 2010

Overlay network vs. Virtual machine

Both are another layer of abstraction above the native resource. Anyway we can leverage existing studies in VM to overlay network?

Wednesday, July 14, 2010

Installing TraceFS

  1. Need to copy over fs.h and syscalls.h
  2. System crashed when doing "mount -t tracefs"

Thursday, June 17, 2010

Understainding ext2fs library

Useful tool:
  1. debugfs -R show_super_stats
  2. Kernel hlist doesn't really do hash. You still need to write your own hash functions
Part 1: inode.c
  1. get_next_blockgroup() doesn't really do the I/O. It just "gets ready" for reading the next block group.

Monday, June 14, 2010

Different asynchronous I/O methods in Linux

  1. Library (aio_read, aio_write). This requires no kernel support. It just forks out a child process doing I/O. This is the "poor man's" version of asynchronous I/O
  2. Kernel support. This is available in 2.6 kernel. It uses functions like io_setup, io_submit, io_getevents, etc..

Thursday, June 10, 2010

How to use shared libraries in Linux

Note that LD_LIBRARY_PATH is to be set before the program run. In other words, the variable is to be used AT RUN TIME.

Monday, May 17, 2010

Tracing memory usage

We can trace brk() and mmap() calls...

http://www.linuxjournal.com/article/6390

Wednesday, April 28, 2010

Monday, April 26, 2010

How to build FLASH I/O on Jaguar PF

  1. Download the code from http://www.mcs.anl.gov/research/projects/pio-benchmark/
  2. module load hdf5/1.6.8
  3. Modify Makefile.linux as: HDF5path = /sw/xt5/hdf5/1.6.8/cnl2.2_pgi9.0.4/; ZLIBpath = /sw/xt5/szip/2.1/sles10.1_pgi9.0.2/
  4. module load szip
  5. gmake -f Makefile.linux flash_benchmark_io

Wednesday, March 31, 2010

If a C++ program gets a "Killed" error (really not that informative!), one possible reason is memory leak.

Tuesday, March 30, 2010

Small letters in equations

Try to use small letters in equations when writing a paper. Capital ones do not look good.

Monday, February 1, 2010

How to compile and run DTMS

  1. go to Usr/, do a make
  2. edit dtms.inp, change nrtitr and nrtout to small values (20 or 40)
  3. edit dtms.sh, use your own email and account
  4. submit the job

Thursday, January 28, 2010

Picture of twitter being down

http://users.nccs.gov/~zzhang3/twitter_down.jpg

Thursday, January 21, 2010

Compiling and using shared libraries on Juguar

To link to a dynamic library, besides the -L <path_to_lib>and -l<name_of_lib>, also remember to use -Bdynamic! It is because Jaguar is using pgcc for parallel programs.

It took me at least 5 hours to find out. Google rocks...


But Jaguar compute nodes cannot load the dynamic library. So look at this page for linking to static library.

Monday, January 4, 2010

Submitting job to jaguarpf


  1. Use this job script (test.pbs)

  2. #PBS -A STF008
    #PBS -N test
    #PBS -j oe
    #PBS -l walltime=1:00:00,size=12

    cd /lustre/widow1/scratch/zzhang3
    date
    env IOTA_LOGFILE=/lustre/widow1/scratch/zzhang3/output aprun -n 12 ./pi


  3. Submit it using qsub test.pbs

  4. Monitor the job status using qstat -a