令和元年度秋期 応用情報技術者試験 午前 問15
1 件のデータを処理する際に,読取りには 40 ミリ秒,CPU 処理には 30 ミリ秒,書込みには 50 ミリ秒掛かるプログラムがある。このプログラムで,n 件目の書込みと並行して n+1 件目の CPU 処理と n+2 件目の読取りを実行すると,1 分当たりの最大データ処理件数は幾つか。ここで,OS のオーバヘッドは考慮しないものとする。
- ア 500
- イ 666
- ウ 750
- エ 1,200
解答・解説を見る
正解:エ
AI解説
パイプライン処理により、読取り(40ms)・CPU処理(30ms)・書込み(50ms)の3工程が並行して実行される場合、ボトルネックとなるのは最も時間のかかる工程(書込み50ms)であり、これが処理間隔を決定する。1分(60,000ms)をこの間隔で割ると最大処理件数が求まる。 ア: 500件は、パイプライン化を考慮せず3工程の合計時間(120ms)をそのまま処理間隔として計算した場合などに生じる誤答である。 イ: 666件も、正しいボトルネック工程(50ms)ではなく別の時間(例えば90ms)を基準に計算した場合に生じる中間的な誤答である。 ウ: 750件は書込み時間ではなくCPU処理や読取り時間を誤って処理間隔として採用した場合に生じる誤答である。 エ: 最も時間のかかる書込み工程(50ms)が処理間隔を決定し、60,000ms÷50ms=1,200件となるため、これが最大データ処理件数として正解である。 💡 パイプライン処理の最大スループットは「合計時間」ではなく「各工程のうち最も遅い工程(ボトルネック)の時間」で決まる点を必ず確認する。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。