2014年1月9日木曜日

Unixbenchで16core以上も取得太郎

久々の更新である。

 IDCFさんのブログ紹介されていたUnixbenchの記事を参考にさせていただいて
いろいろなサーバの値をとってみたところ、

16core以上になると、数値がとれないことがわかったw ので、16coreでも当てれるようになる方法を探したので書いておくぽ(*´ω`*)モキュ 計測につかったやつは E5-2630L v2 @ 2.40GHzの24core、cent6.4(2.6.32-358.23.2.el6.x86_64)だす。 使ったUnixbenchは5.1.3。 パッチを当てない状態だと
------------------------------------------------------------------------
Benchmark Run: 火  1月 07 2014 15:31:53 - 15:59:53
24 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       27171184.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2528.0 MWIPS (9.7 s, 7 samples)
Execl Throughput                               1867.8 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        811892.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          218868.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       2083841.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1441955.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  83075.2 lps   (10.0 s, 7 samples)
Process Creation                               4401.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3081.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1910.2 lpm   (60.0 s, 2 samples)
System Call Overhead                        1882893.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   27171184.3   2328.3
Double-Precision Whetstone                       55.0       2528.0    459.6
Execl Throughput                                 43.0       1867.8    434.4
File Copy 1024 bufsize 2000 maxblocks          3960.0     811892.2   2050.2
File Copy 256 bufsize 500 maxblocks            1655.0     218868.5   1322.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    2083841.6   3592.8
Pipe Throughput                               12440.0    1441955.7   1159.1
Pipe-based Context Switching                   4000.0      83075.2    207.7
Process Creation                                126.0       4401.2    349.3
Shell Scripts (1 concurrent)                     42.4       3081.6    726.8
Shell Scripts (8 concurrent)                      6.0       1910.2   3183.7
System Call Overhead                          15000.0    1882893.2   1255.3
                                                                   ========
System Benchmarks Index Score                                        1008.4

------------------------------------------------------------------------
Benchmark Run: 火  1月 07 2014 15:59:53 - 15:59:53
24 CPUs in system; running 24 parallel copies of tests

でとまってしまう。 なので、ここのサイトを参考にパッチを当てる。 fix-limitation.patchをダウンロードして
#Unixbenchの配下に移動して patch 適用

[root@yatta001UnixBench] patch Run fix-limitation.patch
patching file Run
Hunk #1 succeeded at 106 (offset 1 line).
Hunk #2 succeeded at 1329 (offset 1 line).

#diff とってみる

[root@yatta001 UnixBench]# diff -Nur Run  Run.orig  
--- Run 2014-01-09 15:50:03.572928014 +0900
+++ Run.orig    2011-01-18 15:44:53.000000000 +0900
@@ -106,10 +106,10 @@
 
 # Configure the categories to which tests can belong.
 my $testCats = {
-    'system'    => { 'name' => "System Benchmarks", 'maxCopies' => 0 },
+    'system'    => { 'name' => "System Benchmarks", 'maxCopies' => 16 },
     '2d'        => { 'name' => "2D Graphics Benchmarks", 'maxCopies' => 1 },
     '3d'        => { 'name' => "3D Graphics Benchmarks", 'maxCopies' => 1 },
-    'misc'      => { 'name' => "Non-Index Benchmarks", 'maxCopies' => 0 },
+    'misc'      => { 'name' => "Non-Index Benchmarks", 'maxCopies' => 16 },
 };
 
 
@@ -1329,7 +1329,7 @@
         # If the benchmark doesn't want to run with this many copies, skip it.
         my $cat = $params->{'cat'};
         my $maxCopies = $testCats->{$cat}{'maxCopies'};
-        next if ($maxCopies > 0 && $copies > $maxCopies);
+        next if ($copies > $maxCopies);
 
         # Run the benchmark.
         my $bresult = runBenchmark($bench, $params, $verbose, $logFile, $copies);
[root@yatta001 UnixBench]# 

#もっかい計測

------------------------------------------------------------------------
Benchmark Run: 火  1月 07 2014 16:08:01 - 16:36:01
24 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       27170733.7 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2513.0 MWIPS (9.6 s, 7 samples)
Execl Throughput                               1873.2 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        811405.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          219160.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       2074592.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1437393.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  83618.1 lps   (10.0 s, 7 samples)
Process Creation                               4326.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3084.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1912.7 lpm   (60.0 s, 2 samples)
System Call Overhead                        1884694.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   27170733.7   2328.3
Double-Precision Whetstone                       55.0       2513.0    456.9
Execl Throughput                                 43.0       1873.2    435.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     811405.0   2049.0
File Copy 256 bufsize 500 maxblocks            1655.0     219160.9   1324.2
File Copy 4096 bufsize 8000 maxblocks          5800.0    2074592.7   3576.9
Pipe Throughput                               12440.0    1437393.2   1155.5
Pipe-based Context Switching                   4000.0      83618.1    209.0
Process Creation                                126.0       4326.3    343.4
Shell Scripts (1 concurrent)                     42.4       3084.1    727.4
Shell Scripts (8 concurrent)                      6.0       1912.7   3187.9
System Call Overhead                          15000.0    1884694.8   1256.5
                                                                   ========
System Benchmarks Index Score                                        1007.0

------------------------------------------------------------------------
Benchmark Run: 火  1月 07 2014 16:36:01 - 17:03:57
24 CPUs in system; running 24 parallel copies of tests

Dhrystone 2 using register variables      357829957.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    58228.3 MWIPS (9.9 s, 7 samples)
Execl Throughput                              62671.5 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        377523.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          109032.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1044447.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                            20183039.9 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                4432794.1 lps   (10.0 s, 7 samples)
Process Creation                             120790.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  73993.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                  10123.5 lpm   (60.1 s, 2 samples)
System Call Overhead                        5554165.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  357829957.5  30662.4
Double-Precision Whetstone                       55.0      58228.3  10587.0
Execl Throughput                                 43.0      62671.5  14574.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     377523.7    953.3
File Copy 256 bufsize 500 maxblocks            1655.0     109032.1    658.8
File Copy 4096 bufsize 8000 maxblocks          5800.0    1044447.0   1800.8
Pipe Throughput                               12440.0   20183039.9  16224.3
Pipe-based Context Switching                   4000.0    4432794.1  11082.0
Process Creation                                126.0     120790.3   9586.5
Shell Scripts (1 concurrent)                     42.4      73993.6  17451.3
Shell Scripts (8 concurrent)                      6.0      10123.5  16872.4
System Call Overhead                          15000.0    5554165.3   3702.8
                                                                   ========
System Benchmarks Index Score                                        6816.1

これでとれるようになった('A`) 参考文献 http://www.idcf.jp/blog/cloud/unixbench/ https://code.google.com/p/byte-unixbench/issues/detail?id=4