シンジです。AWSのインスタンスサイズって沢山あると思うのですが、それぞれに同じCPUベンチマークをかけて、どれくらいパフォーマンス差があるのか取ってみました。前置きですが、CPUの最大パフォーマンス値を取るのが目的では無く、同じ条件でテストを回して比較してみるというのが主旨です。
c4.10xlargeでベンチマーク回すと使用率がこんな感じになります(xhpl)
top - 13:07:57 up 31 min, 2 users, load average: 40.02, 40.01, 34.71 Tasks: 328 total, 41 running, 287 sleeping, 0 stopped, 0 zombie Cpu(s): 99.0%us, 1.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 165055516k total, 161656388k used, 3399128k free, 11456k buffers Swap: 0k total, 0k used, 0k free, 191736k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4133 root 20 0 4256m 3.8g 5036 R 100.0 2.4 31:06.37 xhpl 4097 root 20 0 4256m 3.9g 5044 R 100.0 2.4 31:06.45 xhpl 4099 root 20 0 4256m 3.8g 5328 R 100.0 2.4 31:06.35 xhpl 4101 root 20 0 4256m 3.8g 4968 R 100.0 2.4 31:06.34 xhpl 4102 root 20 0 4256m 3.8g 5064 R 100.0 2.4 31:06.44 xhpl 4106 root 20 0 4256m 3.8g 5320 R 100.0 2.4 31:06.06 xhpl 4109 root 20 0 4256m 3.8g 5124 R 100.0 2.4 31:06.22 xhpl 4110 root 20 0 4256m 3.9g 5264 R 100.0 2.4 31:06.45 xhpl 4117 root 20 0 4256m 3.8g 5184 R 100.0 2.4 31:06.34 xhpl 4120 root 20 0 4256m 3.9g 5220 R 100.0 2.4 31:06.31 xhpl 4123 root 20 0 4106m 3.7g 5128 R 100.0 2.4 31:06.45 xhpl 4126 root 20 0 4256m 3.8g 4984 R 100.0 2.4 31:06.34 xhpl 4128 root 20 0 4256m 3.8g 5004 R 100.0 2.4 31:05.84 xhpl 4100 root 20 0 4256m 3.9g 5100 R 99.9 2.4 31:06.37 xhpl 4103 root 20 0 4256m 3.9g 5284 R 99.9 2.4 31:06.38 xhpl 4104 root 20 0 4256m 3.8g 5208 R 99.9 2.4 31:06.37 xhpl 4105 root 20 0 4256m 3.9g 5144 R 99.9 2.4 31:06.40 xhpl 4107 root 20 0 4256m 3.9g 5248 R 99.9 2.4 31:06.31 xhpl
ピャーwww
ピャーーーーーwww
結果こうなりました
エクセルにしてダウンロードできるようにしてあるので、グラフ化したり比較したり自由にやってください。
No instance type GFLOPS
1 t2.nano 34.7838
2 t2.micro 20.8418
3 t2.small 37.1217
4 t2.medium 74.8527
5 t2.large 76.1116
6 m4.large 38.0627
7 m4.xlarge 35.5011
8 m4.2xlarge 71.1001
9 m4.4xlarge 143.1802
10 m4.10xlarge 303.4003
11 m3.medium 10.2084
12 m3.large 21.0002
13 m3.xlarge 21.1846
14 m3.2xlarge 36.5434
15 c4.large 44.5337
16 c4.xlarge 41.4884
17 c4.2xlarge 83.0626
18 c4.4xlarge 166.9141
19 c4.8xlarge 309.8898
20 c3.large 21.9553
21 c3.xlarge 19.9627
22 c3.2xlarge 39.1188
23 c3.4xlarge 76.6261
24 c3.8xlarge 142.4067
25 cc2.8xlarge 132.0096
26 g2.2xlarge 37.2088
27 g2.8xlarge 125.4026
28 r3.large 20.9347
29 r3.xlarge 18.3905
30 r3.2xlarge 36.3284
31 r3.4xlarge 71.6649
32 r3.8xlarge 140.2955
33 d2.xlarge 35.3689
34 d2.4xlarge 143.4394
35 d2.8xlarge 265.7762
36 i2.xlarge 18.5388
37 i2.2xlarge 36.6694
38 i2.4xlarge 71.8114
39 i2.8xlarge 138.6036
40 hi1.4xlarge 32.0648
41 hs1.8xlarge 28.2609
どうやったか解説
Intel® Math Kernel Library – LINPACK を使いました。本当はHPLを使いたかったのですが、実際にやってたらえらい時間かかってしまって待ちきれなかったので、さくっとお手軽に皆さんもお試し出来る方法でやりました。
https://software.intel.com/en-us/articles/intel-math-kernel-library-linpack-download
Amazon Linuxで立ち上げます
今回はそこは割愛。
後は以下の通り
sudo su - wget http://registrationcenter.intel.com/irc_nas/8305/l_mklb_p_11.3.1.002.tgz tar zxvf l_mklb_p_11.3.1.002.tgz cd l_mklb_p_11.3.1.002/benchmarks_11.3.1/linux/mkl/benchmarks/linpack/ vi test.sh
今回は、以下のようなスクリプトを組んでみました。
#!/bin/bash # export KMP_AFFINITY=nowarnings,compact P=`cat /proc/cpuinfo | grep -c @` export OMP_NUM_THREADS=${P} date date echo NT=${P} ./xlinpack_xeon64 lininput_xeon64 date echo -n "Done: "
権限を与えて実行します。
chmod +x test.sh ./test.sh
インスタンスにもよりますが、結果が出るまでは数十分から数時間かかりますので覚悟の上で実施して下さい。
何度も書きますが、きちんとチューニングしてピークなGFLOPSをちゃんと取りに行こうとすれば、これらの倍以上の能力値が出るのを確認していますので、そこはご了承下さい。今回は、同じテストを全インスタンスに〜が目的です。
というか、このお手製スクリプト使わずに、
./runme_xeon64
とそのまま叩いた方が結果がいいんじゃねーのかというアレもアレですがいろいろお試し下さい。
X1インスタンスという化け物インスタンスが予定されていますので
100コア、2TBメモリだったかな?きたら試してみたいですね〜!