並行して実行されるプロセスは、それらが同じ瞬間に操作されない限り並行である必要がありますが、同時に実行されるプロセスは、同時に実行されることはないため並列になることはできません。
比較表
比較基準 | 並行性 | 並列処理 |
---|---|---|
基本 | それは同時に複数の計算を管理し実行する行為です。 | それは複数の計算を同時に実行する行為です。 |
達成した | インターリーブ操作 | 複数のCPUを使う |
利点 | 一度に達成される作業量の増加。 | 改善されたスループット、計算速度の向上 |
利用する | コンテキスト切り替え | 複数のプロセスを操作するための複数のCPU |
必要な処理装置 | おそらくシングル | 複数 |
例 | 複数のアプリケーションを同時に実行する | クラスター上でWebクローラーを実行しています。 |
並行性の定義
並行性は、単一の処理装置または順次処理を使用してシステムの応答時間を短縮するために使用される技法です。 タスクは複数の部分に分割され、その部分は同時に処理されますが、同時には処理されません。 それは並列性の錯覚を生み出しますが、実際にはタスクの塊は並列に処理されません。 並行性は、CPU上のプロセスのインターリーブ操作、つまり制御がプロセスの異なるスレッド間で迅速に切り替えられ、その切り替えが認識できないコンテキスト切り替えを介して行われます。 それが並列処理のように見える理由です。
並行性は、共有リソースへのマルチパーティーアクセスを付与し、何らかの形の通信を必要とします。 それは、それが何らかの有用な進歩をしているときにはスレッドに働き、それからそれはそのスレッドを停止しそしてそれが何らかの有用な進歩をしていない限りは別のスレッドに切り替える。
並列処理の定義
並列処理は、複数のプロセッサを使用して計算速度を向上させる目的で考案されました。 それは同じ瞬間に異なるタスクを同時に実行する技術です。 これは、計算の高速化を図り、スループットを改善するために、並列に動作しタスクを実行するいくつかの独立した計算処理ユニットまたは計算装置を含む。
並列処理により、1つのプロセス内のCPUおよびI / Oアクティビティと別のプロセスのCPUおよびI / Oアクティビティが重複します。 並行性が実装されている場合は、あるプロセスのI / Oアクティビティと別のプロセスのCPUプロセスをオーバーラップさせることで速度が向上します。
並行性と並列処理の主な違い
- 並行性とは、複数のタスクを同時に実行して管理することです。 一方、並列処理とは、さまざまなタスクを同時に実行することです。
- 並列処理は、マルチプロセッサシステムのように複数のCPUを使用し、これらの処理ユニットまたはCPU上で異なるプロセスを操作することによって実現されます。 対照的に、並行性は、CPU上でのプロセスのインターリーブ操作、特にコンテキストの切り替えによって実現されます。
- 並行処理は単一の処理装置を使用して実装できますが、これは並列処理の場合には不可能であり、複数の処理装置が必要です。
結論
要約すると、並行性と並列性はまったく同じではなく、区別することができます。 並行性には、さまざまなタスクの実行と時間の重複が含まれる可能性があります。 一方、並列処理では、異なるタスクが同時に実行され、 開始 時間と終了 時間が同じになる傾向があります。