NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Iozone

From Texas Instruments Wiki
Jump to: navigation, search

About[edit]

IOzone is a filesystem benchmark tool. The benchmark generates and measures a variety of file operations. Iozone has been ported to many machines and runs under many operating systems.

Iozone is useful for performing a broad filesystem analysis of a vendor’s computer platform. The benchmark tests file I/O performance for the following operations:

  • Read
  • re-read
  • Write
  • re-write
  • read backwards
  • read strided
  • fread
  • fwritte
  • random read
  • pread
  • mmap
  • aio_read
  • aio_write

In brief, Iozone lets you benchmark your filesystem performance, seeing how well record IO occurs for files of various sizes. Visit Iozone website for more information.


Source Download Location[edit]


Cross compiling[edit]

  • cd to the directory - iozone_version\src\current, and in this level, run the following command-
    • make CC=$(TOOL_CHAIN_PREFIX)-gcc GCC=$(TOOL_CHAIN_PREFIX)-gcc linux-arm
      • The TOOL_CHAIN_PREFIX corresponds to the tool chain in use. Set this based on your tool chain. Also make path to toolchain is exported as part of $PATH.
    • The CC and GCC variables are pointing to your current tool chain.
    • The prefix linux-arm is for compile for arm

To be sure that iozone is compiled properly, please run: ======file====== iozone You will see something like: $ file iozone iozone: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.14, dynamically linked (uses shared libs), not stripped


Test setup[edit]

  • EVM booted up with NFS configuration.
  • Mount a MMC/SD(formatted with VFAT or ext2) card in the MMC/SD slot of the EVM.


Execution[edit]

  • The simplest way to invoke IOzone is using the -a option to select full automatic mode, with the -g option to extend the maximum file size to be twice your system's main memory size - ./iozone -a -g 4G
  • You can use the -n option to specify the minimum file size that the automatic mode will use during testing. Normally testing will start with 64KB files and increase the size by doubling it each iteration. Using -n can save some time and generate more targeted benchmarks if you are interested in only larger files that cannot possibly fit into the system buffer caches. You can use the -s option instead of -g to only test files of a specific nominated size. This command will test only using files of 4GB in size and records from 4KB to 256KB in size - iozone -a -s 4G -q 4 -y 256
  • Write operation - ./iozone -i0 -S 256K -s 128M -r 5K -w -e
    • -i0 means write operation.
    • -S 256K means that we are using 256K of cache
    • -s 128M means file size. We can put this in kilobytes or megabytes
    • -r is the record size(This also can be in Mega bytes)
    • -w ensures that the temporary file written is not deleted. This is important as if we issue read operation, the read will look for the same file written and will fail if not present. So use -w while writing.
    • -e means/ensures that flush(fsync,fflush) are included in timing calculations.
  • Read operation - ./iozone -i1 -S 256K -s 128M -r 5K -w -e
    • -i1 means read operation. Rest all options mean the same as above.
  • Random read/write - ./iozone -i2 -S 256K -s 1M -r 5K -w -e
  • fwrite - ./iozone -i6 -S 256K -s 1M -r 5K -w -e
  • fread -./iozone -i7 -S 256K -s 1M -r 5K -w -e


Execution Logs[edit]

    Auto Mode
    File size set to 4096 KB
    Command line used: iozone -M -a -s 4m
    Output is in Kbytes/sec
    Time Resolution = 0.000001 seconds.
    Processor cache size set to 1024 Kbytes.
    Processor cache line size set to 32 bytes.
    File stride size set to 17 * record size.
                                                            random  random    bkwd  record  stride
              KB  reclen   write rewrite    read    reread    read   write    read rewrite    read   fwrite frewrite   fread  freread
            4096       4  180855  742576  1275252  1130840 1143176  597607  998780 670266 1168616   231962   670815 1071129  1259145
            4096       8  247673  809183  1246875  1407083 1351815  711728 1176673 854936 1298668   236817   744321 1233363  1519851
            4096      16  251644  851010  1123131  1691931 1668431  716459 1094017 931544 1259145   245622   793337 1110328  1659643
            4096      32  253245  871663  1463432  1764719 1808388  757396 1339875 885813 1393197   261107   796112 1128374  1742978
            4096      64  254837  862332  1139037  1789405 1585752  779448 1136199 961728 1844214   259684   799687 1124965  1538114
            4096     128  250090  868154  1177029  1715966 1700996  771810 1181084 980842 1643659   228405   792569 1003429  1720285
            4096     256  242984  791959   950372   718080  930274  826472  694472 708038  913470   223751   566606  698737   918385
            4096     512  238696  664406   764459   803304  720492  519335  727660 420102  686557   212735   416768  728695   695534
            4096    1024  232926  667198   711975   773266  735896  689562  781828 663857  742297   253183   541297  658732   816912
            4096    2048  243548  659167   653899   738807  728048  632684  638304 493137  599707   305011   660858  664180   792569
            4096    4096  218417  655142   857449   732729  694826  696717  689098 557278  627643   242913   610705  713588   784073

Download iozone script - File:Iozone script logs.zip

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Iozone here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Iozone here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Iozone here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Iozone here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Iozone here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Iozone here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Iozone here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Iozone here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Iozone here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity