Pine64+到着
64bit対応のARMのおもちゃ、Pine64+到着。思ったよりかなりデカいよ。。。真ん中はチップは同じARMv8のA53 64bitではまともに動かないラズパイ3。上はラズパイゼロだけど今日は戦力外。Armv8のAESアクセラレータが気になってたので、Intelの同様のAES-NIと比較。Intelは某IaaSのインスタンスで実験。
基本スペック
Pine64+ | RapberryPi3 | Intelのvm | |
---|---|---|---|
(v)CPU | A53 1.2GHz 4Core | A53 1.2GHz 4Core | Xeon E5-2676 v3 @ 2.4GHz 4vCore |
OS | Ubuntu for Pine64 改 | Raspbian(32bit ARMv7扱い) | Ubuntu 16 |
Memory | 1GB | 1GB | 16GB!! |
Price | $19 | $35 | $0.239/1時間 |
とりあえずハノイの塔
きちんとベンチマークを測ればいいのだけど、省略。Cで書いたやっつけハノイの塔30段勝負。解き終わる時間が早いほうが強い。予想通りIntel圧勝ですが、クロック以上の差がでてますね~。当然処理を分散させるわけもなく、1コアに負荷は偏ってますw
#AES処理対決方法
さて本題。AESの処理速度をお手軽に比較するために今回はopensslを利用。1秒当たりの処理数(キロバイト)を表示してくれるらしい。なるほど。
$openssl speed aes-256-cbc
-multiで使うコアを増やせるらしい。へえー
$openssl speed aes-256-cbc -multi 4
-evpで暗号化エンジンを使って暗号化処理してくれるらしい。なるほど。ちなみにRaspberry3は/proc/cpuinfoでAES accelerator featureを確認できず。無理やり64bit kernelに上げても駄目だったのであきらめた。エンジンなし。
$openssl speed aes-256-cbc -evp
*Pine64は-evpを外しただけではAESアクセラレータが外れてくれず、kernelやらopensslやらcryptodevやらいろいろいじったんだけど、今日は詳細は省略
#いざ対決
まずはアクセラレータなし、1コア。Intel勝ってる。ハノイの塔ほど差はつかず。ざっくりGhzに比例してるのかな?
そしてアクセラレータオン。処理バイトサイズが大きくなるとPine64がAES-NI超えた!! Intel負けてる。Raspberry Pi 3 はAES accelerator なしなので全然だめですね。
次にアクセラレータなし、4コア分散。あれ、ARMは1コアのときより4倍弱ぐらいまで速度向上してるけどIntelは2倍ぐらい。Intel勝ってるけどやばいぞ、と思ったけど、ARMは物理4コアだけどたぶんIntelは4 Hyper Threadが2コアに乗っかってるだけかもしれないのでイーブンな勝負じゃないのかな。
最後にアクセラレータオン、4コア分散。基本的に1コアの時 似たような結果ですが、1コアのときyりIntel強し。コア跨いだ処理だとさすがにXeon強いのかな。
#最後に
2000円程度のARMv8が予想以上にスゴイ。汎用プロセッサーとしてはIntel圧勝だけど、特定用途サーバとしてならすでにけっこう使えるんかもね。そしてIntelとARMでは明確に設計思想に差が。