Tuesday, November 27, 2012

Benchmark CPU performance

Build CoreMark
For x86 platform:
[ ] # make compile XCFLAGS="-g -DMULTITHREAD=8 -DUSE_FORK=1 -DPERFORMANCE_RUN=1"

[ ] # make compile XCFLAGS="-g -DMULTITHREAD=4 -DUSE_FORK=1 -DPERFORMANCE_RUN=1"

[ ] # make compile XCFLAGS="-g -DPERFORMANCE_RUN=1"

For ARM platform:
[ ] # make compile CC=arm-linux-gcc XCFLAGS="-g -DPERFORMANCE_RUN=1"

Execute CoreMark
[ ]# ./coremark.exe  0x0 0x0 0x66 0 7 1 2000

Sketch the scores
Data format in "coremark.gnuplot_x86.data"
1       7526.256372
2       15053.542714
3       16116.625765
4       20295.202952

[ ] # gnuplot
set xlabel "Core"
set ylabel "Iterations/Sec"
set xzeroaxis
set yzeroaxis
set xrange [0:5]
set yrange [0:30000]
set term png size 600, 400
set title "CoreMark with different x86 core number"
set output "x86-MP.CoreMark.png"

plot "coremark.gnuplot_x86.data" using 1:2 title "4 Processes" with linespoint




Other Example:
gnuplot> plot "coremark.gnuplot_x86.data" using 1:2 title "1 Process" with linespoint, "coremark.gnuplot.data" using 1:3 title "4 Processes" with linespoint, "coremark.gnuplot.data" using 1:4 title "8 Processes" with linespoint

Other Benchmark Tools:


  • Linpack
  • Quadrant
  • Geekbench 2
  • Vellamo
  • Andebench
  • Antutu Benchmark-59
  • Caffeine mark (example)
  • Nbench
  • GLBenchmark 2.1.4-10

  • Reference:
    Tegra II vs. TI OMAP PandaBoard

    Friday, November 16, 2012

    IPv6 over IPv4

    IPv6 tunneling provides a way to encapsulate IPv6 packets into IPv4 packets. That can be used to connect two IPv6 networks over an IPv4-only path.

    SIT
    This SIT driver implements encapsulation of IPv6 into IPv4 packets, so it can provide IPv6 service over the IPv4 network environment.


    Setup and Configuration Script
    ipv6_sit_dut.sh
    ipv6_sit_linux.sh

    6RD
    Setup and Configuration Script
    ipv6_6rd_dut.sh
    ipv6_6rd_linux.sh

    Monday, November 12, 2012

    ARMvisor

    ARMvisor is a Kernel-based virtual machine on ARM architecture.

    The Blog of ARMvisor.

    The presentation of ARMvisor in Linux Symposium 2012.


    Friday, November 9, 2012

    IPv6

    IPv6

    IPv6 NAT

    Why IPv6 NAT

  • Load Balancing
  • Multi-homing (Uplink Balance, Failover)

  • NAT is demanded by enterprises for multi-homing.
    Multi-homing is a situation that describes a single computer host that makes use of several IP addresses associated with various connected networks. Within this scenario, the multihomed computer host is physically linked to a variety of data connections or ports. These connections or ports may all be associated with the same network or with a variety of different networks. Depending on the exact configuration, multi-homing may allow a computer host to function as an IP router.













  • Dynamic IPv6 prefixes


  • Implementations

  • NF NAT66 (1:1, N:1): NAT66:A first implementation
  •     http://sourceforge.net/projects/nfnat66/


  • MAP66 (1:1):
  •     http://sourceforge.net/projects/map66/


  • RAWNAT (Xtables Addons): 


  • Standard
    RFC6296 - IPv6-to-IPv6 Network Prefix Translation, NPTv6

    Reference:
    Multi-homing: http://www.wisegeek.com/what-is-multi-homing.htm

    Wednesday, November 7, 2012

    Java Benchmark - CaffeineMark


    1. Install Oracle’s Java SE-E 7 JVM (The size of JVM is around 32MB)
    ejre-7u4-fcs-b20-linux-arm-vfp-client_headful-12_apr_2012.tar.gz

    2. CaffeineMark-3.0

    After enter Linux prompt,
    Setup your PATH environment variable on your target filesystem to point to the location of the "java".
    [ ]# PATH=$PATH:/mnt/ejre1.7.0_04/bin

    [ ]# cd /mnt/CaffeineMark-3.0
    [/mnt/CaffeineMark-3.0] # java CaffeineMarkEmbeddedApp
    Sieve score = 1231 (98)
    Loop score = 2787 (2017)
    Logic score = 2312 (0)
    String score = 596 (708)
    Float score = 1702 (185)
    Method score = 1619 (166650)
    Overall score = 1533