2010-11-23 5 views

答えて

5

muti-coreは一種の並列プログラミングです。特に、処理単位が分散されておらず、むしろ共通のメモリ領域を共有し、必要であればMISD設定のようなデータを共有することもできるMIMDの種類です。マルチコアの設定ではあるレベルのキャッシュを共有できるため、異なるコア上のCPUよりも効率的に連携することができるので、マルチプロセッシングからは敬遠することもあります。

一般的な並列プログラミングには、SIMDシステム(GPUなど)と分散システムも含まれます。

1

違いはアプローチではなく、ソフトウェアが実行されているハードウェアだけです。並列プログラミングは問題を抱えており、作業負荷を並列に処理できる小さな部分(分割および征服のタイプの問題など)または互いに独立して実行できる機能に分割しています。そのソフトウェアをマルチコアのハードウェアに置き、異なるコアで動作するようにOSによって最適化されます。これにより、パフォーマンスを向上させることができます。これは、並列処理を行うために作成する各スレッドが、単一のプロセッサ/コアでCPUサイクルを消費することなく実行できるようになるためです。

+0

ありがとうございます。そうですか。私があなたを正しく読めば、あなたは類推を使うことができれば、マルチコアプログラミングは並列プログラミング技術の実装であると言っています。それは正確でしょうか? –

+0

マルチコアプログラミングは、マルチコアのハードウェア上でマルチスレッドプログラムを実行することを単に指す誤った名前です。コードが複数のスレッドを持つシングルプロセッサの世界で動作する場合は、マルチコア/プロセッサ上で実行することで追加の利点が得られます。 – Achilles

0

マルチコアシステムは、並列システムのサブセットです。異なるシステムにはそれぞれ異なるメモリアーキテクチャがあり、それぞれに独自の課題があります。 1つのシステムがキャッシュ一貫性をどのように処理しますか? NUMAが関与しているか等

関連する問題