問題本文
並列処理の説明として,適切なものはどれか。
選択肢
- ア.一連の処理を同時に実行できる処理単位に分け,複数のCPUで実行すること
- イ.関連する複数の処理を一つの処理単位にまとめて実行すること
- ウ.ビジネスロジックやデータベース処理はサーバ側で行い,ユーザインタフェース処理はクライアント側で行うこと
- エ.一つのCPUの処理時間を短い単位に分割し,複数のアプリケーションソフトに順番に割り当てて実行すること
正解
ア. 一連の処理を同時に実行できる処理単位に分け,複数のCPUで実行すること
解説
並列処理(Parallel Processing)は一連の処理を同時に実行できる処理単位に分割し,複数のCPU(または複数コア)で同時に実行することで処理時間を短縮する方式である. スーパコンピュータ・GPUによる大規模並列計算・マルチコアCPUなどで典型的に用いられる. 一方,バッチ処理は複数処理をまとめて一括実行する方式,クライアントサーバはUIと業務処理を役割分担する分散処理,タイムシェアリングは1台のCPUの時間を細かく分割して複数アプリに割り振り疑似的に同時実行する方式で,それぞれ並列処理とは異なる別の処理形態である. 並列処理とタイムシェアリングは見え方は同時実行で似ているが,物理的に複数のCPUを使うかどうかが本質的な違いとなる点に注意.
選択肢ごとの解説
- ア.正しい. 一連の処理を同時に実行できる処理単位に分け,複数のCPUで実行するのは並列処理の定義そのものであり,本問の説明に合致するため. マルチコアCPUによる並列処理や,分散コンピューティング・スーパコンピュータでの大規模並列計算の基本的な考え方を示している処理方式の説明である.
- イ.誤り. 関連する複数の処理を一つの処理単位にまとめて実行するのはバッチ処理(一括処理)に近い説明で,並列処理ではない. 給与計算や月次集計などある程度の処理を一気に実行する処理形態で,複数CPUでの同時実行という並列処理の本質的特徴とは異なる別形態の処理に位置付けられる.
- ウ.誤り. ビジネスロジック・データベース処理はサーバ側で行い,ユーザインタフェース処理はクライアント側で行うのはクライアントサーバシステム(分散処理アーキテクチャ)の説明である. 役割分担型のシステム構成を表す用語で,並列処理(複数CPUでの同時計算)とは概念のレイヤが異なる別の方式である.
- エ.誤り. 一つのCPUの処理時間を短い単位に分割して複数のアプリケーションソフトに順番に割り当てて実行するのはタイムシェアリング(時分割処理)システムの説明である. 単一CPUでの疑似的な同時実行であり,物理的に複数のCPUで同時実行する並列処理とは本質的に異なる方式である.
ITパスポート 2016年 (平成28年 秋期) の過去問一覧へ戻る・問94