へいれつしょり
並列処理
Parallel Processing
複数のプロセッサやコアを用いて、一つの大きな処理を分担し、同時に実行することで処理時間を短縮する技術です。計算能力の向上だけでなく、システムの信頼性や応答性の改善にも寄与します。
詳しい説明
並列処理とは、複数のプロセッサやコアを用いて、一つの大きなタスクを分割し、同時に実行することで処理時間を短縮する技術です。計算能力を飛躍的に向上させるため、科学技術計算や大量のデータ処理において不可欠な考え方です。コンピュータの性能向上が、単一プロセッサの高速化から、この並列化へとシフトしてきた歴史があります。
この仕組みを実現するには、タスクを独立した複数の単位に分け、それぞれを異なる資源で処理させる設計が必要です。例えばマルチコアプロセッサでは、各コアがOSから割り当てられたスレッドを同時に処理します。分散処理システムでは、ネットワーク経由で複数のコンピュータが協力して一つの計算を完了させます。リソースを有効活用することで、全体の実行時間を大幅に短縮できます。
混同しやすいのは、順を追って行う直列処理や、一つのCPUが高速に切り替えて実行する時分割処理です。並列処理は物理的に同時に実行する点が異なります。また、全てのタスクを並列化できるわけではなく、前の処理結果を待たなければならない箇所は直列にならざるを得ないため、並列化の効率には限界がある点も試験のポイントです。
試験で問われること
基本情報技術者試験
- アムダールの法則に基づき、逐次処理部分の割合が並列化の恩恵を制限することを理解します。
- マルチコアCPUや分散コンピューティングにおける、負荷分散の仕組みを把握します。
- 直列処理との違いを明確にし、タスクの依存関係によって並列化の可否が決まる点を押さえます。