结构推理 一个路由器中的CPU每秒可以处理200万个分组,提供给它的负载是每秒150万个分组。如果从源到目的地的路径包含10个路由噐,那么由CPU排队和服务共花了多少时间?
【正确答案】乍看起来,如果路由器处理1个分组花1微秒的时间,那么它每秒钟就可以处理100万个分组。但实际上往往并非如此,因为由于负载的统计式波动总会有空闲周期。如果CPU需要在每一周期内完成一项工作,那么由于偶然的空闲错过了几个周期,就会产生积累工作总是没有机会去做。 即使地于略低于理论容量的负载,队列中也可能有积累,也会产生延迟。考虑这样一种情况,分组以每秒个的平均到达速率随机地到达,每个分组所需要的CPU时间也是随机的,假定平均处理量是每少个分组。在这样的假定条件下,到达分布和服务分布都是Poisson分布。使用队列理论可以证明,一个分组所经历的平均延迟时间是 在这里,是CPU的利用率。第1个因子是在无竞争条件下1个分组的平均服务时间。第2个因子是由于跟其他流的竞争引起的变慢程度。例如,如果=950 000分组/秒,=1000 000分组/秒,那么,=0.95,每个分组所经历的平均延迟将增加到20倍,在前面举的例子中,就由1微秒增到20微秒。这个延迟时间既考虑了队列时间,也考虑了服务时间。显然,当负载非常低()时,T值接近于。 在本题中,分组/秒,因此。这样根据排队理论,每个分组经历的延迟是空闲系统的4倍。 微秒 0.5×4=2微秒 沿着通路有10个路由器,排队加服务的时间是20微秒。
【答案解析】