スポンサーリンク

【応用情報技術者試験】待ち行列を5分で理解!

待ち行列は、到着する仕事と処理する能力の関係から、処理待ちや応答時間を分析する考え方です。レジ・プリンタ・サーバーの処理待ちが例になります。ここでは、窓口が一つのM/M/1モデルの基本を扱います。

到着率・サービス率・利用率

記号意味例
λ単位時間当たりの平均到着数8件/秒
μ窓口が連続して処理できる平均件数10件/秒
Ts=1/μ平均サービス時間0.1秒/件
ρ=λ/μ窓口の利用率0.8=80%

サービス率は、空いている時間も含めた実測の完了件数とは区別します。到着率とサービス率の時間単位をそろえて計算しましょう。

M/M/1の前提

基本のM/M/1では、到着がポアソン過程に従い、サービス時間が指数分布に従い、窓口は一つです。ここでは待ち場所や到着母集団に上限を設けず、先着順(FIFO)で処理し、ρ<1の定常状態を考えます。待ち行列には別のモデルや優先度付きの処理もあり、すべての処理待ちに同じ式を使えるわけではありません。

待ち時間と応答時間を区別

量何を含むかM/M/1の平均値
Wq処理開始までの待ちρ×Ts÷(1−ρ)
W待ち+サービス時間Ts÷(1−ρ)=Wq+Ts

λ=8件/秒、μ=10件/秒なら、ρ=0.8、Ts=0.1秒です。Wq=0.8×0.1÷0.2=0.4秒、W=0.1÷0.2=0.5秒になります。求めるものが「待ち」か「処理を含む応答」かを確認してください。

利用率が高いと待ちが増える

平均サービス時間を0.1秒に固定したとき、利用率50%ならWq=0.1秒、80%なら0.4秒、90%なら0.9秒です。利用率と待ち時間は単純な比例関係ではありません。基本のM/M/1ではρが1以上になると、有限の平均待ち時間を持つ定常状態は成立しません。

改善を考えるときの注意

処理能力を上げる、負荷を減らす、窓口を増やすなどが候補になります。ただし、複数窓口のM/M/cへ移る場合は利用率や待ち時間の式も変わります。ボトルネックは全体の処理を制限している箇所であり、CPUだけを速くしても改善しない場合があります。

確認問題

到着率8件/秒、サービス率10件/秒の利用率と、上記M/M/1の平均応答時間はいくつでしょうか?

解答・解説を見る

利用率は8÷10=0.8(80%)。平均サービス時間は0.1秒なので、平均応答時間は0.1÷(1−0.8)=0.5秒です。待ち時間だけなら0.4秒です。

M/M/1の計算を続けて練習

無料noteでは、M/M/1の考え方を基礎から解説しています。利用率を求めた後に、待ち時間・応答時間の式を使い分ける練習へ進みましょう。

無料note:待ち行列とM/M/1を学ぶ

ほかの分野は、資格・目的別のnote教材ナビから選べます。

コメント