Performances

From ArmadeusWiki
Revision as of 22:04, 23 March 2007 by JulienB (Talk | contribs) (LMBench usage)

Jump to: navigation, search

On this page you will find performance results and informations on how to run performance tests on our board.

Boot time

Login prompt is reached in:

  • Xs without FPGA loading and network mounting
  • Xs with FPGA loading and network mounting


LMBench results

Basic system parameters
------------------------------------------------------------------------------
Host                 OS Description              Mhz  tlb  cache  mem   scal
                                                    pages line   par   load
                                                          bytes
--------- ------------- ----------------------- ---- ----- ----- ------ ----

Processor, Processes - times in microseconds - smaller is better
------------------------------------------------------------------------------
Host                 OS  Mhz null null      open slct sig  sig  fork exec sh
                            call  I/O stat clos TCP  inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----

Basic integer operations - times in nanoseconds - smaller is better
-------------------------------------------------------------------
Host                 OS  intgr intgr  intgr  intgr  intgr
                         bit   add    mul    div    mod
--------- ------------- ------ ------ ------ ------ ------

Basic float operations - times in nanoseconds - smaller is better
-----------------------------------------------------------------
Host                 OS  float  float  float  float
                        add    mul    div    bogo
--------- ------------- ------ ------ ------ ------

Basic double operations - times in nanoseconds - smaller is better
------------------------------------------------------------------
Host                 OS  double double double double
                        add    mul    div    bogo
--------- ------------- ------  ------ ------ ------

Context switching - times in microseconds - smaller is better
-------------------------------------------------------------------------
Host                 OS  2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
                        ctxsw  ctxsw  ctxsw ctxsw  ctxsw   ctxsw   ctxsw
--------- ------------- ------ ------ ------ ------ ------ ------- -------

*Local* Communication latencies in microseconds - smaller is better
---------------------------------------------------------------------
Host                 OS 2p/0K  Pipe AF     UDP  RPC/   TCP  RPC/ TCP
                       ctxsw       UNIX         UDP         TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ----

File & VM system latencies in microseconds - smaller is better
-------------------------------------------------------------------------------
Host                 OS   0K File      10K File     Mmap    Prot   Page   100fd
                       Create Delete Create Delete Latency Fault  Fault  selct
--------- ------------- ------ ------ ------ ------ ------- ----- ------- -----

*Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------------------------
Host                OS  Pipe AF    TCP  File   Mmap  Bcopy  Bcopy  Mem   Mem
                            UNIX      reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- -----

Memory latencies in nanoseconds - smaller is better
   (WARNING - may not be correct, check graphs)
------------------------------------------------------------------------------
Host                 OS   Mhz   L1 $   L2 $    Main mem    Rand mem    Guesses
--------- -------------   ---   ----   ----    --------    --------    -------

LMBench usage

Add lmbench package in buildroot, regenerate your rootfs and copy ROOTFS/usr/bin/lmbench dir to your NFS root export or to your MMC. lmbench need a NFS link or the MMC to work as it needs a lot of storage place. For example:

$ cp -r $HOME/armadeus/buildroot/build_arm_nofpu/root/usr/bin/lmbench /local/export/usr/bin/ 

On the target do:

# cd /mnt/host/usr/bin/lmbench/scripts

The first time, configure the tests

#  OS=armv5tejl-linux-gnu ./config-run

When asked, use in order:

MULTIPLE COPIES [default 1] 1
Job placement selection: 1
MB [default ] 8
SUBSET (ALL|HARWARE|OS|DEVELOPMENT) [default all] HARDWARE
then default value (except for result mailing, choose no) except
Processor mhz [default 189 MHz, 5.2910 nanosec clock] 192
FSDIR [default /var/tmp] /mnt/host/
Mail results [default yes] no

Then launch the test

# OS=armv5tejl-linux-gnu ./results

Wait some time (1 hour ;-) ) Then parse the results file from your host (it requires Perl)

$ cd NFSROOT/usr/bin/lmbench/scripts/
$ ./getsummary ../results/armv5tejl-linux-gnu/name.*

./getsummary ../results/armv5tejl-linux-gnu/stib-validor.*