可能性と複雑性に満ちあふれた「AMP」へようこそ:SYSTEM DESIGN JOURNAL(1/5 ページ)
「AMP」(非対称型マルチプロセッシング)は今まさに注目すべき技術ですが、AMPとは何であり、なぜ必要なのでしょう。何より、組み込みシステムにおいてAMPの実装にはどんな利点や課題があるのでしょうか。
「AMP」(Asymmetric Multi Processing:非対称型マルチプロセッシング)は、2016年を代表する技術略語の選抜候補リストに載っています。しかし、そもそもAMPとはどのようなもので、なぜ必要なのでしょうか。より有益な疑問として、AMPを組み込みシステムに実装する際、どのような考慮事項や課題があるのでしょうか。
AMPの定義
まずはAMPの定義から始めましょう。対義的な存在である「SMP」(Symmetric Multi Processing:対称型マルチプロセッシング)のシステムは、全てのプロセッサがアプリケーションレベルより下、もしくはほとんど同じであるシステムで、基本的にソフトウェアスタック、インストラクションセット、メモリコンフィギュレーション、CPUハードウェアは同じです(図 1)。
ほとんどのSMPシステムでは、CPUごとに異なるアプリケーションやスレッドを実行し、別のペリフェラルと割り込み要求の接続を行えます。しかし、それ以外は全て同じです。
SMPはデータセンターでよく用いられます。均一性により、何万ものCPUコア間でタスクを割り当てる際に高い柔軟性が得られるからです。組み込みシステムの世界でSMPは、多数のスレッドを並列実行することにより、豊富なタスクの速度を向上させることができます。また、冗長システムで比較または投票回路(voting circuitry、多数決回路)とあわせて使用して信頼性を高めることも可能です。
では、AMPとはどのようなものなのでしょうか。簡単に言えば、AMPシステムはアプリケーションレベルより下がほぼ異なるマルチプロセッシングシステムで、OS、メモリ、またはプロセッシングハードウェアすらも異なることがあります。
非対称型が選ばれる「3つの動機」
SMPは簡潔性とある程度の洗練性を備えています。それを台無しにする理由があるのでしょうか。なぜタスクを特定のプロセッサに縛り付けるのでしょうか。IntelのWindRiver製品ライン担当マネジャーであるMichel Chabroux氏によれば、いくつかの正当な理由があり「AMPの採用例において、ほとんどの場合、目的はタスク間の分離を維持すること」だと言います。
アーキテクトはリアルタイムデッドラインがあるものを含む複数タスクを統合することがあります。その場合、稼働する2つのCPUコアに「一方はLinux、もう一方はRTOS」と別OSの採用を検討します。
別の状況として、コアの物理的な分離が重要な場合が考えられます。レイテンシが重要なタスクを別のコアに移動すれば、システムレベルの割り込みからこのタスクを保護できます。Chabroux氏が提案するよう、自律走行車の安全監視タスクを別のCPUコアで実行すれば、残りのシステムが停止した場合でも、安全監視タスクの継続を確保できるでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 走行距離不安症の数学
ハイブリッドカーやドローンなど、リチウムイオン(Li-ion)バッテリーを動力源とするものは増え続けています。電池切れや発熱、発火といったリスクへの対処は絶対必要ですが、Li-ionの管理は容易ではなく、数学的な手法が欠かせません。 - 錠前が暗示するIoTセキュリティの3要件
IoTの進化は創造的なプロセスと懐疑的なプロセスの2つを無視できない存在まで引き上げました。懐疑的なプロセスの筆頭は、安全性に対する懸念です。物理的な安全と個人情報の安全という両方の安全がなければ、IoTは行き詰まる可能性があります。 - クラウドに生まれる新たなレイヤーの形
IoTやビッグデータコンピューティングの圧力により、クラウドには「層化」とも呼べる現象が起こっています。それはアプリケーションデータフローと実際の帯域幅、そしてレイテンシ制約という競合する課題への対応です。 - ニューラル・ネットワークと力の指輪
指輪物語の「1つの指輪」は全ての指輪を統べる力を持ちました。ではニューラルネットワークは人工知能という力の指輪を統べる、1つの指輪なのでしょうか。 - SoC設計者がIPに関心を持つべきタイミング
SoCが自律走行車やIoTなどの分野に進出しようとしていますが、求められる要件は分野によって大きく異なります。その結果、SoC開発者がIP(Intellectual Property)を評価・統合する方法に変化が見られます。