LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Sparc 64 Performance

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: Sparc 64 Performance
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Mon, 20 Feb 2006 22:08:17 +0100
Really just to see how it compares.

That's difficult. You'd need to compare it to x86_64 and this is a field I'm not sound regarding performance figures.

Does Sparc offer any advantages
over Intel/AMD with regard to latency (LVS-NAT)?

Ufff, this is close to impossible to answer I believe. This depends on the Linux support for either architecture, the architecture itself (pipelining, branching, fetching, fast path handling, DMA addressing, L1 caching, ..., you name it)

Would it handle SSL
connections better, worse, or no different?

Hmm, SSL is handled in the user space normally so a test can easily be done:

sf-lb:~ # openssl speed aes-128-cbc dsa1024 blowfish
[snipped output]
OpenSSL 0.9.8a 11 Oct 2005
built on: Tue Dec 13 15:25:48 PST 2005
options:bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr) compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DB_ENDIAN -DTERMIO -O3 -mcpu=v9 -Wa,-Av8plus -g -Wall -DULTRASPARC -DBN_DIV2W -DMD5_ASM
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes blowfish cbc 8786.66k 9559.27k 9790.72k 9851.56k 9865.90k aes-128 cbc 8088.99k 8710.63k 8990.57k 9040.65k 9024.85k
                  sign    verify    sign/s verify/s
dsa 1024 bits 0.019362s 0.023641s     51.6     42.3
sf-lb:~ # cat /proc/cpuinfo
cpu             : TI UltraSparc IIe (Hummingbird)
fpu             : UltraSparc IIe integrated FPU
promlib         : Version 3 Revision 0
prom            : 4.0.6
type            : sun4u
ncpus probed    : 1
ncpus active    : 1
Cpu0Bogo        : 799.53
Cpu0ClkTck      : 0000000017d78400
MMU Type        : Spitfire

rnibali@marge:~ > openssl speed aes-128-cbc dsa1024 blowfish
[snipped output]
OpenSSL 0.9.8 05 Jul 2005
built on: Fri Jul 15 21:17:33 MEST 2005
options:bn(64,32) md2(int) rc4(ptr,char) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(ptr) compiler: cc -KPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes blowfish cbc 12598.89k 13169.03k 13567.31k 13700.06k 14611.85k aes-128 cbc 10439.67k 13039.14k 13896.34k 14560.03k 15454.18k
                  sign    verify    sign/s verify/s
dsa 1024 bits 0.025449s 0.030960s     39.3     32.3

rnibali@marge:~ > openssl speed aes-128-cbc dsa1024 blowfish -multi 4
[snipped output]
OpenSSL 0.9.8 05 Jul 2005
built on: Fri Jul 15 21:17:33 MEST 2005
options:bn(64,32) md2(int) rc4(ptr,char) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(ptr) compiler: cc -KPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used:
blowfish cbc 20775.77k 24961.05k 28295.89k 32870.90k 29104.52k aes-128 cbc 22505.43k 24205.80k 29679.91k 31653.57k 31783.24k
                  sign    verify    sign/s verify/s
dsa 1024 bits 0.012902s 0.014434s     77.5     69.3

rnibali@marge:~ > /usr/sbin/prtdiag | ggrep -A6 CPU
========================= CPUs =========================

                    Run   Ecache   CPU    CPU
Brd  CPU   Module   MHz     MB    Impl.   Mask
---  ---  -------  -----  ------  ------  ----
SYS     0     0      400     4.0   US-II    10.0
SYS     1     1      400     4.0   US-II    10.0
SYS     2     2      400     4.0   US-II    10.0
SYS     3     3      400     4.0   US-II    10.0

ratz@webphish:~> openssl speed aes-128-cbc dsa1024 blowfish
[snipped output]
OpenSSL 0.9.7d 17 Mar 2004
built on: Fri Oct 14 15:46:43 UTC 2005
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial) blowfish(idx) compiler: gcc -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -mcpu=pentium -Wall -DOPENSSL_NO_RC5 -DOPENSSL_NO_IDEA -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -fomit-frame-pointer -fno-strict-aliasing -DTERMIO -Wall -fbranch-probabilities -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes blowfish cbc 57522.74k 61794.01k 63494.80k 62822.58k 61587.04k aes-128 cbc 39632.01k 40751.17k 41491.45k 41643.87k 41790.78k
                  sign    verify    sign/s verify/s
dsa 1024 bits   0.0018s   0.0022s    545.6    449.8
ratz@webphish:~> cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(tm) XP 1800+
stepping        : 2
cpu MHz         : 1533.026
cache size      : 256 KB

If you even the numbers out, my 32bit Desktop machine out-performs any 64bit Sparc/Ultrasparc quad configuration on Solaris or Linux ;). It's not surprising, Sparc CPUs are not the fastest in crunching. Oh, the Sparc test was done while the CPUs were idle, whereas my desktop was playing mp3s and I was watching a DVD, having my java-based modeler open and git pulling Linus' kernel (don't ask). Idle time on my desktop machine was down to 0%. And still the Sparcs don't cut it.

 Could it handle more real
servers than an x86 counterpart?

No possible to answer, it's actually more a matter of your network card than your CPU.

Regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc

<Prev in Thread] Current Thread [Next in Thread>