組み込みコンピューティングに向けた、ハードウェアアクセラレーションの選択肢:SYSTEM DESIGN JOURNAL(6/6 ページ)
組み込みコンピューティングを加速させるハードウェア・アーキテクチャとは何でしょうか。DSP?GPU?それともメニーコアでしょうか。どのアプローチが最も適するのかを考察します。
メニーコアの浮上
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プログラムとして始めたものの、多変数最適化が交錯する状況に陥り、ハードウェア記述言語への険しい挑戦が必要になるかもしれません。
どのアプローチが最も困難なのかは、当面、分かりません。従って、与えられた選択肢の全てを検討することがこれまで以上に重要になっています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- FinFET革命がコンピュータアーキテクチャを変える
FinFETの登場により、ムーアの法則はまだ継続される見通しです。ですが、それで全てが解決するわけではありません。FinFETの登場が、大きなSoCを自律的な機能ブロックに分割するという方向に導く結果となるでしょう。 - サブシステムIPがチップの境界を越える
サブシステム規模のIP(サブシステムIP)はSoCはもちろん、FPGAにまでも影響を与えています。素晴らしい取り組みですが、さまざまな注意点も存在します。スムーズな実装を行うための4つの注意点について述べます。 - 畳み込みニューラルネットワークの使い方、分かりますか?
畳み込みニューラルネットワークとは何でしょうか。学問の世界から現実の世界に登場しつつあるこれは、さまざまな組み込みシステムに利用される可能性が高く、大いに関心を持つべきです。 - 組み込みにおけるコンピュータビジョンを整理する
画像認識(コンピュータビジョン、マシンビジョン)の需要は高まっており、その方法はさまざまです。画像による入力を有用なものとする実装方法について分類と整理を試みます。 - モノのインターネットを再考する
IoTがその現実性について語られるようになった2015年、その基本概念を再考する機運が高まっています。「センサー」「仮想化」「フォグ」などの観点から、IoTを再考してみましょう。