最近の話題 2016年6月11日

1.超高スケーラビリティーを持つKNUPATHのHermosaプロセサ

 2016年6月8日のThe Registerが,KUPATH社の超並列処理に向くプロセサの発表を報じています。Hermosaというプロセサの名前はスペイン語で,美しいという意味のようです。それから,KNUPATHのKはサイレントで,ヌーパスと読むようです。

 KNUPATHの創立者は第9代目のNASAの長官を務めたDaniel Goldin氏とのことです,

 プロセサとプロセサ間を接続するファブリックについては,The RegsiterよりもKNUPATH社のWebページの方が詳しい情報が載っています。図によると,tDSP(tinyDSP)と呼ぶ8個のコアが2MBのRAMを共有するクラスタ,8個のクラスタを完全結合したスーパクラスタ,そして4個のスーパクラスタを完全結合したものがHermosaプロセサとなっています。各クラスタにはマネジメント用にARMコアが含まれています。

  システム仕様は72MBのRAMで,32バンクと書かれていますが,このクラスタごとの2MBのRAMがバンクとして動くのでしょうか?そしてプログラムRAMは2MBと小さいので,SIMDなどのように,一つの命令でたくさんの演算を行う方式と考えられます。

 プロセサコアは,通信や同期を行う命令を持ち,Scatter/Gatherを助ける命令があるとのことです。そして,Hermosaチップは256コアと64個のDMAエンジンをもつとのことです。

  そして,Lambda Fabricを通して512,000チップまでアドレスできると書かれています。アドレス空間は251wordでWordは32bitとなっていますので,普通に言うと53bitアドレスです。性能は256GFlops/sと書かれていますが,これは1チップの性能のようです。

  Lambda Fabrickはクラスタ内のチップ間の通信遅延が6ns,Hermosaプロセサ内が62ns,Hermosaを何個か載せたボード内が247ns,何枚かのボードをバックプレーンで繋いだラック内が400ns,そしてデータセンタも400nsとなっています。これは現在のインタコネクトと比べると数倍速い感じです。

  そして,Integrated L1 routerという項があり,コアに向けて32ポートがあり,1Tb/sのバンド幅と書かれています。1ポートのバンド幅が128GB/sだとかなり広帯域ですが,これが32ポート合計とするとポート当たりは4GB/sで大したことはありません。他のプロセサとの接続は16本の双方向の10Gb/sのポートがあり,合計320Gb/sと書かれています。これも40GB/sです。

  Hermosaプロセサの消費電力は34Wとのことで,比較的小さい電力ですが,演算性能などではnVIDIAのP100には遠く及びませんし,どの程度,高い性能を発揮できるのかは,この説明だけでは良く分かりません。

  用途は,HPC,音声認識,パターン認識,マシンラーニングなどをあげています。登場時期は2017年の遅い時期となっています。 

2.ISC 2016のSCCにNERSCから全員女性のチームが出場

  Student Cluster Competitionは6月のISCと11月のSCで開催されています。ローレンスバークレイ研究所はこれまでSCCに参加していなかったのですが,常時,インターンの学生が相当数いるので,2016年6月8日のHPC Wireが,その中から女子学生のチームを結成して参加すると報じています。

  私の知る限りでは,過去に1回,女性だけのチームがありましたので,これは2回目のオール女性チームと思います。しかし,この時は全員同じ大学の学生 だったのですが,今回は,所属がバラバラで,しかも大学生4人に高校生2人というメンバーです。SCCは激戦ですが,活躍してもらいたいものです。

3.IntelがXeon E7 v4を発表

  2016年6月6日のPC Watchが,Intelのサーバ用の最上位のXeon E7 v4プロセサの発表を報じています。Xeon E5 v3(Haswell-EX)は18コアでしたが,Xeon E5 v4(Broadwell-EX)は24コアにコア数が増加しています。性能はおおよそ1.3倍に向上とのことです。

  Xeon E7 v4は最大8ソケットのSMPが作れますから,24×8=192コアの共通メモリシステムが作れます。

  ダイ自体はE5 v4と同じものですが,E5 v4が最大22コアに対して,24コアまで使えるようになっています。また,E5に比べるとRASが大幅に強化されています。そして,DIMMの接続がSMIというチップ経由になり,8ch×3DIMMで最大24DIMMを接続できます。

  24コアとコア数が増えてしまったので,一まとめにしてキャッシュコヒーレンシを維持しようとするとスヌープの頻度が高くなりすぎるので,24コアを2つの領域に分け,自分の方の半分をミスする場合だけ,他方(と他のチップ)にスヌープを送る方式となっています。

  最上位のE7-8890 v4チップのTDPは165Wで,1000個ロットで買う場合の単価は$7,147とのことです。つまり,1000個ロットで買うとざっと8億円です。

  E5 v4と同じダイなのですが,8ソケットの接続で,いろいろな状況で,ちゃんと動くことをテストし,さらに,いろいろな状況で,RASを使ってエラー回復ができるかを細かく検証するには時間がかかります。ということで,E7 v4の発表は,E5 v4の発表よりも3か月弱,遅れています。

  なお,チップサイズは26.7mm×18.7mm程度に見えます。

4.Intelがマルウェアの侵入を防ぐControl-flow Enforcement Technologyの仕様案を発表


  
No Execute bitの新設で,スタック上に書かれたマルウェアを実行させることはできなくなったのですが,最後にRETがある短いコードを継ぎ合わせて実行させるReturn-Oriented-Programmingなどの方法で,マルウェアが侵入してきています。これを防ごうというのがControl-flow Enforcement Technology(CET)です。2016年6月10日のThe Registerが,このCETの仕様のReview版をIntelが公開したと報じています。

  RET命令では,スタック上にある戻り先のアドレスを書き換えられると,そのアドレスに飛んで行ってしまいます。また,CALLや間接ジャンプ命令も,レジスタの内容などを書き換えると,そのアドレスに飛んで行ってしまいます。そして,飛び先にスタックの内容をメモリアドレスとデータとしてメモリに書き込むようなコードが存在すると,メモリを書き換えられてしまいます。

  CETではRETに対してはshadow stackという仕掛けで防御します。CALL命令が実行されると,戻り先のアドレスがstackに積み込まれますが,この時,戻り先のアドレスをshadow stackにも積み込みます。詳細は省略しますが,shadow stackへのアクセス方法は限定されており,マルウェアが書き換えることはできないようになっています。そして,RET命令が実行されて戻るときには,通常のスタックの戻り先アドレスとshadow stackの戻り先アドレスが比較され,違いがあると,割り込みが発生し,プログラムの実行を止めます。このため,通常スタックの戻り先アドレスを書き換えても,侵入できません。

 また,間接ジャンプに対しては間接ジャンプ追跡という機能で防御します。この方法では,間接ジャンプの飛び先にENDBRANCH命令を埋め込んで置きます。そして,間接ジャンプが飛んでいった先がENDBRANCH命令でなければ,割り込みが発生し,プログラムの実行を止めます。正しく実行されている場合は,ENDBRANCH命令はNOPと同じで,何も行いません。つまり,レジスタやスタックを書き変えて,別のところへ飛ばしても,そこにENDBRANCH命令がなければ,その後の命令を実行することはできません。

  Intelはレビュー版を公開して,穴がないかを皆で調べて貰おうという訳です。ということで,この機能を入れたCPUが出てくるまでにはしばらく時間がかかりそうですが,安全性が高まるのは望ましいことです。


inserted by FC2 system