ヘテロジニアス・コンピューティング

From Wikipedia, the free encyclopedia

ヘテロジニアス・コンピューティング (heterogeneous computing) は、異なる種類のプロセッサを組み合わせて構築したコンピュータシステム上で演算を行なうことである。用途に応じて適したプロセッサに処理を分担させることによって全体的な効率を高める[1]

通常、異種的(ヘテロジニアス)なプロセッサ環境では異なる複数の命令セットアーキテクチャ (ISA) を使用する。また、副プロセッサは主プロセッサとは大きく異なるアーキテクチャである。それゆえ、ヘテロジニアス環境向けソフトウェアの開発・実装は異種プロセッサ間の連携で工夫が必要になるなどして難易度が高くなる。

異種CPUトポロジー

一般的にコンピューティングの文脈において[いつ?]異なる命令セットアーキテクチャ (ISA) のことを言及する「異種性」とは、単に異なるマイクロアーキテクチャを持つのではなく(例えば浮動小数点の数値処理はこの特殊例であり異種性と呼ばれることは稀)、メインプロセッサがあるアーキテクチャを持ち、他のプロセッサが別の(普通は非常に異なり、複数の場合もある)アーキテクチャを持つ、ということを意味する。

かつて[いつ?]のヘテロジニアス・コンピューティングでは異なるISAを異なる方法で処理しなければならないことを意味していたが、[いつ?]では例えば、ヘテロジニアス・システム・アーキテクチャ(HSA)システムが存在し[2]、同じ集積回路上などにある複数の種類のプロセッサ(CPUGPUなど[3])を使用する際の(ユーザーにとっての)違いを解消しながら、両者の長所を提供する:CPUでオペレーティングシステムを走らせて従来の直列タスクを実行しながら、汎用GPU処理を行うなど(GPUはよく知られる3Dグラフィックスレンダリングの他に、非常に大きなデータセットに対する数学的に集中された計算を行うことができる)。

モダンなコンピューティングシステムでは製造技術の向上によって以前の個別部品がシステム・オン・チップ (SoC) へと統合されるようになり、異種性のレベルが次第に高まっている[要出典]。例えば多くの新しいプロセッサには他のデバイス(SATAPCIイーサネットUSBRFID無線UARTメモリコントローラ)と接続するための組み込み回路が含まれているほか、プログラマブル機能ユニットやハードウェアアクセラレータGPU暗号コプロセッサ、プログラマブルネットワークプロセッサ、A/Vエンコーダ/デコーダなど)も搭載されている。

最近[いつ?]の研究では、複数のISAにより提供される多様性を利用したヘテロジニアスISAチップのマルチプロセッサが、一番良い同一ISAホモジニアスのアーキテクチャを21%も上回り、23%の省エネと32%のエネルギー遅延積英語版削減が可能であることを示している[4]。AMDが2014年に発表したピン互換のARM / x86 SoC、コードネーム「Project Skybridge」[5]は、ヘテロジニアスISA(ARM+x86)チップのマルチプロセッサが製作中であることを示唆している[要出典]

異種CPUトポロジーのシステムは同一ISAを使用するものの、コア自体が異なった速度のものとなっているシステムのことである[6]。この構成はどちらかというと対称型マルチプロセッサに似ている(このようなシステムは技術的には非対称型マルチプロセッサ英語版に当たるものの、コアの役割やデバイスアクセスには違いが存在しない)。

このようなトポロジーの一般的な使用はモバイルSoCの電力効率を向上させることにある。ARMのbig.LITTLEはその典型例であり、高速で高消費電力なコアと低速で低消費電力コアが組み合わされている[7]A10以降のApple Siliconも同様の構成のARMコアで作られている。x86ではAMDのZen4, Zen4cやIntelのAlder Lake[8]がこれに該当する。

プラットフォームの例

ヘテロジニアス・コンピューティングのプラットフォームは、ハイエンドサーバーと高性能計算機から携帯電話やタブレット用の低消費電力の素子まで、あらゆる領域で使用される。SoCによる実装以外にも、例えばCPUGPUを搭載した汎用コンピュータはヘテロジニアス・コンピューティング環境であると言える。たとえSoCであっても、異種プロセッサのメモリ空間が統合されているものもあれば、統合されていないものもある。

プログラミング環境の例

脚注

関連項目

Related Articles

Wikiwand AI