限界に達したエンベデッド・プロセッサを並列処理で補完する:SYSTEM DESIGN JOURNAL(4/4 ページ)
組み込みシステムの能力を並列処理で補完するアイデアは、身近で現実味を帯びたものとなっています。しかし、その実行に際しては手法の選択が重要な意味を持ちます。OpneMPやOpenCLなどを理解しながら、最適な手法を検討しましょう。
「並列化」をどのように実現するか
では、人手による並列化、OpenMP、OpenCLなどの手法をどう選択すればよいでしょうか(これら以外にも、あまり知られていない別の選択肢もあります)。
最初の質問は当然、検討しているハードウェアで使用できるプラットフォームです。ほとんどのマルチコアSoCで使用できるマルチコアOSは存在しますが、非対称マルチプロセシングをサポートしていないマルチコアOSもあります。従って、必要最小限の機能しか持たない独自のRTOSを作成しなくても、人手による並列化は一般に実行可能です。
OpenMPはほぼ間違いなくタスク並列処理やホモジニアス・マルチコアSoCに最適なソリューションであり、極めて単純なプログラミングモデルを提供します。しかし、OpenMP はスーパーコンピューティングからエンベデッドの世界に移行し始めたばかりです。Texas Instrumentsの「Keystone」シリーズはベンダーがサポートしているようです。ARMが2015年2月にOpenMP アーキテクチャ・レビュー・ボードに参加してプラットフォームの方向性に関する発言機会を得たことは示唆的です。しかし、この2つの事実は、これらの会社のエンベデッド・コンピューティング計画よりも、サーバ業界での戦略と密接に関連しているかもしれません。
ヘテロジニアスシステムでのデータ並列高速化と高い親和性を持つOpenCLは、さらにOpneMPより一足先にエンベデッド・インフラストラクチャに移行しました。CPUとGPUを組み合わせた SoC、DSP SoC、FPGAなどにはOpenCLプラットフォームを提供しているものがあります。そして、これらのチップのボードサポートパッケージがOpenCL実装環境を提供するケースが増えています。
これらのソリューションの中に、レガシーコードの自動並列化を提供するものはありません。業界全体がマルチプロセッシングシステムに有効なデバッグ技法にまだ取り組んでいる最中です。プラットフォームがこれらのデザインを容易にする、と言う人はいません。
しかし、閉じた渓谷を抜け出す方法として並列実行へ移行することは、大量のレガシーコードを新しい命令セットそしてアーキテクチャに移行することよりはるかに容易で、リスクを伴わない可能性があります。その結果、性能が改善され、消費電力が減少する可能性があります。これは検討する価値があるでしょう。
(本稿はSYSTEM DESIGN JOURNALに掲載された「When Your Embedded Processor Runs Out of Steam, Try Parallelism」の翻訳です)
関連記事
- なぜFPGAが注目されるのか、開発ボードに触れて確認する
最近では「FPGAの重要性」について語られる機会が増え、適用事例も増加している。ではなぜ今FPGAなのか。実際の開発ボードでFPGAを学びながら、FPGAへの理解を深めよう。連載で使う「MAX 10 FPGA 評価キット」の読者プレゼントもご用意。 - 「Stratix 10」詳細が発表、“どこでもレジスタ”で性能2倍
アルテラがSoC FPGA「Stratix 10 FPGA & SoC」の詳細を公開した。配線遅延に対処する「HyperFlex」の導入などにより、コア性能2倍、最大70%の消費電力削減を実現する。 - 「MAX 10 FPGA」で極薄パッケージを実現する新技術
TSMCとアルテラは「MAX 10 FPGA」向けに、0.5mm以下(はんだボールを含む)の薄型パッケージを実現する新技術を共同開発した。 - 日本市場については「満足」、米アルテラ幹部が語るSoC FPGA事業の近況
「Cyclone V SoC」で2012年よりSoC FPAGの供給を開始したアルテラ。わずか2年足らずではあるが、日本国内においても多くの企業に利用されている。14nmプロセス「Stratix 10」のテープアウトを控えるが、サポートや周辺環境の整備にも注力する考えだ。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.