SheevaPlug Performance
From ComputingPlugs
Contents |
CPU performance with nbench-byte-2.2.3
nbench is an old school benchmark program made by BYTE. It is used to test the CPU's memory access, integer and floating point speed. It is useful to benchmark the Sheeva Plug with nbench because the nbench webiste has a large collections of results from computers long ago (Intel 486DX/33!).
Results from Sheeva Plug
BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 309.72 : 7.94 : 2.61
STRING SORT : 36.102 : 16.13 : 2.50
BITFIELD : 9.8289e+07 : 16.86 : 3.52
FP EMULATION : 71.075 : 34.10 : 7.87
FOURIER : 356.63 : 0.41 : 0.23
ASSIGNMENT : 4.207 : 16.01 : 4.15
IDEA : 1146.3 : 17.53 : 5.21
HUFFMAN : 452.41 : 12.55 : 4.01
NEURAL NET : 0.49636 : 0.80 : 0.34
LU DECOMPOSITION : 16.116 : 0.83 : 0.60
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 15.922
FLOATING-POINT INDEX: 0.646
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU :
L2 Cache :
OS : Linux 2.6.30-rc1-00002-g1758996
C compiler : gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4)
libc : libc-2.9.so
MEMORY INDEX : 3.317
INTEGER INDEX : 4.549
FLOATING-POINT INDEX: 0.358
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.
Results from Intel Core2Duo T7700 @ 2.4GHz
BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 1011.4 : 25.94 : 8.52
STRING SORT : 137.65 : 61.51 : 9.52
BITFIELD : 4.3915e+08 : 75.33 : 15.73
FP EMULATION : 148.24 : 71.13 : 16.41
FOURIER : 27971 : 31.81 : 17.87
ASSIGNMENT : 36.277 : 138.04 : 35.80
IDEA : 6498.8 : 99.40 : 29.51
HUFFMAN : 2150 : 59.62 : 19.04
NEURAL NET : 42.133 : 67.68 : 28.47
LU DECOMPOSITION : 1579.8 : 81.84 : 59.10
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 68.383
FLOATING-POINT INDEX: 56.061
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : Dual GenuineIntel Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz 2401MHz
L2 Cache : 4096 KB
OS : Linux 2.6.27-11-generic
C compiler : gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12)
libc : libc-2.8.90.so
MEMORY INDEX : 17.504
INTEGER INDEX : 16.742
FLOATING-POINT INDEX: 31.094
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
Results from Intel M @ 1.2Ghz
BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)
TEST : Iterations/sec. : Old Index : New Index
: : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT : 507.68 : 13.02 : 4.28
STRING SORT : 52.377 : 23.40 : 3.62
BITFIELD : 1.8894e+08 : 32.41 : 6.77
FP EMULATION : 60.591 : 29.07 : 6.71
FOURIER : 12344 : 14.04 : 7.89
ASSIGNMENT : 10.466 : 39.83 : 10.33
IDEA : 2659.7 : 40.68 : 12.08
HUFFMAN : 826.13 : 22.91 : 7.32
NEURAL NET : 16.23 : 26.07 : 10.97
LU DECOMPOSITION : 611.04 : 31.66 : 22.86
==========================ORIGINAL BYTEMARK RESULTS==========================
INTEGER INDEX : 27.072
FLOATING-POINT INDEX: 22.628
Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0
==============================LINUX DATA BELOW===============================
CPU : GenuineIntel Intel(R) Pentium(R) M processor 1200MHz 1200MHz
L2 Cache : 1024 KB
OS : Linux 2.6.28-11-generic
C compiler : gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu12)
libc : libc-2.8.90.so
MEMORY INDEX : 6.327
INTEGER INDEX : 7.095
FLOATING-POINT INDEX: 12.550
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
* Trademarks are property of their respective holder.
The most important numbers from the results are the MEMORY INDEX, INTERGER INDEX and FLOATING-POINT INDEX because they're listed in nbench's website.
| CPU | MEM | INT | FP |
|---|---|---|---|
| Sheeva Plug | 3.317 | 4.549 | 0.358 |
| Intel Core2Due T770 @ 2.4Ghz | 17.504 | 16.742 | 31.094 |
| Intel M @ 1.20Ghz | 6.327 | 7.095 | 12.550 |
| Intel PIII @ 866Mhz (from nbench's website) | 3.994 | 4.984 | 8.479 |
| AMD Athlon @ 1Ghz (from nbench's website) | 3.463 | 4.623 | 8.232 |
The Sheeva Plug doesn't have a hardware floating point unit so the FP number is very low. It is also slower than an Intel M running at the same clock speed. From nbench's website, the Sheeva Plug falls somewhere around a P3 800Mhz range. If you want to run the benchmark yourself and don't feel like compiling the source, you can get the nbench binary for the Sheeva Plug here.
USB storage throughput
I connected my SanDisk 8G USB thumb drive to the Sheeva Plug and ran a quick and dirty throughput test. For the write test, I used dd and wrote 1024000000 bytes to a file on the thumb drive from /dev/zero. For the read test, I used dd and read the same file then send it to /dev/null. The thumb drive is formatted with ext3. Here are the results:
read command: sync; time sh -c "dd if=./test of=/dev/null; sync" write command: sync; time sh -c "dd if=/dev/zero of=./test bs=1000k count=1000; sync"
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| read | 37.848 sec | 37.999 sec | 36.655 sec | 37.500 sec | 27.3 MBytes/sec |
| write | 365.479 sec | 380.134 sec | 362.515 sec | 369.376 sec | 2.8 MBytes/sec |
As expected, the read speed is very respectable while the write speed is abysmal. I believe this is the fault of the SanDisk and not the SheevaPlug because the Sandisk was the cheapest 8G model I could find and was not build for speed. The next test, with an external HDD, should prove the theory.
Using the same commands, I tested the throughput of a Western Digital My Passport Essential 320 GB (WDME3200TN) external harddrive. The harddrive has been formatted with ext3. The results are as follows:
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| read | 34.337 sec | 37.624 sec | 36.481 sec | 36.147 sec | 28.3 MBytes/sec |
| write | 40.719 sec | 36.968 sec | 34.951 sec | 37.546 sec | 27.3 MBytes/sec |
So using an external hard drive instead of a thumb drive show a huge improvement in the write speed. This means that the CPU and USB can definitely handle desktop like throughput rates with an external hard drive.
Update USB throughput on v2.6.30-rc3 kernel with mmc patch
I reran the USB throughput test on the mainline 2.6.30 kernel with the external hard drive. Here are the results:
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| read | 35.277 sec | 32.526 sec | 34.429 sec | 34.077 sec | 30.04 MBytes/sec |
| write | 36.275 sec | 38.080 sec | 35.878 sec | 36.744 sec | 27.87 MBytes/sec |
The new kernel seems to have higher read throughput and about the same write throughput. The increase, however, is not very significant.
SDHC storage throughput
I used a class 6, 16G SDHC memory card for this test. I used the same test as the USB throughput test and the SHC memory card has been formatted with ext3. There is a bug in Orion and mainline kernel's mmc code that cause the kernel to report:
mmc0: error -110 whilst initialising SD card
if you plug in a SDHC memory card. There is a patch to fix this bug. To get around this problem, I used the original kernel that came with the Sheeva Plug. This is actually a better test since most people will probably not replace their kernel.
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| read | 120.843 sec | 121.001 sec | 121.029 sec | 120.959 sec | 8.47 MBytes/sec |
| write | 594.655 sec | 622.411 sec | 590.688 sec | 602.584 sec | 1.69 MBytes/sec |
The throughput was so bad that I had to make sure it wasn't the SDHC memory card, so I used the same memory card and tried the same test on another computer:
| op | avg | throughput |
|---|---|---|
| read | 56.353 sec | 18.2 MBytes/sec |
| write | 157.571 sec | 6.49 MBytes/sec |
The results are more inline with was I expect from a class 6 SDHC memory card. So I have to conclude that the Sheeva Plug's SDHC performance is really that awful. I suppose the only good thing is that the Sheeva Plug supports SDHC at all.
Update SDHC throughput on v2.6.30-rc3 kernel with mmc patch
I updated the Sheeva Plug with the mainline 2.6.30-rc3 kernel and I patched it so that SDHC will work. I reran the test to see if the new kernel makes a differences.
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| read | 53.743 sec | 53.777 sec | 53.684 sec | 53.734 sec | 19.03 MBytes/sec |
| write | 155.949 sec | 168.737 sec | 149.886 sec | 158.190 sec | 6.47 MBytes/sec |
Either the new kernel or the new driver made a huge difference in speed. The SDHC throughput on the Sheeva Plug is now completely in line with the throughput on a fast computer. This changed made a world of difference for the Sheeva Plug.
Network Performance
I tested the network performance by moving a 1,095,128,170 bytes file to/from the Sheeva Plug. The storage used on the Sheeva Plug is an external USB harddrive formatted with ext3. Both the Sheeva Plug and the test computer are connected with Gigabit Ethernet switch. The same setup with two fast computers produced a throughput of ~25Mbytes per second.
Moving data over scp
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| From Sheeva Plug to computer | 165.293 sec | 175.164 sec | 164.671 sec | 168.376 sec | 6.50 MBytes/sec |
| From computer to Sheeva Plug | 171.585 sec | 179.384 sec | 171.374 sec | 174.114 sec | 6.29 MBytes/sec |
The Sheeva Plug is running at 100% CPU load (sshd) during the scp operation. That could be the limiting factoring in the transfer speed.
Moving data over NFS (resource shared by Sheeva Plug)
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| From Sheeva Plug to computer | 91.988 sec | 96.761 sec | 87.336 sec | 92.028 sec | 11.9 MBytes/sec |
| From computer to Sheeva Plug | 84.097 sec | 77.087 sec | 79.699 sec | 80.294 sec | 13.6 MBytes/sec |
The Sheeva Plug is running at ~95% CPU load (nfsd) during the cp operation.
Moving data over Samba (resource shared by Sheeva Plug)
| op | 1st | 2nd | 3rd | avg | throughput |
|---|---|---|---|---|---|
| From Sheeva Plug to computer | 168.449 sec | 169.971 sec | 165.528 sec | 167.982 sec | 6.52 MBytes/sec |
| From computer to Sheeva Plug | 74.851 sec | 76.094 sec | 74.070 sec | 75.005 sec | 14.6 MBytes/sec |
The Sheeva Plug is running at ~85% CPU load (smbd) while moving data from computer to Sheeva Plug and ~60% CPU load while moving data from Sheeva Plug to computer. I don't know why the load is asymmetric, but that would explain the difference in throughput.
MySQL benchmark
MySQL comes with a benchmark suite to test the speed of the database. You can read more about the benchmark suite here. MySQL performance is important for running MythTV backend. Here are the results of the benchmark on the SheevaPlug.
$ perl run-all-tests --user=root --password=password Benchmark DBD suite: 2.15 Date of test: 2009-05-16 22:23:43 Running tests on: Linux 2.6.30-rc3-dirty armv5tel Arguments: Comments: Limits from: Server version: MySQL 5.0.75 0ubuntu10/ Optimization: None Hardware: alter-table: Total time: 50 wallclock secs ( 0.25 usr 0.04 sys + 0.00 cusr 0.00 csys = 0.29 CPU) ATIS: Total time: 58 wallclock secs (49.70 usr 0.86 sys + 0.00 cusr 0.00 csys = 50.56 CPU) big-tables: Total time: 36 wallclock secs (13.84 usr 1.31 sys + 0.00 cusr 0.00 csys = 15.15 CPU) connect: Total time: 467 wallclock secs (164.06 usr 38.03 sys + 0.00 cusr 0.00 csys = 202.09 CPU) create: Total time: 229 wallclock secs (17.84 usr 3.77 sys + 0.00 cusr 0.00 csys = 21.61 CPU) insert: Total time: 5200 wallclock secs (2384.54 usr 128.10 sys + 0.00 cusr 0.00 csys = 2512.64 CPU) select: Total time: 604 wallclock secs (231.98 usr 6.56 sys + 0.00 cusr 0.00 csys = 238.54 CPU) transactions: Test skipped because the database doesn't support transactions wisconsin: Total time: 33 wallclock secs (12.78 usr 1.55 sys + 0.00 cusr 0.00 csys = 14.33 CPU) All 9 test executed successfully Totals per operation: Operation seconds usr sys cpu tests alter_table_add 21.00 0.06 0.00 0.06 100 alter_table_drop 19.00 0.03 0.01 0.04 91 connect 33.00 22.87 2.50 25.37 10000 connect+select_1_row 42.00 24.04 2.91 26.95 10000 connect+select_simple 38.00 25.00 3.80 28.80 10000 count 37.00 0.09 0.01 0.10 100 count_distinct 1.00 0.85 0.04 0.89 1000 count_distinct_2 1.00 0.82 0.05 0.87 1000 count_distinct_big 54.00 47.47 0.07 47.54 120 count_distinct_group 6.00 5.48 0.04 5.52 1000 count_distinct_group_on_key 2.00 1.23 0.00 1.23 1000 count_distinct_group_on_key_parts 5.00 5.52 0.03 5.55 1000 count_distinct_key_prefix 1.00 0.78 0.04 0.82 1000 count_group_on_key_parts 6.00 5.35 0.06 5.41 1000 count_on_key 100.00 37.96 2.31 40.27 50100 create+drop 70.00 5.41 0.83 6.24 10000 create_MANY_tables 64.00 3.42 0.45 3.87 10000 create_index 5.00 0.00 0.00 0.00 8 create_key+drop 76.00 6.65 1.42 8.07 10000 create_table 1.00 0.00 0.00 0.00 31 delete_all_many_keys 115.00 0.00 0.00 0.00 1 delete_big 1.00 0.00 0.00 0.00 1 delete_big_many_keys 115.00 0.00 0.00 0.00 128 delete_key 8.00 1.31 0.48 1.79 10000 delete_range 32.00 0.01 0.00 0.01 12 drop_index 5.00 0.01 0.00 0.01 8 drop_table 0.00 0.01 0.00 0.01 28 drop_table_when_MANY_tables 7.00 1.14 0.53 1.67 10000 insert 228.00 41.51 16.39 57.90 350768 insert_duplicates 61.00 8.27 2.33 10.60 100000 insert_key 201.00 21.69 5.20 26.89 100000 insert_many_fields 20.00 0.90 0.13 1.03 2000 insert_select_1_key 15.00 0.00 0.00 0.00 1 insert_select_2_keys 18.00 0.00 0.00 0.00 1 min_max 14.00 0.05 0.00 0.05 60 min_max_on_key 90.00 71.90 2.74 74.64 85000 multiple_value_insert 10.00 1.22 0.01 1.23 100000 once_prepared_select 125.00 34.75 5.64 40.39 100000 order_by_big 176.00 149.01 0.37 149.38 10 order_by_big_key 173.00 152.52 0.61 153.13 10 order_by_big_key2 173.00 149.66 0.35 150.01 10 order_by_big_key_desc 185.00 151.63 0.54 152.17 10 order_by_big_key_diff 169.00 148.17 0.31 148.48 10 order_by_big_key_prefix 177.00 149.49 0.39 149.88 10 order_by_key2_diff 19.00 13.09 0.02 13.11 500 order_by_key_prefix 10.00 6.67 0.04 6.71 500 order_by_range 10.00 6.82 0.06 6.88 500 outer_join 16.00 0.01 0.00 0.01 10 outer_join_found 14.00 0.01 0.00 0.01 10 outer_join_not_found 12.00 0.00 0.00 0.00 500 outer_join_on_key 12.00 0.00 0.00 0.00 10 prepared_select 178.00 56.18 6.46 62.64 100000 select_1_row 65.00 12.98 3.97 16.95 100000 select_1_row_cache 29.00 11.83 3.35 15.18 100000 select_2_rows 76.00 13.89 5.12 19.01 100000 select_big 166.00 149.16 0.42 149.58 80 select_big_str 36.00 15.78 4.00 19.78 10000 select_cache 9.00 6.46 0.68 7.14 10000 select_cache2 336.00 8.24 0.56 8.80 10000 select_column+column 78.00 13.79 4.14 17.93 100000 select_diff_key 2.00 0.49 0.02 0.51 500 select_distinct 10.00 9.57 0.05 9.62 800 select_group 15.00 5.79 0.19 5.98 2911 select_group_when_MANY_tables 12.00 1.20 0.54 1.74 10000 select_join 3.00 2.88 0.03 2.91 100 select_key 338.00 208.59 10.96 219.55 200000 select_key2 358.00 157.41 13.99 171.40 200000 select_key2_return_key 346.00 142.58 8.65 151.23 200000 select_key2_return_prim 356.00 114.08 10.92 125.00 200000 select_key_prefix 361.00 168.28 11.88 180.16 200000 select_key_prefix_join 29.00 26.87 0.07 26.94 100 select_key_return_key 328.00 173.38 10.48 183.86 200000 select_many_fields 15.00 12.94 1.17 14.11 2000 select_range 61.00 51.85 0.19 52.04 410 select_range_key2 22.00 18.28 1.02 19.30 25010 select_range_prefix 22.00 18.64 0.88 19.52 25010 select_simple 34.00 11.78 4.82 16.60 100000 select_simple_cache 35.00 12.10 3.42 15.52 100000 select_simple_join 3.00 3.32 0.03 3.35 500 update_big 94.00 0.00 0.00 0.00 10 update_of_key 49.00 6.65 2.61 9.26 50000 update_of_key_big 64.00 0.04 0.03 0.07 501 update_of_primary_key_many_keys 50.00 0.04 0.02 0.06 256 update_with_key 242.00 41.26 12.69 53.95 300000 update_with_key_prefix 98.00 25.45 5.70 31.15 100000 wisc_benchmark 10.00 9.02 0.11 9.13 114 TOTALS 6723.00 2813.68 179.88 2993.56 3425950
Real time statistics
I have real time statistics for the SheevaPlug that's collected every minute. The charts are redrawn every 10 minutes.
Power usage
I used a kill-a-watt to measure the power usage at the AC line level. Here is a table of the Sheeva Plug's power usage on different configurations. I also added power usage of the 2 Intel CPUs as a comparison.
| CPU | Operation | Watts |
|---|---|---|
| Sheeva Plug | ||
| Idle w/ nothing connected except serial | 4 | |
| Idle w/ Ethernet & serial connected | 5 | |
| CPU @ 100% w/ Ethernet & serial connected | high 5 | |
| idle w/ serial, and SDHC connected but not being accessed | 4 | |
| ~60% load w/ serial, and SDHC being access (CPU loading due to SDHC access) | high 4 | |
| idle w/ serial and USB thumb connected but not being accessed | 5 | |
| ~30% load w/ serial and USB thumb being access (CPU loading due to USB access) | high 5 | |
| idle w/ USB wireless dongle attached | 6 | |
| idle w/ serial and USB HDD connected but not being accessed | low 6 | |
| ~30% load w/ serial and USB HDD being access (CPU loading due to USB access) | low 9 | |
| CPU @ 100% load, w/ Ethernet, serial, SDHC being access, USB HDD being access | low 11 | |
| Intel Core2Due T7700 @ 2.4Ghz | ||
| idle | 83 | |
| CPU @ 100% load | 115 | |
| Intel M @1.2Ghz | ||
| idle, CPU @ 600Mhz w/ screen ON | 15 | |
| idle, CPU @ 600Mhz w/ screen OFF | 11 | |
| CPU @ 100%, 1.2Ghz w/ screen ON | 24 |
The Intel M measurement was done on my laptop with the battery removed.
|
|
Click here to leave a comment
Did you find this page useful? |
||


May 18 2009 1:46 pm
Please keep comments clean and constructive. Inappropriate comments will be removed. Thank you.
May 28 2009 5:20 am
This is a very nice thing that you've done for prospective and current SheevaPlug owners. Hard data points to use in a comparison on such a new piece of equipment are usually hard to come by so quickly. This is a great service to the community. Thank you.
May 28 2009 9:35 am
Thanks James, glad to see you find the data useful.
May 30 2009 2:23 am
Kenny, data like these are why the Internet is such a powerful research tool. You deserve a stake in Sheeva/Marvell after the buying rush based on your real world research. Many thanks.
May 30 2009 11:26 pm
Thanks Gene, I sure wouldn't mind a stake in Sheeva, but I'll settle for a permalink from their product page.
Jun 14 2009 7:21 am
My own test of copying from Sheeva plug to my computer is a lot faster. You might want to try to change the file system prefetch algorithm to noop and tweak the smb.conf socket options. Those seem to do the job for me. I am getting around 14MB/sec to 16MB/sec from Sheeva to my computer.
Jun 14 2009 12:40 pm
When you say the file system prefetch algorithm, do you mean the I/O scheduler? That's the only no-op option I can see in menuconfig.
Also, what do you mean by tweaking the socket options in smb.conf? Are you talking about SO_RCVBUF and SO_SNDBUF?
Jun 25 2009 3:35 am
It is unfortunate that one or both of the 6281 SATA ports are not exposed on the plug. I'm using a different development board and using a Gbe switch, a SATA II drive and FTP I get >40 MB/sec transfers from the 6281 and >24 MB/sec transfers to the 6281 with a CPU load bewteen 30-60%.
Jul 01 2009 6:59 am
Some numbers regarding raw TCP performance:
root@debian:~/netio126# ./netio -t 192.168.30.2
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 42085 KByte/s Tx, 68898 KByte/s Rx.
Packet size 2k bytes: 48158 KByte/s Tx, 75511 KByte/s Rx.
Packet size 4k bytes: 61854 KByte/s Tx, 79384 KByte/s Rx.
Packet size 8k bytes: 77778 KByte/s Tx, 82639 KByte/s Rx.
Packet size 16k bytes: 90282 KByte/s Tx, 86545 KByte/s Rx.
Packet size 32k bytes: 92418 KByte/s Tx, 90105 KByte/s Rx.
Done.
Jul 01 2009 7:13 am
(100% CPU load)
Jul 07 2009 11:56 pm
Great article - does anyone have unrar benchmarks? I'm considering replacing my Buffalo LSPro, but I'm not sure if the lack of floating point will hurt the main use i'd have for it. (Unrar'ing usenet downloads) Thanks!
Jul 08 2009 9:28 am
unrar uses floating point?!? I can't see why they would need floating point to do decompression.
I've used unrar (and pan) successfully on the sheevaplug. I'll run some benchmarks on it if there is a standard benchmark tool for unrar.
Jul 15 2009 2:42 am
I seem to recall seeing some new network performance figures posted that were much better than those listed here, but I can't for the life of me find the information now.
I think the author had to update to a 2.6.30 (or maybe greater) kernel in order to get better performance.
Does anyone recall where this information was posted? I'd like to re-read it to make sure I'm not imagining things and it would be good to link the info here to it.
Jul 18 2009 12:13 pm
Guys,
The stats sound fine - looking for a mini server of sorts and a low cost thin client.
Has anyone attempted a USB Video screen on the unit? If so was there a response.
Having not invested yet and collecting info currently is the 512MB of storage upgradeable onboard bu SD ram or is it a case of using the USB ports.
some help here is appreciated
Jul 22 2009 5:09 am
I currently have an unSLUng NSLU2 serving as SSH/SCP, pyTivo (video/audio/photo), and light web/FTP/VPN use server and am thinking a Sheevaplug or Popoplug might be a good, more powerful, replacement for it.
But I have a few questions - hopefully they're appropriate for this page:
- Consider scologic's USB Video Screen question re-iterated.
- Will this work with a USB WiFi adapter?
- Is it true that one can add multiple drives using a USB hub?
- Assuming above responses are positive, once a hub is on, could one plug in a drive, WiFi adapter, USB screen, USB Keyboard and USB mouse? (Not that I want to do that, I'm just curious.)
- The 512M flash is on-board and I assume this is where the core OS is kept. Is this correct?
- If the Linux install is > 512M, where does it 'overflow' to - the USB drive and/or the SD card?
- Does the SD card show as a drive (so with both SD and USB plugged in two drives are detected)?
- Can this be used to host a 'full' Linux install such that FreeNX or VNC could be used to 'remote' into it?
Thanks for all your hard work on this!
Jul 23 2009 9:27 am
Greg - I'm waiting for the right time to update to 2.6.30. I have the thing running for over 50 days and I kind of want to see if the SheevaPlug will crash on its own. ;)
btw, uptime information for my sheevaplug is at http://computingplugs.com/index.php/SheevaPlug_Real_time_Statistics
Jul 23 2009 9:32 am
scologic - yes, someone did get a usbvideo working and running the sheevaplug like a regular desktop.
http://plugcomputer.org/plugforum/index.php?PHPSESSID=1fa367859a1fbfd715c018f9dbb20d21&topic=412.0
Jul 23 2009 9:40 am
JonMikelV -
usbvideo works, I provide a link to the openplugs forum on my eailier post
usb wifi works just fine, pretty much any usb wifi that works on a linux desktop will work here. Check http://computingplugs.com/index.php/Setting_up_a_wireless_USB_dongle for specifics
Make sure your usb hub is powered, usb harddrive burns a lot of power
Again you're limited to the amount of power. An unpower usb hub is limited to 100ma per device. A powered usb hub provides 500ma. So if you're going to go overboard with usb devices, make sure you get a good powered hub
The unit ships with 512MB flash that holds the kernel and root filesystem. I have since moved both kernel and root filesystem to an external usb harddrive (300G). I don't even touch the flash anymore.
If you're going to go with an external usb drive, then there is no point to use the flash at all. Its only 512MB after all
Both the SD and usb will appear as an entry point in /dev.
I have instructions to install X11, vnc and NX on the sheevaplug. The link to both is available on the main page
Jul 26 2009 4:18 pm
Has anyone tried porting Android to the Sheeva Plug
Jul 26 2009 5:11 pm
You mean Andriod OS for mobile devices? I doubt it.
Aug 09 2009 1:48 am
Using a Sheevplug with Kernel 2.6.31rc5 i got the following results using dd, netcat and NFS
Test To From
-----------------------------------------
Local I/O 809.0 MB/s 809.0 MB/s
Local Disk 31.0 MB/s 32.9 MB/s
Wirespeed 83.0 MB/s 38.3 MB/s
Network Disk 31.0 MB/s 26.7 MB/s
NFS Disk 24.0 MB/s 21.2 MB/s
Aug 09 2009 9:25 pm
Thanks for the update. I'll probably upgrade my kernel soon to take advantage of the speed increase.
Aug 14 2009 1:43 pm
Which filesystem would be recommended for an SDHC on the Sheeva Plug? - I'm hosting a web site with mostly static content....
Aug 14 2009 9:54 pm
I tend to not get too fancy with my filesystem so I'm using plain old ext3. However, for my desktop Ubuntu I've notice a significant performance improvement when I switch from ext3 to ext4. So if you're going to do a fresh install on the sheevaplug, you might want to give ext4 a try and see how that goes.
BTW, I'm probably going to switch kernels to 2.6.30 soon, but I want to put a marker here that my sheevaplug, running this website, has been going non-stop for 80+ days! That's sheevaplug and external WD passport harddrive powered ONLY by the sheeva.
Sep 09 2009 12:21 am
Im a little bit disappointed about the nfs performance of my sheeva with stock kernel (around 10MB). Does anyone knows where to get a new 2.6.31rc kernel image, so I dont have to compile it for myself?
Sep 09 2009 7:28 pm
There was a guy on the openplug.org forum that provided kernel images for the sheeva plug. I'm pretty sure you can find links to it there.
Sep 09 2009 7:33 pm
Thanks for the tip, I've changed the wiki to include the library.
Sep 27 2009 3:57 am
Anybody tried running X.org on sheeva? I would be interested in the real world performance. 5 W thin client is a nice objective.
Sep 27 2009 12:05 pm
X works just fine with both vnc and nx. I have links on the front page that describes how to install them. As far as performance, it runs firefox and wget fine.
Oct 26 2009 12:34 am
Hi, I'm compiling my own kernel. I am desperately looking for the patch that improved your SDHC throughput. The orion latest kernel still has abysmal performance for me. Thanks!
Oct 26 2009 5:23 am
Has anyone tried any throughput tests using Jumbo Frames on gigabit ethernet? I have a Debian Lenny-powered Buffalo Linkstation Live v2, and saw a SIGNIFICANT throughput boost when using Jumbo Frames (9000 MTU). Like, from 11 MB/sec. to 20 MB/sec.! I'm curious as to what this box is capable of, with it's significantly higher-speed CPU.
Oct 26 2009 12:56 pm
The asymmetric performance is due to the SheevaPlug not having DMA. Thus operations that involve the harddisk result in the CPU spending much of its capacity on waiting (see vmstat for this).
Therefore, reading files from hdd (not from cache in RAM, though) and sending them over network won't be fast. Same happens when MySQL hits hdd for seeking when you, e.g., run a PHP script. Even with Nginx the response times will be poor.
Best you can do is use eaccelerator saving intermediate compilates on ramdisk (/dev/shm) and turning swapping almost off (sysctl vm.swappiness=5 or even 0; the former is default on the kernel I provide).
In other words, the figures of this benchmark don't reflect practize.
Oct 26 2009 12:56 pm
Astro, you can pick up the SDHC patch here:
http://computingplugs.com/index.php/Fixing_SDHC_access_in_the_Orion/Mainline_kernel
Oct 26 2009 1:07 pm
Practice, sorry. I must add I don't know whether the OpenRD board with its SATA has DMA or not.
Oct 27 2009 7:47 am
Hi, again many thx for your stuff.
I am struggling with ntfs-3g performance with samba, write performance is very bad on the sheevaplug, lots of cpu usage.
I did make a 100GB ext3 partition on my USB drive (1TB WD book sata external) to repat some of you tests.
Using samba and ext3 partition, Read and write thru-put was the just over 20MB/s both ways reading and writing a 1GB file, much better than you got, I have a 1Gb ethernet to and from a winXP sP2 laptop.
I am running kernel 2.6.31.5 from a Class 6 SD card and samba 3.3.2
Cheers
Oct 27 2009 9:15 am
I've heard reports similar to yours smiler. I'm pretty certain that the newer 2.6.31 kernels fixed something that makes samba faster. I really should upgrade my kernel to take advantage of that. I'm still running 2.6.30-rc3!
Nov 09 2009 12:22 pm
Hi Kenny,
I reckon a very good idea will be to compare it with an mini-itx Atom board (like the ones from http://www.mini-itx.com/store/?c=47) to see what is the trade in power/performance from Atom to ARM.
Thank you,
Radu
Nov 12 2009 10:02 am
yeah, I would love to do some comparision with an atom board. Unfortunately getting one with similar specs is hard to do. For example, I can't find one without video.
Dec 02 2009 1:02 am
The Sheeva on the plug (and OpenRD) has DMA that can be used for SATA. It also supports port multiplying.
Dec 02 2009 1:18 am
The samba speedup could also be caused by the XOR engine. I don't remember when it went in; but, at some point Marvell put in code to use the Sheeva's XOR engine's DMA to transfer data to/from user/kernel mode. This caused a dramatic speedup for everything that uses kernel interfaces backed by software or hardware that doesn't have a DMA engine. As for ntfs-3g, I could never get good performance from this fuse-based filesystem. Even using a SATA attached drive. I saw the same high CPU usage and had to move on (finish the project) before figuring out exactly what the problem was. We ended up using ext3 instead.
Dec 02 2009 9:47 pm
Thanks for the SDHC test and link to the patch. This is a really helpful site. I'm waiting for my SheevaPlug which should be arriving any day now!
Jan 14 2010 6:26 am
Hey, can you run "hdparm -tT" on the USB hard-disk? i am curious about this.
And about the NFS benchmark, can you tell me if you used UDP or TCP? Also what was the rsize and wsize?
I am willing to by one of these, but i need a decent NFS performance over the usb hard-disk, as i am thinking to buy a 1.5T disk =)
Jan 15 2010 12:01 pm
here are the results from hdparm:
/dev/sda:
Timing cached reads: 398 MB in 2.01 seconds = 198.49 MB/sec
Timing buffered disk reads: 74 MB in 3.03 seconds = 24.41 MB/sec
I didn't make any changes to nfs, so everything is default.
Jan 28 2010 10:50 am
What gcc options are people using for optimal performance?
I'm using:
CFLAGS='-Os -mthumb-interwork -mthumb -mcpu=arm9e'
when I want small footprint binaries, although I haven't spent much time in optimizing. Obviously, there is a space/performance tradeoff.
Feb 09 2010 11:39 am
I would like to see a performance test for the eSATA port on the Black SheevaPlug, if that's possible. How does it compare to the USB/external HDD performance? Thanks.
Mar 05 2010 12:15 pm
I've run the nbench benchmark on my Intel Atom based linux system. The system includes the Intel D945GCLF2 Atom 330 motherboard with 2 GiB of RAM, a Western Digital WD5001AALS 500 GB, 7200 RPM SATA hard drive, Samsung SH-S223B DVD burner and Seasonic SS-300ET power supply housed in a Lian Li PC-Q07 case. I'm running Ubuntu 9.10 linux, 2.6.31-9 kernal with libc-2.10.1. The results were as follows (quoting only the "linux data" for brevity):
MEMORY INDEX: 6.975
INTEGER INDEx: 8.757
FLOATING-POINT INDEX: 8.090
Since the Atom 330 is dual core, I ran two instances simulaneously with the following results (total of results from two instances):
MEMORY INDEX: 13.919
INTEGER INDEx: 17.508
FLOATING-POINT INDEX: 16.183
And finally since the Atom 330 supports hyperthreading with 2 theads per core, I ran four instances simultaneously with the following results (total of results from four instances):
MEMORY INDEX: 19.064
INTEGER INDEx: 25.505
FLOATING-POINT INDEX: 27.565
The results Kenny obtained with the SheevaPlug were:
MEMORY INDEX: 3.317
INTEGER INDEx: 4.549
FLOATING-POINT INDEX: 0.358
I also ran the disk throughput test Kenny described above. The average results of 3 tests writing and reading 1024000000 bytes using were:
write: 85.6 MB/s
read: 92.2 MB/s
The results Kenny obtained with his USB hard drive were:
write: 27.3 MB/s
read: 28.3 MB/s
The system cost a little over $300, not bad when you consider a SheevaPlug and 500 GB USB hard drive would cost $190 or so. Total power consumption is 40 watts.
Mar 15 2010 9:45 am
Jodie, thank you for the work on getting numbers from your atom rig. I'm sure it'll help a lot of people.
Those are impressive numbers, especially for price. I've always said that you can't make the SheevaPlug do what it is not designed to do. And if your computing needs exceeds that of the SheevaPlug, then there are many other alternatives to use. For me, however, the SheevaPlug is at the perfect balance of power and performance.
Mar 31 2010 12:54 pm
Thanks for the benchmark, quite interesting to find out that the processor is quite bad with floating points compared to Intel ones.
Apr 23 2010 10:02 am
after the sheevaplug fried the internal PSU i hooked up an external supply and measured consumption on the secondary (5V) side.
idle with SD Card: 0.35A
+ connected ethernet: 0.4A
+ dd of /dev/zero outbound via netcat: 0.6A
+ same with /dev/urandom: 0.75A
+ connecting unpowered USB Hub: 0.85A
Apr 27 2010 1:25 pm
fragfutter, thanks for the numbers. I like the idea that you simply replace your broken PSU with an external supply. That's a great idea, I'm going to have to remember than when my PSU breaks.
May 13 2010 12:14 am
Very nice information. Thank You
May 21 2010 8:36 pm
You're relying too much on other machines and hardware for testing.
NC or BBCP would work much better for network. Remember read from /dev/zero and write to /dev/null. Therefore you eliminate hardware bottlenecks such as the hard drive. Also the top end for a 100 Megabit connection is 12.5MegaBYTE. A good performance for that would be considered >87% of theoretical.
You also do not perform benchmarks on the SSD and such on other machines. We are also unsure if the card is having to read data off before writing due to how flash memory works.
All in all it's an OK overview but is limited in execution.
May 25 2010 10:21 am
I chose scp, nfs and samba because those are functions used in the real world. I don't know about you, but I don't usually sit at my computing running NC and BBCP all day. Also the sheevaplug has a gigabit connection. That's 1000Mbps, not 100Mbps.
If you have a spare SSD you want to send my way, I'll be glad to run a benchmark on that.
Jul 10 2010 1:59 pm
Anyone have unraring benchmarks?
Aug 22 2010 2:52 pm
No proper benchmarks here but I'm using Sheeva with kernel 2.6.32.7, running lftp to download via TLS getting about 448kb/sec & CPU is maxing out. I have it hooked up to eSATA & I used it to unrar a lot...might post performance later on.
Sep 21 2010 7:33 am
Nice work, this page. I did some measurements myself this spring but did not get to put them on my blog, since I did not measure disk performance and network performance. Well, now I decided to put them out anyway at http://martin.feuersaenger.de/2010/09/21/benchmarking-the-sheevaplug-on-nfs-performance/
They pretty much confirm for NFS performance, what you meausred, Kenny.
I also found fragfutter's measurements. I guess I have to redo my analysis with a newer kernel version, once I have replaced the fried PSU of my Plug ;-)Nov 11 2010 5:45 am
The stock Marvell kernel seems to have a much better crypto driver than the mainline linux kernel, as well as a lot more options for the various hardware drivers... Would it be possible to see benchmarks comparing the various kernel versions, especially for encryption using the hardware SSL capabilities.