Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Sep 1996 11:25:31 +0200 (SAT)
From:      rv@groa.uct.ac.za (Russell Vincent)
To:        freebsd-smp@freebsd.org
Subject:   Intel XXpress - some SMP benchmarks
Message-ID:  <m0v02ax-0004vqC@groa.uct.ac.za>

next in thread | raw e-mail | index | archive | help
'lmbench 1.0' results for:

  Intel XXpress (dual P5-133), PCI/EISA
  Each processor has 1MB L2 write-back cache
  92MB DRAM (kernel configured for 64MB)
  (ahc0:0:0): "CDC 94191-15 0136" type 0 fixed SCSI 1
  de0 <Digital DC21041 Ethernet> rev 17 int a irq 9 on pci0:12
  de0: DC21041 [10Mb/s] pass 1.1

Note: I have only performed these benchmarks for interest comparison
      between the various tests below. Comparing them to another machine
      and/or another OS will make little/no sense. i.e: Don't bother.

Various tests:

1) UP-1P   : FreeBSD 2.2-current as of Fri, 6 Sep 1996

2) SMP-1P  : FreeBSD 2.2-smp as of Fri, 6 Sep 1996 (after -current merge and
             with extra code added by Steve Passe <smp@csn.net>)
	      o Single processor running

3) SMP-2P-1: FreeBSD 2.2-smp as of Fri, 6 Sep 1996 (after -current merge and
             with extra code added by Steve Passe <smp@csn.net>)
	      o Dual processor running

4) SMP-2P-2: FreeBSD 2.2-smp as of Fri, 6 Sep 1996 (after -current merge and
             with extra code added by Steve Passe <smp@csn.net>), but
             less debug code than (3) - this appears to indicate timing
             bugs.
	      o Dual processor running
  
Comments:

 o The SMP kernel on the XXpress would not run without the extra code
   and without the debug statements. Removing the debug statements
   causes the machine to appear to 'freeze' when the second
   processor is started - I suspect it is still running, but not
   getting around to servicing interrupts properly.

 o By 'less debug code' in (4), I mean that a statement like:
        pushal; pushl _mp_lock; call _mp1; addl $4, %esp; popal
   gets changed to:
        pushal; popal
   in get_mplock() and rel_mplock(). Hence the possible timing
   bugs.

 o The hard drive is slow - that was all I had available, but that
   isn't what is being tested. it did the job well enough.

 o Option (3), although not that good in the benchmarks, certainly
   appears faster in interactive use. That could just be my imagination,
   though.  :-)

                    L M B E N C H  1 . 0   S U M M A R Y
                    ------------------------------------

            Processor, Processes - times in microseconds
            --------------------------------------------
Host                 OS  Mhz    Null    Null  Simple /bin/sh Mmap 2-proc 8-proc
                             Syscall Process Process Process  lat  ctxsw  ctxsw
--------- ------------- ---- ------- ------- ------- ------- ---- ------ ------
SMP-1P    FreeBSD 2.2-C  133       8    1.6K    8.8K     15K   78     29     31
SMP-2P-1  FreeBSD 2.2-C  134      36    2.6K   13.0K     20K  135     14     45
SMP-2P-2  FreeBSD 2.2-C  132     516   20.5K  184.3K    298K 1163     17     41
UP-1P     FreeBSD 2.2-C  133       5    1.5K    7.9K     13K   71     15     17

            *Local* Communication latencies in microseconds
            -----------------------------------------------
Host                 OS  Pipe       UDP    RPC/     TCP    RPC/
                                            UDP             TCP
--------- ------------- ------- ------- ------- ------- -------
SMP-1P    FreeBSD 2.2-C      81     197     318     232     397
SMP-2P-1  FreeBSD 2.2-C     172     309     503     366     617
SMP-2P-2  FreeBSD 2.2-C     212     285     520    1743     758
UP-1P     FreeBSD 2.2-C      49     160     280     195     356

            *Local* Communication bandwidths in megabytes/second
            ----------------------------------------------------
Host                 OS Pipe  TCP  File   Mmap  Bcopy  Bcopy  Mem   Mem
                                  reread reread (libc) (hand) read write
