並行性と並列性の違い
コンテンツ
並行性と並列性は関連する用語ですが、同じではなく、多くの場合、類似の用語と誤解されています。並行性と並列性の決定的な違いは、 並行性 同時に多くのことを処理する(同時性の錯覚を与える)か、本質的にレイテンシを隠す同時イベントを処理することです。それどころか、平行度 速度を上げるために同時に多くのことを行うことです。
並行して実行されるプロセスは、同時に実行される場合を除き、同時に実行される必要がありますが、同時に実行されるプロセスは同時に処理されないため、並行することはできません。
- 比較表
- 定義
- 主な違い
- 結論
比較表
比較の根拠 | 並行性 | 平行度 |
---|---|---|
ベーシック | これは、複数の計算を同時に管理および実行する行為です。 | これは、複数の計算を同時に実行する行為です。 |
達成した | インターリーブ操作 | 複数のCPUを使用する |
利点 | 一度に達成される作業量の増加。 | スループットの向上、計算の高速化 |
活用する | コンスイッチング | 複数のプロセスを操作するための複数のCPU。 |
必要な処理ユニット | おそらくシングル | 複数 |
例 | 複数のアプリケーションを同時に実行します。 | クラスターでのWebクローラーの実行。 |
並行性の定義
並行性 を減らすために利用される技術です 反応時間 単一の処理ユニットを使用するシステムの 順次処理。タスクは複数の部分に分割され、その部分は同時に処理されますが、同時には処理されません。並列処理の錯覚を引き起こしますが、実際にはタスクのチャンクは並列処理されません。同時実行性は インターリーブ CPU上のプロセスの操作。つまり、制御がプロセスの異なるスレッド間で迅速に切り替えられ、切り替えが認識できないcon切り替えを介して。それが並列処理のように見える理由です。
並行性が与える マルチパーティアクセス 共有リソースにアクセスし、何らかの通信を必要とします。有益な進歩をしているときにスレッドで動作し、スレッドを停止し、有益な進歩をしていない限り別のスレッドに切り替えます。
並列処理の定義
平行度 を増やす目的で考案されました 計算速度 複数のプロセッサを使用します。これは、異なるタスクを同時に同時に実行する手法です。計算の高速化とスループットの向上のために、複数の独立したコンピューティング処理ユニットまたはコンピューティングデバイスが並行して動作し、タスクを実行します。
並列処理により、あるプロセスのCPUおよびI / Oアクティビティが別のプロセスのCPUおよびI / Oアクティビティとオーバーラップします。一方、並行性が実装されると、1つのプロセスのI / Oアクティビティが別のプロセスのCPUプロセスと重複するため、速度が向上します。
- 同時実行とは、複数のタスクを同時に実行および管理することです。一方、並列処理とは、さまざまなタスクを同時に実行することです。
- 並列処理は、マルチプロセッサシステムのような複数のCPUを使用し、これらの処理ユニットまたはCPUで異なるプロセスを実行することにより得られます。対照的に、CPU上のプロセスのインターリーブ操作、特にconの切り替えにより、同時実行が実現されます。
- 並行処理は単一の処理ユニットを使用して実装できますが、これは並列処理の場合には不可能であり、複数の処理ユニットが必要です。
結論
要約すると、並行性と並列性はまったく同じではなく、区別できます。同時実行には、さまざまなタスクの実行と実行が含まれます 重複する時間。一方、並列処理では、異なるタスクが同時に実行され、同じタスクを実行する傾向があります 起動 そして エンディング 時間.