世界のスーパーコンピュータとそれを動かす人々


4月 10, 2015

インテルのJames Reindersが並列プログラミングとMICを語る

HPCwire Japan

Tiffany Trader

2015年1月30日にカリフォルニア州サニーベールのColfax Internationalの本社において、インテルの並列コンピューティングの学者であるJames Reindersが、Colfax Internationalの主要なHPC研究エンジニアであるVadim Karpusenkoと対面し、未来の並列プログラミングとMICアーキテクチャ製品に関する進んだ議論を行った。インテル社でのディレクターでありチーフ・エヴァンゲリストとして、Reindersはハードウェアの最大性能を引き出す方法についてのインテルのメッセージを伝える責任があるのだ。

「インテルでは多くの機能を持った素晴らしい製品を作っていますが、課題はどのように使うか説明する方法、それを支援するツールをサポートするために標準を取り入れる方法、そしてソフトウェア開発者を訓練する方法です。」と大使的な役割のReindersは語っている。

今日のメニーコア時代につながった動きは2005年に遡る。クロック速度を上げるようなCPU性能を上げる従来のアプローチは壁にぶつかっており、チップメーカーはハイパースレディングやマルチコアアーキテクチャへ移行することで失われた性能向上を補ってきた。しかし、ハードウェアの変更は追加のコアを活用することができるソフトウェア無しでは実りはないのだ。これがアルゴリズムとアプローチを再考することを必要とした、とReindersは言う。

この50分間のビデオの中でReindersは、インテルのMIC(Many Integrated Core)のアーキテクチャを最初の世代のXeon Phi (Knights Corner)からKnights Landing(KNL)の差し迫っている出荷、そして予測されている第三世代製品であるコードネームKnight Hill (KNH)までの道筋を評論している。コンセプトから製品になるまでの設計には何年も掛かっているとReindersは言うが、Knights Landingにおける作業はほぼ完了しており、また第三世代のXeon PhiであるKnight Hillの仕事をしているチームがあることを認めている。彼はまた、基盤となるプロセス技術について興味ある詳細を提供している。

「私達は袖の上で多くの技術革新をしており、私達が間違いなく確認したひとつは[Knight Hill]が次世代のプロセス技術上にあることです。」とReidersは明らかにしている。「Knights LandingがXeon Phiとしては最初となる14nmでやってくることを楽しみにしています。Knights Hillは10nmプロセスとなり、さらに高密度、高性能、電力効率と機能をもっているでしょう。私共がコアに何を行ったか見るには待つ必要があります。しかし、これはインテルアーキテクチャであるx86デバイスのコレクションですから、標準とインテルアーキテクチャに対する高レベルでの互換性があるプログラミングの素性を進めていきます。」

Rendersが本当に言いたいのは、Phiチップが高度並列化コードで劇的に性能向上できるように設計されているということだ。

「MICアーキテクチャは…私達がその上で並列プログラムを実行することを仮定してチップを設計した際のアプローチなのです。」と彼は述べている。「それが本当に他の製品と区別しているところなのです。可能な限り高速に並列プログラムを動かすように最適化しているので、並列でないプログラムを走らせると絶対に酷いことになります。反して、Xeon、CoreプロセッサやAtomプロセッサのような通常のプロセッサは、実世界とバランスを取るように設計されています。これらは並列プログラムを書いて利益を得ることができるようになっていますが、またタブレットやデスクトップなどで見られるサーバワークロードやマルチ・タスキングのワークロードのような事も処理するように設計されているのです。」

「MICアーキテクチャについては、もし私達が窓からそれを投げ捨てて、プログラマーが並列コードを我々に投げつけるだけであると知って私達が設計したら、彼らが現在のXeon Phiの61コアすべてを活用しようとしていることを知って設計したとしたら、もしシリアルで並列でないプログラムの面倒を見ることができる機能のいくつかを取り除くことができるので、デバイスにもっとコアを置くことができることが分かったとして設計したとしたらどうなるでしょう。このように異なる設計の視点で設計しているので、エンジニアとしては、それが私を刺激しており、それがMICアーキテクチャのすべてなのです。」

「インテルでは、互換性を保つためのアプローチを取りましたので、真実はx86チップでのSMPクラスタであり、実際には多くのコア上にあるインテルアーキテクチャであり、そして唯一我々が諦めたことは、シリアルのワークロードをうまく動作させるようには設計していないことです。; 私達は皆さんが並列ワークロードを実行すると仮定して設計し、もちろんテクニカルコンピューティングとHPCに自然に適合しますが、携帯電話やタブレットでは並列のレベルがそこまでないので、そのようなものでは直ぐには使われないでしょう。」

1. James Reindersとインテルでの彼の役目 – 00:47
2. 並列プログラミングとコードの近代化が何故重要か? – 01:49
3. MICアーキテクチャとXeon Phiコプロセッサの概要– 04:03
4. MICアーキテクチャに適合するアプリケーションのタイプは?– 07:16
5. MICアーキテクチャへのコードの移行方法は? – 09:58
6. Knights Landing最新機能– 15:24
7. Kngihts Landingのチップ設計の詳細– 19:54
8. 第三MIC世代 – Knights Hill – 21:16
9. コードの未来を試験する方法は?– 23:15
10. KNLでの高帯域幅メモリ– 27:35
11. James Reinders の本の詳細– 29:59
12. 並列プログラミングの将来– 34:37
13. 新並列プログラミング言語とは?– 38:16
14. 並列ライブラリの将来– 40:01
15. 並列プログラミングの学習方法は? – 45:22
16. Colfax開発トレーニング. – 48:20