Wednesday, February 22, 2006

Socket 754 Athlon 64 benchmark duel against Xeon EM64T

I have an Athlon 64 3000+ (socket 754, 2GHZ, 512KB L2 cache) box running 64 bit Linux, it has 1GB PC3200 RAM and two 7200RPM SATA drives. I bought the CPU+Motherboard combo at Frys for about $80 on sale, the board is an ECS K8M800-M2. Since all AMD64 processors share the same key characteristics (embedded memory controller, hypertransport, PowerNow, etc), I consider this Athlon 64 Socket 754 a poor man's Opteron, even though it only supports single channel DDRI.

So let me do some basic tests. First we run some commands to show system info:

%uname -a
Linux 2.6.9-22.0.1.EL #1 Thu Oct 27 14:29:45 CDT 2005 x86_64 x86_64 x86_64 GNU/Linux

%more /var/log/dmesg
time.c: Detected 1999.800 MHz processor.
Memory: 960900k/982976k available (2398k kernel code, 21328k reserved, 1303k data, 164k init)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
CPU: AMD Athlon(tm) 64 Processor 3000+ stepping 00

powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.39.04)
powernow-k8: cpu_init done, current fid 0xc, vid 0x2
eth0: VIA Rhine II at 0xee001000, 00:11:5b:fd:6b:8d, IRQ 193.


%uptime
09:39:13 up 108 days, 13:48, 4 users, load average: 0.08, 0.15, 0.17


The server is live and running quite some web sites, with little CPU load. Now, let's do some OpenSSL benchmarks on our little Socket 754 friend. OpenSSL is used for secure internet communications and its performance mostly depends on CPU speed.

%openssl speed rsa
OpenSSL 0.9.7a Feb 19 2003
sign verify sign/s verify/s
rsa 512 bits 0.000381s 0.000027s 2626.1 37486.3
rsa 1024 bits 0.001228s 0.000067s 814.6 14886.2
rsa 2048 bits 0.006972s 0.000200s 143.4 5006.9
rsa 4096 bits 0.044612s 0.000677s 22.4 1478.0

% openssl speed dsa
sign verify sign/s verify/s
dsa 512 bits 0.000226s 0.000238s 4430.7 4208.7
dsa 1024 bits 0.000566s 0.000677s 1765.3 1476.7

As we can see from the result, the Athlon 64 3000+ can do 1478 verifies per second for 4096 bit RSA keys. I don't have access to an Xeon box now, fortunately, AnandTech has the OpenSSL benchmark results for Xeon 3.6GHZ EM64T here, allow me to copy part of it (for Xeon 3.6GHZ EM64T):


sign verify sign/s verify/s
rsa 512 bits 0.0004s 0.0000s 2376.9 28489.3
rsa 1024 bits 0.0017s 0.0001s 604.8 11277.6
rsa 2048 bits 0.0092s 0.0003s 108.9 3682.0
rsa 4096 bits 0.0601s 0.0010s 16.7 1034.1

sign verify sign/s verify/s
dsa 512 bits 0.0003s 0.0003s 3364.6 2862.7
dsa 1024 bits 0.0008s 0.0009s 1260.6 1057.9

Surprised? Not to me! As I expected, the Athlon 64 3000+ (Socket 754, 2GHZ, 512KB L2) met my expectation as a poor man's Opteron and handily beat INTEL Xeon EM64T 3.6GHZ by approximately 40%.

Now, let me do some Apache stress testing on our poor little Socket 754 friend. I will use the "ab" command to retrieve a SHTML web page, since it's shtml, the Apache server will have do some processing, so this is a tougher test than static HTML. I am running the ab program on the Athlon 64 box:

[root@my ~]# ab -n 50000 -c 10 http://domain-name-replaced/forum.shtml


Server Software: Apache/2.0.52
Server Hostname: domain-name-replaced
Server Port: 80

Document Path: /path-replaced/forum.shtml
Document Length: 267354 bytes

Concurrency Level: 10
Time taken for tests: 41.925014 seconds
Complete requests: 50000
Failed requests: 0
Write errors: 0

Total transferred: 13381450000 bytes
HTML transferred: 13367700000 bytes

