...

понедельник, 17 марта 2014 г.

Процессоры ARM? Практика. Marvel Armada XP

Прежде всего хочу выразить благодарность компании Rikor и Олегу лично за предоставленные платформы для тестирования. По прежнему вы можете взять на тест Marvell Armada XP для себя и в дальнейшем, как тестер, оставить их у себя в пользовании за символическую плату. Как и обещал в прошлой статье Сервер на ARM? Made in Russia! — привожу тесты производительности серверов на процессорах ARM. Так как ARM это процессор сделанный по технологии System-On-Chip, то заострим наше внимание на производительности процессора.

На просторах всемирной паутины много тестов, но все они для нас, как фантастическое путешествие на Марс — как проводились, какой именно ревизии процессор (или просто другого производителя), какой софт использовался не ясно. А тут — сервера перед нами, остается только протестировать.

Тестовые стенды:


1) Core2 Quad:


ОС: CentOS release 5.7

Процессор: 4-х ядерный Intel® Core(TM)2 Quad CPU Q9450 @ 2.66GHz

ОЗУ: MemTotal 3939800kB


2) Atom D510:


ОС: Ubuntu 12.04.3

Процессор: 4-х ядерный Intel® Atom(TM) CPU D510 @ 1.66GHz

ОЗУ: MemTotal 4032060kB


3) Marvell Armada XP:


ОС: Ubuntu 12.04.3

Процессор: 4-х ядерный Marvell PJ4Bv7 Processor rev 2 (v7l)

ОЗУ: MemTotal 8019640 kB


Жесткие диски во всех трех стендах WD black. ОЗУ в Core 2 Quad и Atom D510 стоит максимальное количество.


sysbench — тест процессора


Тест запускался в 4 потока и в 10000 запросов к процессору.


Core2 Quad
Test execution summary:

total time: 2.5107s

total number of events: 10000

total time taken by event execution: 10.0303

per-request statistics:

min: 0.95ms

avg: 1.00ms

max: 487.26ms

approx. 95 percentile: 0.95ms


Atom D510

Test execution summary:

total time: 37.6966s

total number of events: 10000

total time taken by event execution: 150.7424

per-request statistics:

min: 9.18ms

avg: 15.07ms

max: 39.05ms

approx. 95 percentile: 15.09ms



ARM Armada XP
Test execution summary:

total time: 67.4705s

total number of events: 10000

total time taken by event execution: 269.7890

per-request statistics:

min: 26.66ms

avg: 26.98ms

max: 57.05ms

approx. 95 percentile: 27.10ms



OLTP тестирование — производительность MySQL с sysbench


Сначала создаем innoDB таблицу на 10000 записей. Командой


sysbench —test=oltp —mysql-table-engine=innodb —oltp-table-size=10000 —mysql-user=root —mysql-password=root —db-driver=mysql —test=oltp prepare


Затем команда


sysbench --num-threads=8 --max-requests=500 --oltp-table-size=10000 --mysql-user=root --mysql-password=root --db-driver=mysql --test=oltp run


выполнит тест с 8 клиентами (максимальное количество запросов — 500) на таблице, которая была создана на предыдущем этапе.


Вывод тестов:


Atom D510
Running the test with following options:

Number of threads: 8

Random number generator seed is 0 and will be ignored

Threads started!


OLTP test statistics:

queries performed:

read: 7028

write: 2008

other: 1004

total: 10040

transactions: 502 (93.89 per sec.)

deadlocks: 0 (0.00 per sec.)

read/write requests: 9036 (1690.02 per sec.)

other operations: 1004 (187.78 per sec.)


General statistics:

total time: 5.3467s

total number of events: 502

total time taken by event execution: 42.2692s

response time:

min: 57.34ms

avg: 84.20ms

max: 129.67ms

approx. 95 percentile: 100.21ms


Threads fairness:

events (avg/stddev): 62.7500/0.66

execution time (avg/stddev): 5.2836/0.03




Marvell Armada XP
Running the test with following options:

Number of threads: 8

Doing OLTP test.

Running mixed OLTP test

Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases)

Using «BEGIN» for starting transactions

