可能性と複雑性に満ちあふれた「AMP」へようこそ:SYSTEM DESIGN JOURNAL(4/5 ページ)
「AMP」(非対称型マルチプロセッシング)は今まさに注目すべき技術ですが、AMPとは何であり、なぜ必要なのでしょう。何より、組み込みシステムにおいてAMPの実装にはどんな利点や課題があるのでしょうか。
データの重要性
AMPシステムの実装に際して最も重要な決定の1つは、プロセッサをシステムメモリ階層にどう適合させるかです。
この決定は、主に各種プロセッサ上のタスクがデータにアクセスする方法に基づくべきです。SMPシステムの場合、プロセッサ上で実行される全てのタスクが1つの共有メモリスペースへ同様にアクセスするキャッシュコヒーレントな共有メモリ構成が標準の選択です。一方で一部のタスクが特定のプロセッサ上でのみ実行されるAMPシステムでは、多くの場合、メモリアーキテクチャを個々のタスクのアクセスパターンに合わせて調整する機会があります。
この調整は、タスクによるメモリの使用方法、特に参照の局所性、アクセスの経時変化、必要な帯域幅によって決まります。通常の共有メモリシステムの場合、L1またはL2データキャッシュに十分に収まる比較的小さい隣接データセットをタスクが受け取り、しばらくそのセットを集中的に処理した後、別の隣接データセットに移るのが理想的です。このパターンにより、ほぼ全てのロード/ストアでローカルキャッシュにヒットさせることが可能です。
残念ながら、多くの重要なアルゴリズムは決して協調的ではありません。ある最近の論文では、ビッグデータ解析タスクにおけるキャッシュミス率は90%以上に及ぶ可能性があると推定されています。また、非常に大規模なテーブルまたはリンクリストを使用するアプリケーションも、極めて散発的なアクセスパターンを示す可能性があります。
これらの場合、タスクを実行するプロセッサ専用の大容量ローカルメモリを搭載するのが理にかなうこともあります。このメモリはキャッシュとして管理できますが、多くの場合、ソフトウェアで明示的に管理した方がよいかもしれません。
時として、キャッシュは平均アクセス時間を短縮することが全く出来ないことがあり、その場合、メモリアクセスレイテンシを隠す方法(深いマルチスレッディングなど)を他に探す必要があります。なお、そうしたアイデアは、ローカルメモリとしてプロセッサに直接接続された大容量フラッシュアレイなど、新たな概念につながります。
特殊なケースとして、データが絶えずタスクにストリーム入力され、一連の短い操作でのみ使用された後、受け渡されたり、フラッシュされたりする場合が考えられます。そうした状況は、ネットワークパケット交換、信号処理、制御システムへの伝達関数の実装などにおいて発生することがあります。
最善の実装はダイレクトメモリアクセス(DMA)をプロセッサのローカルメモリに直接、ストリーム入出力することかもしれません。そうすれば、メインCPUとメモリをバイパスし、ストリーミングタスクをメインCPUからほぼ独立して実行することが可能になります。
そこで生じる最後の疑問は、AMPプロセッサはどのようにして外部と関わるのかということです。プロセッサは、少なくとも初期化および例外回復時にI/Oレジスタコントロールおよびステータストランザクションが行えるよう、システムとI/Oバスで接続されるものと考えられます。
ストリーム処理の場合(つまりプロセッサが実際のイベントを割り込み駆動型でリアルタイム処理している場合)、そのプロセッサを外部と直接I/O接続できます。しかし、AMPシステムにおける割り込みやI/Oトランザクションは、どちらかと言えば中央の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)を評価・統合する方法に変化が見られます。