IOprof

From BenchIT-Wiki

Jump to: navigation, search

IOprof is a descendant of IOtrack available at OSPAT. There is not much left of IOtrack except the mechanism of how to trap the iocalls.

Functional principle

IOprof uses the LD_PRELOAD mechanism to trap standard IO-functions like open/read/write/fopen . . . and log them to a textfile. Because it comes as a library no source-code altering is needed to trace programs.

Further information can be found in the pdf-file: Media:IOprofDocu.pdf

Usage in BenchIt

To use IOprof, fetch the sources Media:IOprof.tar.bz2 and compile the via
make
. A new folder named after your architecture is created. In there you'll find the library "iofileprof.so" and a tool named "lcg-mon-ioprof-set-tps".

You will have to execute this application to set up everything nessessary to use IOprof:

./lcg-mon-ioprof-set-tps 
measuring the clockticks:
Run 1: Intervall=6, Ticks per second= 2011200842
Run 2: Intervall=6, Ticks per second= 2009180521
Run 3: Intervall=6, Ticks per second= 2009188851
Run 4: Intervall=6, Ticks per second= 2009189029
Run 5: Intervall=6, Ticks per second= 2009189151
Run 6: Intervall=6, Ticks per second= 2009189195
Run 7: Intervall=6, Ticks per second= 2009189446
Run 8: Intervall=6, Ticks per second= 2009189230
Run 9: Intervall=6, Ticks per second= 2009189055
Run 10: Intervall=6, Ticks per second= 2009189004

Mean value of tick per second: 2009189004
If you have already done this the output will be
./lcg-mon-ioprof-set-tps 
Found value in /tmp/ioprof_tps.conf 
Ticks per second = 2011869062
Get to know the full path as you will need that to configure BenchIT. There is a Variable
IOPROF_LIB
in your LOCADEF which has to be set to that path. Now you are ready to go. Just set your Environment to
IOPROF
an do your measurement. After finishing, you will find a *.tar.bz2 containing all the logfiles in the benchit-folder. The filename consist of a timestamp and the name of the kernel being profiled. IOprof provides different tools to analyze thes logfiles. You can of course also look into thes logs with a texteditor:
Time:1175856205:152060:410425761399441
Name:/home/benchit/benchitIOPROF/bin/iozone
Args:-s 235520k -r 10M -S 512 -L 64 -i 1 -w -b iozone.xls 
TpS:20118690
PID:32006
PPID:31931
open:410426912273880:410426912283572:0:0:7:iozone.tmp
read:410426924701999:410426924731268:4096:0:7
lseek:410426924756783:410426924757704:0:0:7
read:410426931151310:410426966820834:10485760:0:7
read:410426967060874:410426985712075:10485760:0:7
read:410426985928022:410427004540451:10485760:0:7
read:410427004756990:410427023379275:10485760:0:7
read:410427023596046:410427042186379:10485760:0:7
.
.
.
write:410428001445419:410428001452388:8:0:7
write:410428001469489:410428001476553:11:0:7
write:410428001486391:410428001493363:8:0:7
write:410428001512472:410428001519819:4:0:7
close:410428001529429:410428001532142:0:0:7
Time:1175856206:262345:410425761399441
endoflogfile
Personal tools