並列処理とは
並列処理とは、複数の命令やタスクを同じ時刻に独立して実行し、処理時間を短縮する考え方です。複数のCPUを載せるマルチプロセッサ、1つのCPUに複数のコアを持つマルチコア、空いた回路を活用する同時マルチスレッディング(SMT)などで実現します。
イメージは、作業を小さく分けて人数を増やし、同時に進めることです。画像や動画を領域ごとに計算したり、Webの多数リクエストを複数コアで処理したりします。科学計算や機械学習でも使われます。
実装では、プログラム側が仕事を並べ替えて分割し、スレッドやプロセスとして実行します。共有データはロックやメッセージで調整し、競合や待ちを避けます。適切な分割と同期設計が、性能を引き出す鍵になります。
利点は、資源の数に応じてスループットが大きく伸び得ることです。ただし並列化できない部分が足かせとなり、必ずしもコア数通りには速くなりません。分割の手間や同期・データ転送の負荷も増えます。なお、並行処理は1つの装置を高速に切り替えて同時に見せる手法で、目的も効果も異なります。
関連用語
PR

