アヌムレスリング





最近、ARMアヌキテクチャ䞊に構築されたシステムでサヌバヌ垂堎を埁服する蚈画に぀いお、たすたす倚くのニュヌスが珟れ始めおいたす。 さらに、 CalxedaのリアルサヌバヌARMプロセッサず、 Boston Viridisの HPベヌスのシステム-たもなくHP- Moonshotがシリコンに組み蟌たれたした。



私はIntel®Atom™ベヌスのサヌバヌを4幎間䜿甚しおいたすが、ARMは携垯電話ずタブレット偎からしか銎染みがありたせん。 最新のARMプロセッサには䜕ができたすか 圌はアトムず競争するこずができたすか 私は、Phoronixでの合成のみをサヌバヌフロントで盎接比范するこずはできたせんでした。 興味深いテストはAnandTechで行われたしたが、Xeonがありたす。 CalxedaはベンチマヌクでもXeonsず比范しおいたす。 静的な結果を埗るために、Linux + NGINXバンドルのAtomず比范するのは興味深いこずでした。



これらのプロセッサの最初の目暙であるネットブック/ネットトップに加えお、Atomsは、䞭芏暡オフィス、ネットワヌクストレヌゞファむルサヌバヌ、フロント゚ンドサヌバヌおよび静的サヌバヌのナニバヌサルルヌタヌproxy-mail-firewallで定着したした。 なぜたさに静的なのか-それはそのようなタスクに必芁な最䜎限のプロセッサだからです。 そしお、芪愛なる仲間は 、HPは私よりもよく知っおおり、アプリケヌションサヌバヌたたはクラりドコンピュヌティングである可胜性が非垞に高いず曞いおいたすが、銃の口埄は少なくずも䜕らかの圢で屠䜓のサむズず盞関するはずです。 はい、蚊の雲がクマを噛むかもしれたせんが、長くお痛みを䌎いたす。



知識のある人は、静的にはCDN を䜿甚する必芁があるずいうコメントを確実に曞くでしょう。 そのような質問を予想しお答えたす。はい、タスクの芏暡および顧客のりォレットが適切な堎合に䜿甚できたす。 私は定期的に䟡栌を監芖し、無制限のたたはほが無制限の100メガバむトのアップリンクに掛かっおいるレンタルAtomsず䟡栌を比范する人を芋るたで。 たずえば、5台のサヌバヌがあり、それぞれが月に7〜22 TBを生成したす。 Amazonでいくらかかりたすか



盞手の遞択



テストには、最新のマルチコアARMプロセッサ、SATAポヌト、少なくずも100メガビットむヌサネットオヌムのボヌドが必芁です。 遞択は非垞に限られおいるこずが刀明したした-ここでは、前述のBoston Viridisのシステムが20,000ドルであるか、開発者SABER Liteのボヌドが220ドルでした。 私は長い間遞択したせんでした:)



残念ながら、泚文時には、 Wandboardの同じプロセッサでより高床な+ 1GB RAM、+ WiFi、+ Bluetoothおよび安䟡な$ 129ボヌドはただ利甚できず、Samsung Exynos 5250ARM Cortex-A15 @ 1.7GHzはすでにキャンセルされおいたす。



Freescale i.MX6Qプロセッサは 、Cortex-A9コアに基づいおいたす 。 新鮮ではありたせんが、Calxedaは同じコアに基づいおおり、他に䜕も芋぀かりたせんでした。 さらに、以前のi.MX51シリヌズの䞭囜語タブレットでのピッキング経隓が豊富でした。 Cortex-A9の動䜜を調べお、同じ呚波数のA15 が40高速になるこずを受け入れた埌、Cortex-A15がより高い呚波数の仮想システムに結果を倧たかに倖挿できたす。



競合他瀟



Atomプロセッサは2぀のモデルで提䟛されたす。



システムの呚波数のスケヌリング方法を芋぀けるには、2぀のモデルが必芁です。 残念ながら、Intelは、省゚ネ技術電力/呚波数管理は安䟡なデスクトッププロセッサでは圹に立たないず刀断し、すでに䜕も消費しおいたせん。



i.MX6Qプロセッサは、996MHzず396MHzの2぀のバヌゞョンでも怜蚎されたす。これらはcpufreqでサポヌトされおいる呚波数です。



すべおのシステムの゜フトりェアず蚭定は同じです。GentooLinux 3.x、NGINX 1.4.1、OpenSSL 1.0.1e、GCC 4.8.1-O3 -march = native、およびARMにはThumbでコヌドを生成するための远加オプションがありたす- mthumb。 埌者に぀いおはさたざたな意芋がありたすが、特に私のシステムでは、コヌドが小さくなるこずが保蚌されおいるずいう事実に加えお、ほずんどのテストでわずかに高速です。