Using auto_inc on the id column

Maximum number of requests for OLTP test is limited to 500

Threads started!

Done.


OLTP test statistics:

queries performed:

read: 7000

write: 2500

other: 1000

total: 10500

transactions: 500 (361.28 per sec.)

deadlocks: 0 (0.00 per sec.)

read/write requests: 9500 (6864.24 per sec.)

other operations: 1000 (722.55 per sec.)


Test execution summary:

total time: 1.3840s

total number of events: 500

total time taken by event execution: 11.0083

per-request statistics:

min: 8.47ms

avg: 22.02ms

max: 55.15ms

approx. 95 percentile: 39.44ms


Threads fairness:

events (avg/stddev): 62.5000/1.87

execution time (avg/stddev): 1.3760/0.00




Для сравнения возьмем три показателя: transactions (транзакции), read/write requests (запросы чтения/записи), other operations (другие операции).

Значение deadlocks не берем, т.к. оно одинаково на обоих платформах и равно нулю.



Архивация информации с помощью 7zip


Архивировать будем 1ГБ случайно созданных данных.


du -sh /tmp/ramfs/file 1.0G /tmp/ramfs/file time 7za a dummy -mmt=4 -txz -so /tmp/ramfs/file | dd of=/dev/null


Core 2 Quad
7-Zip (A) [64] 9.20 Copyright © 1999-2010 Igor Pavlov 2010-11-18

p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,4 CPUs)

Scanning

Creating archive stdout


Everything is Ok

2093146+15 records in

2093159+1 records out

1071697500 bytes (1.1 GB) copied, 160.375 seconds, 6.7 MB/s


real 2m40.376s

user 8m11.635s

sys 0m5.290s




Atom D510
7-Zip (A) [64] 9.20 Copyright © 1999-2010 Igor Pavlov 2010-11-18

p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,4 CPUs)

Scanning

Creating archive stdout


Everything is Ok

2097252+15 records in

2097263+1 records out

1073798860 bytes (1.1 GB) copied, 557.429 s, 1.9 MB/s


real 9m17.434s

user 34m46.120s

sys 0m26.012s




Marvell Armada XP
7-Zip (A) 9.20 Copyright © 1999-2010 Igor Pavlov 2010-11-18

p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,4 CPUs)

Scanning

Creating archive stdout


Everything is Ok

2097249+17 records in

2097263+1 records out

1073798860 bytes (1.1 GB) copied, 578.709 s, 1.9 MB/s


real 9m38.713s

user 32m26.630s

sys 0m21.290s





Тесты компрессии и декомпресси в 7zip


Core 2 Quad
7-Zip (A) [64] 9.20 Copyright © 1999-2010 Igor Pavlov 2010-11-18

p7zip Version 9.20 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

RAM size: 3847 MB, # CPU hardware threads: 4

RAM usage: 850 MB, # Benchmark threads: 4


Dict Compressing | Decompressing

Speed Usage R/U Rating | Speed Usage R/U Rating

KB/s % MIPS MIPS | KB/s % MIPS MIPS


22: 8950 339 2569 8706 | 117613 397 2675 10611

23: 7510 294 2604 7651 | 115900 398 2666 10606

24: 8044 326 2653 8649 | 113672 398 2651 10546

25: 7424 311 2728 8477 | 112064 399 2642 10538

— Avr: 317 2638 8371 398 2659 10575

Tot: 358 2648 9473




Atom D510
7-Zip (A) [64] 9.20 Copyright © 1999-2010 Igor Pavlov 2010-11-18

p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

RAM size: 3937 MB, # CPU hardware threads: 4

RAM usage: 850 MB, # Benchmark threads: 4


Dict Compressing | Decompressing

Speed Usage R/U Rating | Speed Usage R/U Rating

KB/s % MIPS MIPS | KB/s % MIPS MIPS


22: 1895 312 591 1843 | 34517 398 782 3114

23: 1871 317 602 1906 | 34142 399 783 3124

24: 1845 325 610 1984 | 33684 399 783 3125

25: 1794 331 618 2048 | 30397 354 806 2858

— Avr: 321 605 1945 388 788 3055