--------- ------------- ---- ---- ------ ------ ------ ------ ---- -----
SMP-1P    FreeBSD 2.2-C   56 17.9   34.8   48.2     26     24   58    39
SMP-2P-1  FreeBSD 2.2-C   28 12.7   34.4   31.2     16     15   39    24
SMP-2P-2  FreeBSD 2.2-C   17 13.9   32.3   30.4     15     15   38    24
UP-1P     FreeBSD 2.2-C   58 18.2   35.6   49.3     26     24   58    39

	    Memory latencies in nanoseconds
            (WARNING - may not be correct, check graphs)
            --------------------------------------------
Host                 OS   Mhz  L1 $   L2 $    Main mem    TLB    Guesses
--------- -------------   ---  ----   ----    --------    ---    -------
SMP-1P    FreeBSD 2.2-C   133     7     79         323    401
SMP-2P-1  FreeBSD 2.2-C   133     7     56         528    521
SMP-2P-2  FreeBSD 2.2-C   132     7     62         523    568
UP-1P     FreeBSD 2.2-C   133     7     53         322    392

                L M B E N C H  1 . 0   S U M M A R Y
                ------------------------------------

                  Comparison to best of the breed
                  -------------------------------

		(Best numbers are starred, i.e., *123)


        Processor, Processes - factor slower than the best
        --------------------------------------------------
Host                 OS  Mhz    Null    Null  Simple /bin/sh Mmap 2-proc 8-proc
                             Syscall Process Process Process  lat  ctxsw  ctxsw
--------- ------------- ---- ------- ------- ------- ------- ---- ------ ------
SMP-1P    FreeBSD 2.2-C  133     1.6     1.1     1.1     1.1  1.1    2.1    1.8
SMP-2P-1  FreeBSD 2.2-C  134     7.2     1.8     1.6     1.5  1.9    *14    2.6
SMP-2P-2  FreeBSD 2.2-C  132     103      14      23      22   16    1.2    2.4
UP-1P     FreeBSD 2.2-C  133      *5   *1.4K   *7.7K  *13.1K  *71    1.1    *17

        *Local* Communication latencies - factor slower than the best
        -------------------------------------------------------------
Host                 OS  Pipe       UDP    RPC/     TCP    RPC/
                                            UDP             TCP
--------- ------------- ------- ------- ------- ------- -------
SMP-1P    FreeBSD 2.2-C     1.7     1.2     1.1     1.2     1.1
SMP-2P-1  FreeBSD 2.2-C     3.5     1.9     1.8     1.9     1.7
SMP-2P-2  FreeBSD 2.2-C     4.3     1.8     1.9     8.9     2.1
UP-1P     FreeBSD 2.2-C     *49    *160    *280    *195    *356

        *Local* Communication bandwidths - percentage of the best
        ---------------------------------------------------------
Host                 OS Pipe  TCP  File   Mmap  Bcopy  Bcopy  Mem   Mem
                                  reread reread (libc) (hand) read write
--------- ------------- ---- ---- ------ ------ ------ ------ ---- -----
SMP-1P    FreeBSD 2.2-C  97%  98%    97%    97%    99%    *24  99%   99%
SMP-2P-1  FreeBSD 2.2-C  47%  69%    96%    63%    59%    61%  67%   62%
SMP-2P-2  FreeBSD 2.2-C  29%  76%    90%    61%    58%    61%  65%   62%
UP-1P     FreeBSD 2.2-C  *57  *18    *35    *49    *26    99%  *57   *38

            Memory latencies in nanoseconds - factor slower than the best
		    (WARNING - may not be correct, check graphs)
            -------------------------------------------------------------
Host                 OS   Mhz  L1 $   L2 $    Main mem    TLB    Guesses
--------- -------------   ---  ----   ----    --------    ---    -------
SMP-1P    FreeBSD 2.2-C   133    *7    1.5         1.0    1.0
SMP-2P-1  FreeBSD 2.2-C   133    *7    1.1         1.6    1.3
SMP-2P-2  FreeBSD 2.2-C   132    *7    1.2         1.6    1.4
UP-1P     FreeBSD 2.2-C   133    *7    *53        *322   *392




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?m0v02ax-0004vqC>