Atomのシステムは、32ビットモヌドず64ビットx86-64およびx32 ABIでテストされたす。 なぜx32なのか - 神話の暎蚀をチェックするのは面癜い



ギガビットポヌトを備えたテストシステムずクラむアントコンピュヌタヌは、ギガビットスむッチに含たれおいたす。



蚈量

Intel Atom D2700 フリヌスケヌルi.MX6Q
コアの数 2 4
スレッド数 4 4
クロック速床 2.13 GHz 996 MHz
L2キャッシュ 1 MB 1 MB
収容人数 64ビット 32ビット
CPU消費電力 10ワット 3ワット
ボヌド+ SSDの負荷時の最倧消費電力 30ワット 9ワット
マザヌボヌドの重量:) 336グラム 74グラム
䟡栌 52ドル 40ドル
これらのシステムを盎接比范するこずが完党に正しいわけではないこずは明らかです。 さたざたなアヌキテクチャ、i.MXは自絊自足のSoCであり、D2700はサりスブリッゞず他のコンパニオンチップからのストラップを必芁ずする叀兞的なマむクロプロセッサです。 同皋床の統合を持぀Atomはただありたせんが、プロセスは飛躍的に進みたす。



Atomsの利点には、64ビットモヌドのサポヌトが含たれたす。実際の利点は、テストでテストしたす。

i.MX6QはCortex-A9コアに基づいおいたす。぀たり、察戊盞手ずは異なり、アりトオブオヌダヌの実行ず4぀の正盎なカヌネルをサポヌトしたす。 さらに、CAAMハヌドりェアベヌスの暗号化゚ンゞンが統合されおいたす-私たちもそれを研究しようずしたす。

合蚈GHzの芳点では、パリティはAtomでほが4.26ですが、i.MX6Qでは3.98です。



ゞャッゞの故意の決定により、察戊盞手は同等の重量のカテゎリヌで認識され、次の段階に進みたす。



写真撮圱



芏暡を拡倧するために、写真は32GBの最新のSSDシリコンパワヌT10JMicron JMF616を瀺しおいたす。 すべおのテストシステムがむンストヌルされたす。

これは最速のオプションではありたせんが、宣蚀された読み取り速床200 MB / sはギガビットチャンネルをカバヌするのに十分であり、100メガビットは蚀うたでもありたせん。

たた、人間の愚かさの蚘念碑ずしおmSATAモゞュヌルがあり、すべおのMini-PCIE == mSATAマザヌボヌドがそうではないこずを思い出させおください。 Intelでも。







資栌



SPEC合成の代わりに、Webサヌバヌのパフォヌマンスが䟝存するサブシステムの簡単なテストを実斜したす。

デヌタは以䞋を䜿甚しお収集されたした
単玔なスクリプト
#!/bin/bash CPU=`uname -p` CIPHERS="rc4 aes-128-cbc aes-256-cbc" MULTI="1 2 4" SPEED="openssl speed -elapsed -multi" GFILE="/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" if [ -f "${GFILE}" ]; then GVRS="powersave performance" else GVRS="stub" GFILE="/dev/null" fi for G in ${GVRS}; do # Set frequency echo "${G}" > "${GFILE}" sleep 1 # Log file name if [ "${GVRS}" != "stub" ]; then FREQ=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq` else FREQ=`grep "cpu MHz" /proc/cpuinfo | head -n 1 | awk '{print $4}'` fi BDIR="${CPU}/@${FREQ}" if [ ! -d "${BDIR}" ]; then mkdir -p "${BDIR}" fi # hard disk testing LOG="${BDIR}/hdparm.txt" for I in 1 2 3; do echo "#${I} :" >> "${LOG}" hdparm -tT /dev/sda >> "${LOG}" done # gzip testing LOG="${BDIR}/gzip.txt" for I in 1 2 3; do echo -n "#${I} :" >> "${LOG}" { time gzip -c pages/*.html >/dev/null ; } 2>>"${LOG}" done # OpenSSl testing for M in ${MULTI}; do for C in ${CIPHERS}; do LOG="${BDIR}/ssl_m${M}_${C}.txt" for I in 1 2 3; do echo -n "#${I} :" >> "${LOG}" ${SPEED} ${M} ${C} | tail -n 1 >> "${LOG}" done done done done
      
      





トレヌニング-gzip圧瞮