Tot: 354 697 2500




Marvell Armada XP
7-Zip (A) 9.20 Copyright © 1999-2010 Igor Pavlov 2010-11-18

p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

RAM size: 7831 MB, # CPU hardware threads: 4

RAM usage: 850 MB, # Benchmark threads: 4


Dict Compressing | Decompressing

Speed Usage R/U Rating | Speed Usage R/U Rating

KB/s % MIPS MIPS | KB/s % MIPS MIPS


22: 1662 282 573 1616 | 45116 394 1034 4070

23: 1645 286 587 1676 | 44412 393 1033 4064

24: 1636 291 604 1759 | 43816 394 1032 4065

25: 1626 296 628 1856 | 43331 396 1029 4074

— Avr: 288 598 1727 394 1032 4068

Tot: 341 815 2898




Для графика возьмем среднее значение скорости компрессии и декомпрессии.



Тестирование производительности с Openssl speed


За счёт мультипроцессорности (4 одновременно запущенных процесса) бенчмарка вывод не читаемый, но суть заключается в расчётё различных типов шифрования. Здесь нам важно общее время выполнения задания и последняя часть вывода программы.


Core 2 Quad
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

built on: Tue Feb 7 05:45:53 EST 2012

options:bn(64,64) md2(int) rc4(ptr,int) des(idx,cisc,16,int) aes(partial) blowfish(ptr2)

compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -I/usr/kerberos/include -DL_ENDIAN -DTERMIO -Wall -DMD32_REG_T=int -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wa,--noexecstack -DOPENSSL_USE_NEW_FUNCTIONS -fno-strict-aliasing -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM

available timing options: TIMES TIMEB HZ=100 [sysconf value]

timing function used:

real 7m21.644s

user 0m0.002s

sys 0m0.001s




Atom D510
OpenSSL 1.0.1 14 Mar 2012

built on: Tue Jun 4 07:26:06 UTC 2013

options:bn(64,64) rc4(16x,int) des(idx,cisc,16,int) aes(partial) blowfish(idx)

compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM

real 16m37.958s

user 0m0.016s

sys 0m0.000s




Marvell Armada XP
OpenSSL 1.0.1 14 Mar 2012

built on: Tue Jun 4 07:43:19 UTC 2013

options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) blowfish(ptr)

compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM

real 16m39.221s

user 0m0.010s

sys 0m0.010s





С помощью Phoronix Test Suite протестируем процессоры наших платформ


Atom D510
Phoronix Test Suite v3.6.1

Installed: pts/polybench-c-1.0.2


PolyBench-C Test Configuration


Test:


1: 3 Matrix Multiplications

2: Correlation Computation

3: Covariance Computation

4: Test All Options


Enter Your Choice:

System Information


Hardware:

Processor: Intel Atom D510 @ 1.66GHz (4 Cores), Motherboard: Intel D510MO, Chipset: Intel N10 Family DMI, Memory: 2 x 2048 MB DDR2-800MHz, Disk: 320GB Hitachi HTS54323, Graphics: Intel N10 Family IGP, Audio: Realtek ALC662 rev1, Network: Realtek RTL8111/8168B


Software:

OS: Ubuntu 12.04, Kernel: 3.8.0-29-generic (x86_64), Display Driver: intel, Compiler: GCC 4.6, File-System: ext4, Screen Resolution: 1280x800


Would you like to save these test results (Y/n):

Estimated Run-Time: 10 Minutes


PolyBench-C 3.2:

pts/polybench-c-1.0.2 [Test: 3 Matrix Multiplications]

Test 1 of 3

Estimated Trial Run Count: 3

Estimated Test Run-Time: 4 Minutes

Estimated Time To Completion: 10 Minutes

Started Run 1 @ 15:58:43

Started Run 2 @ 16:06:02

Started Run 3 @ 16:13:16 [Std. Dev: 0.08%]


Test Results:

432.50632214546

431.82482385635

432.36951303482


Average: 432.23 Seconds


PolyBench-C 3.2:

pts/polybench-c-1.0.2 [Test: Correlation Computation]