Requests per second: 1192.61 [#/sec] (mean)
Time per request: 8.385 [ms] (mean)
Time per request: 0.839 [ms] (mean, across all concurrent requests)


This is not bad at all. From this test, under 32 bit Windows, the dual core Xeon 2.8GHZ handles 1199 requests/second. Although GamePC's test did not provide information such as file size, our tests was on a 260KB page, which is bigger than average. Our tests were under 64 bit Linux, so there must an advantage there.

The conclusion is obvious: Socket 754 Athlon 64 3000+ is 40% to 100% faster than the fastest single core Xeon processor in web environment, and is probably faster than dual core Xeons too.

4 Comments:

Blogger Sharikou, Ph. D. said...

For comparison, I run the
"openssl speed rsa -multi 2" command on an Opteron 17( socket 939,2.2 GHZ, 2x1MB L2), Tyan S2865, CentOS 4 for AMD64

sign verify sign/s verify/s
rsa 512 bits 0.000146s 0.000012s 6826.0 83333.3
rsa 1024 bits 0.000552s 0.000030s 1810.8 33333.3
rsa 2048 bits 0.003115s 0.000090s 321.0 11142.1
rsa 4096 bits 0.019978s 0.000304s 50.1 3289.6


As you can see the speed of the Opteron 175 is about 3 times of Xeon 3.6GHZ

I am wondering if someone can do a benchmark duel between Sempron 64 and Xeon.

4:51 PM, February 22, 2006  
Anonymous Anonymous said...

Even a Sempron 2600+ would cream the Xeon in that benchmark, if a 754 athlon 3000 wins by 40%. Kind of sad really.

9:35 PM, February 22, 2006  
Anonymous Anonymous said...

Here's another comparison on my X2 3800+ @ 2.6Ghz gentoo box.

OpenSSL 0.9.7i 14 Oct 2005
built on: Fri Jan 28 07:55:13 CET 2005
options:bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(ptr2)
compiler: x86_64-pc-linux-gnu-gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_NO_KRB5 -m64 -DL_ENDIAN -DTERMIO -Wall -DMD32_REG_T=int -march=k8 -O3 -ffast-math -fomit-frame-pointer -pipe -Wa,--noexecstack
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used:
sign verify sign/s verify/s
rsa 512 bits 0.000109s 0.000009s 9135.5 114379.1
rsa 1024 bits 0.000350s 0.000020s 2859.2 50641.0
rsa 2048 bits 0.001840s 0.000053s 543.5 18867.9
rsa 4096 bits 0.011081s 0.000171s 90.2 5849.2

1:51 AM, April 18, 2006  
Anonymous Anonymous said...

I have made some OpenSSL Benchmarks too. Below are my tests:


Athlon 64 3000+ (1,800 MHz), 1024 (2x512 Dual Channel) DDR 400 MHz
(openssl 0.9.8a 11 Oct 2005, Windows XP 32 bits)
==================================================================
openssl speed rsa512 : 1628.9 signs/s, 19504.5 verify/s
openssl speed rsa1024: 355.3 signs/s, 7293.8 verify/s
openssl speed rsa2048: 62.5 signs/s, 2305.4 verify/s


Athlon XP 1800+ Palomino (1,533 MHz), 1024 (2x512 Single Channel) DDR 333 MHz
(openssl 0.9.7d 17 Mar 2004, Linux SuSE 9.2/2.6 32 bits)
====================================================================
openssl speed rsa512 : 1152.6 signs/s, 12741.6 verify/s
openssl speed rsa1024: 250.9 signs/s, 4690.8 verify/s
openssl speed rsa2048: 43.3 signs/s, 1490.0 verify/s


Athlon XP 2500+ Barton (1,833 MHz), 1024 (2x512 Dual Channel) DDR 333 MHz
(openssl 0.9.7d 17 Mar 2004, Linux SuSE 9.2/2.6 32 bits)
====================================================================
openssl speed rsa512 : 1431.0 signs/s, 15764.0 verify/s
openssl speed rsa1024: 309.1 signs/s, 5771.7 verify/s
openssl speed rsa2048: 53.2 signs/s, 1777.4 verify/s


Intel Pentium 4 (winchester) 2,800 MHz, 1536 (3x512) DDR 400 MHz
(openssl 0.9.6i Feb 19 2003, Linux SuSE 8.2/2.4 32 bits)
================================================================
openssl speed rsa512 : 1236.0 signs/s, 12405.2 verify/s
openssl speed rsa1024: 249.7 signs/s, 4233.9 verify/s
openssl speed rsa2048: 38.6 signs/s, 1266.1 verify/s


Intel Pentium 630 /w HT 3,000 MHz, 512 (2x256) DDR2 533 MHz
(openssl 0.9.7g Apr 11 2005, Linux SuSE 10.0/2.6 64 bits)
================================================================
openssl speed rsa512 -multi 2: 3068.5 signs/s, 33615.8 verify/s
openssl speed rsa1024 -multi 2: 751.2 signs/s, 12908.1 verify/s
openssl speed rsa2048 -multi 2: 130.2 signs/s, 4103.4 verify/s


Intel Pentium D 820 2,800 MHz, 1024 (2x512) DDR2 533 MHz
(openssl 0.9.8d Sep 28 2006, Linux openSuSE 10.2/2.6 32 bits)
================================================================
openssl speed rsa512 : 1336.9 signs/s, 17114.6 verify/s
openssl speed rsa1024: 291.4 signs/s, 6469.2 verify/s
openssl speed rsa2048: 53.9 signs/s, 2162.5 verify/s


Intel Pentium D 820 2,800 MHz, 1024 (2x512) DDR2 533 MHz
(openssl 0.9.8d Sep 28 2006, Linux openSuSE 10.2/2.6 32 bits)
================================================================
openssl speed rsa512 -multi 2: 2710.0 signs/s, 34210.5 verify/s
openssl speed rsa1024 -multi 2: 577.9 signs/s, 12095.4 verify/s
openssl speed rsa2048 -multi 2: 106.0 signs/s, 4315.6 verify/s

2:57 AM, January 04, 2007  

Post a Comment

<< Home