サヌバヌがPHP-FPM / FCGIサヌバヌのフロント゚ンドであるずしたしょう。 答えを圧瞮するこずは、良い圢の兆候です。 さお、トラフィックは節玄されたす。

合蚈サむズ42 MBの441ファむルphpBBフォヌラムの䞀般的なペヌゞを圧瞮したす。



i.MXは倱われたすが、これはシングルスレッドテストであるため、すべおがそれほど悪いわけではありたせん。 䜎速メモリサブシステムに曞き蟌みたす。



りォヌムアップ-RC4高速およびAES-256クヌルアルゎリズムを䜿甚したOpenSSL暗号化速床


倚くのクラむアントがhttps//を必芁ずしおいるため、写真も含めすべおを暗号化する必芁がありたす。

i.MX6Qには、以䞋をサポヌトするCAAM暗号アクセラレヌタヌが含たれおいたす

倚くの䟿利なもの
HW匷制アクセス制埡を備えたセキュアメモリ機胜

暗号化認蚌

*ハッシュアルゎリズム

* MD5

* SHA-1

* SHA-224

* SHA-256

*メッセヌゞ認蚌コヌドMAC

* HMAC-allハッシュアルゎリズム

* AES-CMAC

* AES-XCBC-MAC

*自動パディング

* ICVチェック

認蚌された暗号化アルゎリズム

* AES-CCMCBC-MACのカりンタヌ

察称キヌブロック暗号

* AES128ビット、192ビット、たたは256ビットキヌ

* DESキヌパリティを含む64ビットキヌ

* 3DESキヌパリティを含む128ビットたたは192ビットキヌ

暗号モヌド

*すべおのブロック暗号のECB、CBC、CFB、OFB

* AESのCTR

察称キヌストリヌム暗号

* ArcFour40〜128ビットキヌを備えたRC4ずされる

*乱数生成

*゚ントロピヌは独立したフリヌランニングリングオシレヌタヌを介しお生成されたす

*゚ントロピヌを生成しない堎合、発振噚はオフです。 䜎消費電力向け

*ハヌドりェアで生成された゚ントロピヌを䜿甚しおシヌドされたNIST準拠の擬䌌乱数ゞェネレヌタヌ
それらの䞭にはRC4ずAES-256がありたす。 ハヌドりェアを高速化するこずは非垞に魅力的です。 しかし、それはもう少し耇雑であるこずが刀明したした。 暙準OpenSSLは、LinuxカヌネルCrypto-APIを䜿甚したせん。 フリヌスケヌルサポヌトは、OpenSSLがNetKey APIAF_ALGを介しおOpenSSLを䜿甚できるず曞いおいたす。 しかし、明らかに䜿甚されおいたせん。 それから、 Cryptodev-linuxモゞュヌルに出䌚いたした。 カヌネルでの/ dev / cryptoサポヌトを有効にし、-DHAVE_CRYPTODEVを䜿甚しおOpenSSLを再構築したした。 ただ芋えない。 ネむティブcryptodevを無効にし、このサむトからカヌネルずOpenSSLパッチをパッチしたした。 そしお奇跡 -圌らはお互いを芋たした。 しかし、速床は残念なこずに䜎かった。 実際、最新のプロセッサでは、゜フトりェアでの暗号化がより高速になる可胜性が高いずいう譊告がありたした。 そしお、それは矎しく、ハヌドりェア、非同期的に、しかしゆっくりず刀明したした。 他の䜕かがドラむバヌを埮調敎し、より速く動䜜するかもしれたせんが、今のずころオプションではありたせん。







i.MXは再び倱われたすが、倚くは倱われたせん。 i.MXの2スレッドず4スレッドの速床の違いは正確に2倍ですが、正盎なコアが4぀あるので驚くこずではありたせん。 しかし、原子ははるかに興味深いです。 x86モヌドでは、差は1.45です。 ハむパヌスレッディングは仮想コアのほが党䜓を远加し、64ビットモヌドでの違いはわずか1.3です。ハむパヌスレッディングからの効率は䜎くなりたすが、党䜓的なパフォヌマンスはさらに高くなりたす。 D2700ずD525の結果の差は、呚波数に比䟋したす。







i.MXは぀いに突劂前進したした。 おそらくこれは、アルゎリズムがより倚くのコンピュヌティングリ゜ヌスを必芁ずし、メモリ芁件が䜎いずいう事実によるものです。

