組み込みコンピューティングに向けた、ハードウェアアクセラレーションの選択肢SYSTEM DESIGN JOURNAL(6/6 ページ)

» 2016年01月22日 07時00分 公開
[Ron Wilson(Editor-in-Chief, Altera),MONOist]
前のページへ 1|2|3|4|5|6       

メニーコアの浮上

 DSPコアがCPUのような機能を組み込み、GPUが膨大なSIMD能力のために柔軟性を追求する一方で、別のチップアーキテクトたちは第3の方向に向かっています。メニーコアアーキテクトは、DSPチップやGPUより、むしろ超並列スーパーコンピュータを理想と考えています。そのため、メニーコアチップは、完全なメモリ階層をそれぞれ備えた独立したCPUコアの大規模アレイを、広帯域幅インタコネクトネットワークに組み込んだのです。

 Kalrayについては、既に決定性コンピューティングに関連して述べましたが、恐らくこの考え方を示す最も良い例は、第2世代 Xeon Phi デバイスであるKnights Landing(KL)であり、データセンター用サーバボード上でXeon CPUと組み合わせて使用するKLは、力の誇示です。

 マルチダイパッケージ内の1つのダイは36個のCPUタイルで構成され、各タイルは2個のx86 Atom由来CPU、2個のベクトルユニット、1MB L2 キャッシュ、およびコヒーレンシコントローラーを備えています。ダイはDDR4 DRAMポートも備えています。さらに、パッケージには16GBのHybrid Memory Cube由来の高速マルチチャネルDRAM (MCDRAM)の他、インテルのパッケージ間インタコネクトファブリックであるOmni-Path用のコントローラーが2チャネル搭載されています。

 当初のXeon Phiデザインから一転して、KL内のCPUコアはXeon CPU完全互換で、単独でブートし、Xeonコードを実行することが可能です。この新しいデバイスでは、メモリアーキテクチャも変更されています。

 各計算タイルはL2キャッシュを備えており、合計36個のL2は全て2Dオンチップメッシュを介して、アグレッシブなコヒーレンシプロトコルを使用して接続されています。これによって、全体として高度な可変レイテンシを持つ巨大仮想キャッシュを形成します。このL2アレイは、サイズとレイテンシのトレードオフで細分することが可能です。また、インパッケージMCDRAMをL3またはメインメモリの一部として使用することができます。

 KLのプログラミングモデルには単純な面と複雑な面があります。単純な面は、コアごとに512bit AVX2 ベクトルコプロセッサを備え、全てのコアが広帯域幅L3キャッシュおよびメインメモリを共有する、36個の独立したXeon デュアルコアCPU の集合にすぎないことです。多くのXeonコア上で動作するコードであれば、KL上でも動作するはずです。

 複雑な面は、KLから高い使用率を引き出すにはスレッド設計をかなり慎重に行う必要があることです。データ移動のレイテンシの影響を抑えるために、CPUコアは最大4つのアクティブスレッドをサポートしており、各スレッドはコアのリソースをフルに利用できます。しかし、L2ミスによるワーストケースのレイテンシを(もしかすると想定範囲内のレイテンシでも)吸収するには、4スレッドでは十分ではありません。

 アプリケーションが十分な数のスレッド(理想を言えば288スレッド)に対応している必要があるだけでなく、頑固なプログラマーであれば、スレッド間でデータを共有する際のL2間転送レイテンシを最小限に抑えるため、どのスレッドをどのコアで処理するかにまで注意を払う必要があります。さらに、L3レイテンシと、MCDRAM およびメッシュパスの競合を最小限に抑えるため、MCDRAMの動作とメッシュ内の位置を考慮することも必要です。そして、DRAMチャネルの効率的使用の確保が必要であることは言うまでもありません。

豊かさがゆえの困惑

 Hot Chipsで発表された選択肢は、いずれも先進的なエンベデッドシステムにおける並列化可能な計算を高速化するためのコンパクトで、潜在的に省エネルギーである方法を示しています。しかし、高いコンピューティング密度を達成する上で妥協しなければならない点がそれぞれ異なります。

 結果として、使用可能なALU数、ALU、汎用コンピューティング、メモリ帯域幅の間のバランスなど、多くの重要な点でアプローチが異なり、そして何よりも要求される性能、エネルギー効率、および決定性の達成に必要なプログラミングモデルが異なります。単純なCプログラムとして始めたものの、多変数最適化が交錯する状況に陥り、ハードウェア記述言語への険しい挑戦が必要になるかもしれません。

 どのアプローチが最も困難なのかは、当面、分かりません。従って、与えられた選択肢の全てを検討することがこれまで以上に重要になっています。

(本稿はSYSTEM DESIGN JOURNALに掲載された「Hardware Acceleration for Embedded Computing」の翻訳です)


前のページへ 1|2|3|4|5|6       

Copyright © ITmedia, Inc. All Rights Reserved.