中華padで使われるCPUのメモ 2012/05/08版


中華padでよく使われるCPUについてのメモ」の2012年版的なもの
中華padのCPUスペック その2」で出したようなベンチマークは収集できていない。
(2012/05/22 RK31XX,RK32XX,VIA8850を追加)
(2012/05/23 WM8750,WM8950を追加)
(2012/07/10 ARM系7大CPU徹底比較にてベンチマークを掲示)




CPU コア 周波数 メモリ GPU プロセス ルール 動画出力能力
全志 Allwinner A10 Cortex-A8 single 1.0GHz 512MB DDR3 ARM Mali-400 55nm 2160p
全志 Allwinner A13 (A10機能削減廉価版) Cortex-A8 single 1.0GHz 512MB DDR3 ARM Mali-400 ? ?
瑞芯 Rockchips RK2918 Cortex-A8 single 1.0GHz 512MB DDR2 Vivante GC800 55nm 1080p
瑞芯 Rockchips RK2906 (RK2918の 機能削減廉価版) Cortex-A8 single 1.0GHz DDR2 / DDR3 ? ? 1080p
瑞芯 Rockchips RK30XX Cortex-A9 dual 1.4GHz DDR2 / DDR3 ARM Mali-400 quad core 40nm 1080p
瑞芯 Rockchips RK31XX (まだ噂段階) Cortex-A9 single ?GHz ? ? ? ?
瑞芯 Rockchips RK32XX (まだ噂段階) Cortex-A9 quad ?GHz ? ? ? ?
晶晨 Amlogic AML8726-M3 Cortex-A9 single 1.0GHz 512MB DDR3 ARM Mali-400 65nm 1080p
晶晨 Amlogic AML8726-MX Cortex-A9 dual 1.5GHz DDR3 ARM Mali-400(dual-core) 40nm 1080p
中星微 Vimicro VC882 Cortex-A8 single 1.0GHz 512MB/1GB DDR2 Vivante GC400 65nm 1080p
君正 Ingenic JZ4770 Xbust MIPS single 1.0GHz 512MB DDR2 Vivante GC860 65nm 1080p
新岸銭 NuSmart 2816MX Cortex-A9 dual 1.2GHz DDR2 / DDR3 ARM Mali-400 40nm 1080p
Telechips TC892X Coretex-A5 dual 1.2GHz ? ARM Mali-400 45nm ?
VIA 8850 (A10対抗) Cortex-A9 dual 1.2GHz ? ARM Mali-400 ?nm ?
VIA8950 / WM8950 (STB向け?) Cortex-A9 single 800MHz DDR3/LPDDR2 ARM Mali-400 ?nm 1080p
VIA8750 / WM8750 (廉価STB向け?) ARM11 single 800MHz DDR3/DDR2 ? ?nm 1080p

Windows Server 2012とInfinibandによる高速転送について


Interrop 2012でマイクロソフトがWindows Server 2012 Betaを使ったデモンストレーションを展示しているらしい。
Microsoftのtechnet blogのJose’s Briefings, Diagrams and Annotationsより「Windows Server 2012 Beta with SMB 3.0 – Demo at Interop shows SMB Direct at 5.8 Gbytes/sec over Mellanox ConnectX-3 network adapters

内容は、SMB3.0を使用したネットワーク越しでの高速転送技術について。

SMBサーバ側はFusionIO ioDrive2(単独で1.5Gbytes/sec)を4枚並べてストライプ。
そこに、高速ネットワークを使って別のサーバからアクセスして、どれくらいの速度がでるか、というもの。

上記の様な状態で、IO benchmarkを測定すると、以下の様な感じとなる。

テスト内容 サーバ ローカル 10Gbps Ethernet 32Gbps Infiniband 54Gbps Infiniband
512KB IO/8スレッド/8 outstanding
バンド幅 5808MB/sec 1129MB/sec 3754MB/sec 5792MB/sec
IOPS(512KB/sec IOs/sec 11616 IOPS 2259 IOPS 3754 IOPS 11565 IOPS
CPU負荷 ~6.6% ~9.8% ~3.5% ~4.8%
8KB IO/16スレッド/16 outstanding
バンド幅 5103MB/sec 571MB/sec 2620MB/sec 2683MB/sec
IOPS(512KB/sec IOs/sec 525225 IOPS 73160 IOPS 335446 IOPS 343388 IOPS
CPU負荷 ~90.4% ~21.0%
(転送できてないので暇)
~85.9% ~84.7%

( 検証環境の構築手順: Deploying Windows Server 2012 Beta with SMB Direct (SMB over RDMA) and the Mellanox ConnectX-2/ConnectX-3 using InfiniBand – Step by Step )

ま、単純に10Gbps < 32Gbps < 54Gbpsの差、と見ることもできるけど、 512KB IO時のCPU負荷が10Gbpsより低い、というのは、注目ポイントかもしれない。 なぜ、その様なことが発生するのか? それは、Infinibandを使用するSMB 3.0では、RDMAという技術を利用しているから、である。 RDMAは「Remote Direct Memory Access Protocol」の略で、Infiniband環境下では当たり前のように使用されている技術である。 参考文献1:SMB Advanced Networking for Fault Tolerance and Performance
これの5ページ~10ページに詳細が書かれているが、ようはプロトコルオーバーヘッドが少ないから、ということになるのだが、ちょっとここの説明だと理解しづらい。

参考文献2:SMB 2.2. over RDMA

参考文献2を見ると、SMB over RDMA自体はSMB 2.2からサポートしているらしい。
RDMAがなぜ早いのか?という仕組みの説明としてはこちらの19ページと20ページの図がわかりやすい。
実際のデータ転送部分に関しては、直接サーバ上のメモリを参照してもらう、ということで、高速化を図っている、という感じである。

SMB3.0での改善点は他にもあり、上記の参考文献1の11ページ~18ページでは、「SMB Multichannel」という技術の話がされている。
これは、高速転送時、いままでのSMB実装では、1つの転送に対して使用できるCPU coreは1つしかなかったので、CPU coreが頭打ちになると、それ以上は帯域や他のCPU coreが空いていてもそれ以上は早くならない、という問題がある。(参考文献1 13ページ)
それを複数のCPU coreで処理を担当できるようにする、というのがSMB Multichannel。
SMB Multichannelにより複数NICを使った場合の分散処理もかなり改善される。

(訂正: 参考文献3 SMB 2.2: Bigger, Faster, Scalier (Part 1)を見るとSMB 2.2からあるようだ)

参考文献4 The basics of SMB Multichannel, a feature of Windows Server 2012 and SMB 3.0
という記事があがり、Multichannelとかの機能について解説されている。