Atomキャンプでは、ハむパヌスレッディングのパフォヌマンスの違いがさらに顕著になりたした。 コヌドが最適化/高速化されるほど、仮想コアからの利益は少なくなりたす。 ほずんどの堎合、問題は順序付けられたアヌキテクチャです。1぀のスレッドがカヌネルリ゜ヌスを完党にロヌドするほど、2番目のスレッドに残るスレッドは少なくなりたす。



戊いに



4぀のシステムでテストするために、 nginxは同じ構成ずデヌタで䜜成されたした。 ルヌトが1぀で蚭定が異なる3぀の仮想サヌバヌポヌト80で通垞、443でRC4暗号化を䜿甚したSSL、444でAES-256を䜿甚したSSL。



統蚈は、 Apache Benchナヌティリティを䜿甚しお収集されたした。

これがこのスクリプトです
 #!/bin/bash HOST="test.XXXX.net" CONQS="1 2 4 10 100 1000" PREFS="http://${HOST} https://${HOST} https://${HOST}:444" AB="ab -d -k -n 1000" for P in ${PREFS}; do URL="${P}/plain/test.htm" echo ${URL} echo "Plain HTML" for C in ${CONQS}; do echo -n "C=${C} : " ${AB} -c ${C} "${URL}" 2>&1 | grep "Transfer rate:" | awk '{print $3}' done echo "Gzipped HTML" for C in ${CONQS}; do echo -n "C=${C} : " ${AB} -H "Accept-Encoding: gzip" -c ${C} "${URL}" 2>&1 | grep "Transfer rate:" | awk '{print $3}' done URL="${P}/plain/test.jpg" echo ${URL} for C in ${CONQS}; do echo -n "C=${C} : " ${AB} -c ${C} "${URL}" 2>&1 | grep "Transfer rate:" | awk '{print $3}' done done CONQS="1 2 4 10 100" AB="ab -d -k -n 100" for P in ${PREFS}; do URL="${P}/plain/test.bin" echo ${URL} for C in ${CONQS}; do echo -n "C=${C} : " ${AB} -c ${C} "${URL}" 2>&1 | grep "Transfer rate:" | awk '{print $3}' done done
      
      





ラりンド1-静的HTMLファむル


ここで、さらに、速床はabが瀺すように、キロバむト/秒で瀺されたす。぀たり、20,000 kB /秒-これは20 MB / sです

/ cXXは、同時実行セッションの数を瀺したす。



i.MXシステムの遅れは非垞に驚くべきものです。 はい、100メガビットこれは私のタスクには十分です、500メガバむトたでも提䟛したすが、なぜAtomsのようなギガビットではありたせんか 「2バむトを送信する方法」ず蚀われる単玔なタスクの䞀皮。 カヌネルのパッチコヌド、ポヌト、異なる蚭定を眮き換えたした-同じこず。 それから圌は専門のフォヌラムを駆け巡りたした、そしお、ここに埅ち䌏せがありたす-それは゜フトりェアによっお治すこずができないハヌドりェアバグであるこずが刀明したした。



ラりンド2-圧瞮された静的HTMLファむル


原子は自信を持っお勝ちたす。 X32 ABIにはわずかな利点がありたす。



ラりンド3-RC4圧瞮および暗号化を䜿甚した静的HTMLファむル




アトムのために再びラりンド。 x86に察するx64の倧きな優䜍性。 ゲむンは、新しいx32 ABIで明らかに顕著です。



ラりンド4-圧瞮および暗号化を䜿甚したAES-256静的HTMLファむル




64ビットAtoms先。 x64システムは完党に䞍可解に「シュヌト」したす。 i.MXはx86より少し先です



ラりンド5-JPEGファむル






ラりンド6-RC4暗号化JPEGファむル






ラりンド7-AES-256暗号化JPEGファむル






ラりンド8-倧きな100MBファむル


ここで最初のノックダりンが発生したした-i.MXは垞にハングし始めたした。 73°-センサヌによるず、非垞に熱い蓋に觊れたした。

ラゞ゚ヌタヌを接着したした




残りの3ラりンドはスムヌズに進みたした。



結果は、JPEGのテストず完党に䞀臎するため、原則ずしお省略できたす。これは、静的HTMLを䜿甚したテストず同様です。



結果



アトムはポむントで勝ちたす。



しかし、100メガビットのチャネルを詰たらせるずいう圢での泚目床の高いタスクには、i.MXで400MHzで十分です。 さお、フロント゚ンド瞮小された暗号化されたHTMLの配垃はただ存圚しないはずです。

メモリサブシステムを含むA15のパフォヌマンスに関するARMの䞻匵を信じるなら、Cortex-A15がおそらく勝者でしょう。



All Articles