2013年8月25日日曜日

minstrel の概要

・よくある RSSI を用いたレート制御は、マルチパスを考慮していないため、適切なレートになっていないことがある。 ・minstrel は mac80211 上に実装されているが、もともと MadWifi の一部だった。さらには、博士論文にまでさかのぼる。 ・全レートを試し、あるレートで送信成功ならそのレートを使い、失敗なら使わないようにする。 ・どのレートで送信成功・失敗したかの記録を全てとっておき、基本的には送信成功しそうなレートを使っていく。  ときどき、最適と思われるレート以外のレートも使って、送信成功するようになったかの調査を行う。 ・(再送などにより)送信に著しく時間がかかると、Linux カーネルの TCP 実装では次のフレームの送信を遅らせるようになっている。 ・4回再送できるとしたら、再送のレートは次の順序で出す。  最速のスループットが出るレート・2番目に速いスループットが出るレート・もっとも送信成功しやすいレート・基本のレート  ただし、スループットの定義は、(そのレートでの送信成功率)× (そのレート [Mbps]) ・EWMA(指数加重移動平均) により、古い結果より最近の結果を重要視するので、環境の変化に追随できる。