Test 2 of 3

Estimated Trial Run Count: 3

Estimated Test Run-Time: 4 Minutes

Estimated Time To Completion: 7 Minutes

Started Run 1 @ 16:20:34

Started Run 2 @ 16:21:03

Started Run 3 @ 16:21:32 [Std. Dev: 0.80%]


Test Results:

27.11058306694

26.767813205719

26.717456102371


Average: 26.87 Seconds


PolyBench-C 3.2:

pts/polybench-c-1.0.2 [Test: Covariance Computation]

Test 3 of 3

Estimated Trial Run Count: 3

Estimated Time To Completion: 4 Minutes

Started Run 1 @ 16:22:05

Started Run 2 @ 16:22:36

Started Run 3 @ 16:23:05 [Std. Dev: 4.04%]

Started Run 4 @ 16:23:34 [Std. Dev: 3.70%]

Started Run 5 @ 16:24:05 [Std. Dev: 3.66%]

Started Run 6 @ 16:24:37 [Std. Dev: 4.24%]


Test Results:

29.076143026352

26.863905906677

27.619282960892

28.831228017807

29.238312959671

26.504108190536


Average: 28.02 Seconds


real 55m28.781s

user 25m44.476s

sys 0m1.728s




Marvell Armada XP
Phoronix Test Suite v3.6.1

Installed: pts/polybench-c-1.0.2


PolyBench-C Test Configuration


Test:


1: 3 Matrix Multiplications

2: Correlation Computation

3: Covariance Computation

4: Test All Options


Enter Your Choice:

System Information


Hardware:

Processor: Marvell- PJ4Bv7 rev 2 (4 Cores), Motherboard: Marvell Armada XP GP Board, Memory: 8192MB, Disk: 640GB JMicron H/W RAID


Software:

OS: Ubuntu 12.04, Kernel: 3.2.40-1-armadaxp (armv7l), Compiler: GCC 4.6, File-System: ext4


Would you like to save these test results (Y/n):

Estimated Run-Time: 7 Minutes


PolyBench-C 3.2:

pts/polybench-c-1.0.2 [Test: 3 Matrix Multiplications]

Test 1 of 3

Estimated Trial Run Count: 3

Estimated Test Run-Time: 3 Minutes

Estimated Time To Completion: 7 Minutes

Started Run 1 @ 15:58:14

Started Run 2 @ 16:05:08

Started Run 3 @ 16:11:51 [Std. Dev: 1.06%]


Test Results:

409.0100030899

400.97810292244

407.59055900574


Average: 405.86 Seconds


PolyBench-C 3.2:

pts/polybench-c-1.0.2 [Test: Correlation Computation]

Test 2 of 3

Estimated Trial Run Count: 3

Estimated Test Run-Time: 3 Minutes

Estimated Time To Completion: 5 Minutes

Started Run 1 @ 16:18:44

Started Run 2 @ 16:19:26

Started Run 3 @ 16:20:08 [Std. Dev: 0.10%]


Test Results:

39.603915929794

39.637764930725

39.679361104965


Average: 39.64 Seconds


PolyBench-C 3.2:

pts/polybench-c-1.0.2 [Test: Covariance Computation]

Test 3 of 3

Estimated Trial Run Count: 3

Estimated Time To Completion: 3 Minutes

Started Run 1 @ 16:20:53

Started Run 2 @ 16:21:35

Started Run 3 @ 16:22:17 [Std. Dev: 0.03%]


Test Results:

39.610389947891

39.589015960693

39.614406108856


Average: 39.60 Seconds


real 53m46.279s

user 24m14.830s

sys 0m1.350s





Выводы из тестов каждый может сделать для себя сам. Наши выводы, что ARM на уровне Atom D510. При этом ARM потребляет значительно меньше энергии и имеет неплохой потенциал, так как адаптация под архитектуру только начинается да и все мы ждем с нетерпением Aarch64 (ARM64).


В следующей статье планируем привести результаты тестирования работы различных приложений на платформе ARM. В планах различные панели управления хостингом, различные CMS. Если есть желание что-либо протестировать пишите на zbg@globatel.ru


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий