アプリ版:「スタンプのみでお礼する」機能のリリースについて

日経の「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秒を解答とするのが正しいと思われるのですが、いかがでしょうか。

有効数字がなってないという指摘は無しでお願いします(笑)

A 回答 (1件)

おっしゃる通りです。



蛇足ですが、この問題のようにたった2つの処理時間では示された待ち時間の公式は
非常に誤差が大きいです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

とりあえず日経にメール出してみます。そして謝礼でうっはうは(何

お礼日時:2006/02/19 00:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!