複数のクライアントから接続されるサーバがある。
このサーバのタスクの多重度が2以下の場合,タスク処理時間は常に4秒である。
このサーバに1秒間隔で4件の処理要求が到着した場合,全ての処理が終わるまでの時間はタスクの多重度が1のときと2のときとで,何秒の差があるか。
正答2
解説
正解は2です。
処理要求は1秒間隔で4件届くので、最初の到着を0秒とすると、到着時刻は0秒、1秒、2秒、3秒です。
タスク処理時間は常に4秒で、多重度は同時に処理できる件数を表します。
多重度ごとに、各処理の開始と終了の時刻をたどって比べます。
【計算】
多重度1では、1件ずつ順に処理します。
1件目は0〜4秒、2件目は4〜8秒、3件目は8〜12秒、4件目は12〜16秒に処理され、16秒で全て終わります。
多重度2では、2件まで同時に処理します。
1件目は0〜4秒、2件目は到着した1秒から5秒まで処理されます。
3件目は2秒に到着しますが空きがないので待ち、1件目が終わった4秒から8秒まで処理されます。
4件目は3秒に到着して待ち、2件目が終わった5秒から9秒まで処理されます。
全ての処理が終わるのは9秒です。
差は、16秒−9秒=7秒です。
【選択肢別解説】
1:× 6秒の差にはなりません。
多重度2の終了時刻は9秒で、多重度1の16秒との差は7秒です。
2:○ 計算のとおり、16秒と9秒の差で7秒です。
3:× 8秒は、多重度2なら半分の8秒で終わると考えた場合の差です。
実際には到着が1秒ずつずれるため、多重度2の終了は9秒になります。
4:× 9秒は、多重度2のときに全処理が終わる時刻そのもので、差ではありません。
【ポイント】
処理件数と処理時間の問題は、時刻を横軸にした簡単な図を描くと間違えにくくなります。
到着時刻と空き状況の両方を見て、各処理の開始時刻を決めることがポイントです。