※ ChatGPTを利用し、要約された質問です(原文:平均待ち時間の計算問題【ソフトウェア開発技術者】)
平均待ち時間の計算問題【ソフトウェア開発技術者】
日経の「2006春 ソフトウェア開発技術者完全教本」の中の問題なのですが、初学者の目から見ると答えが明らかにおかしいと思われるのでご質問させて頂きます。
CPUの待ち時間に関するもので、要点を抜き出すと次のような問題です。
---
メールサーバがあります。メールの登録に使用するCPU時間は0.6秒、メールの取り出しに使用するCPU時間は0.4秒です。
このサーバへの処理要求件数は、登録、取り出しともに1時間あたり360回です。
このとき、メールの登録にかかる時間を算出してください。
平均待ち時間はpを使用率として、(平均待ち時間)=(平均サービス時間)*p/(1-p)で与えられるものとします。
---
トランザクションの到着率が(360+360)/(60*60) = 0.2(件/秒)となり、
CPUの平均処理時間が(0.4+0.6)/2 = 0.5 (秒/件)であることから、
使用率が 0.2*0.5 = 0.1 となるところまでは分かります。
しかし、本の解答ではこのあと、
登録の処理時間は0.4秒だから、0.4*0.1/(1-0.1) = 0.0444秒が待ち時間となる、としています。
しかしながら、この解答に従ってしまうと、待ち時間は同じ(同じシステムのキューに並んでいるのだから当然)であるはずのメール取り出しの待ち時間が0.0667秒になってしまいます。これは常識的におかしいと思われます。
平均処理時間として0.5秒を使い、待ち時間は0.5*0.1/(1-0.1)=0.0556、メールの登録にかかるCPU時間0.4秒を加えて0.4556秒を解答とするのが正しいと思われるのですが、いかがでしょうか。
有効数字がなってないという指摘は無しでお願いします(笑)
お礼
ご回答ありがとうございます。 とりあえず日経にメール出してみます。そして謝礼でうっはうは(何