平成25年度秋期 応用情報技術者試験 午前 問15
1件のデータを処理する際に、読取りには40ミリ秒、CPU処理には30ミリ秒、書込みには50ミリ秒掛かるプログラムがある。このプログラムで、n件目の書込みと並行してn+1件目のCPU処理とn+2件目の読取りを実行すると、1分当たりの最大データ処理件数は幾つか。ここで、OSのオーバヘッドは考慮しないものとする。
- ア 500
- イ 666
- ウ 750
- エ 1,200
解答・解説を見る
正解:エ
AI解説
正解はエ(1,200件)。読取り40ms・CPU処理30ms・書込み50msの3工程をパイプライン的に並行実行すると、定常状態では最も時間の掛かる工程(ボトルネック)である書込み50msごとに1件の処理が完了する。よって1分間の最大処理件数は60,000ms÷50ms=1,200件となる。 ア: 500は並行処理せず逐次実行(40+30+50=120ms/件)した場合の60,000÷120=500件である。 イ: 666は読取り+書込み(90ms)を1件当たり時間とした誤計算に相当する値である。 ウ: 750は読取り40msと書込み50msの一部を組み合わせた80msで割るなどの誤計算に相当する値である。 エ: 正しい。ボトルネックの50ms間隔で完了するため60,000÷50=1,200件である。 💡 パイプライン処理のスループットは「最長工程の時間」で決まる。工程時間の合計で割るのは逐次処理の場合であり、並行実行なら最大値で割る、と使い分ける。
出典:平成25年度 秋期 応用情報技術者試験 午前 問15 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。