Metaphorical Dream

2009年 09月 26日 ( 1 )

キューイング

シリーズ化してる感がある、今さらかよ!なネタですいません。

QoS技術におけるポリシングやキューイング&スケジューリングを深く掘り下げ中。

事の発端は、
他の人が設計&設定したConfigにミスがあり、
現場での作業が中断した(いわゆるトラブル発生の)ため、
 1.そもそもどのような意図で設計されたか?
 2.誤った設定により、どのような挙動が発生するのか?
 3.上記2.による挙動がトラブルの原因と断定できるか?
といったことを、オレが調べなくてはならない状況となったため、
深く深く掘り下げているわけです。

理由は単純で、今の担当がオレだから(笑)

あくまでも「オレに責任は無い」オーラを出しつつも、
「お前がチェックしなかったからだろ?」ライクな雰囲気が
社内で充満していたため、
「オレのスイッチ」が入っちゃいましたwってな状況です。

んで、収穫としては、
 オレのQoSスキルが格段に上がっている。
ことを実感しているわけですが、
さらに、
 他の人って実はあんまりQoSのこと理解してないぞ?
ってことかな。

んまぁ、QoSに限らずなんだけど、今回はQoSに限定すると、
 何かといじくりまわす人は多い。
けど、
設定した内容の詳細動作説明を求められると、
 明快な回答を出せる人が少ない。
っていう気がしてならないw

例えば、キューイングとスケジューリング。
 そもそもキューイングとスケジューリングって、何っすか?
という問いに対して、
厳密に言葉を定義して説明できる人は少ないっぽい。

確かに各種Docを読み解いても、明確な線引きをしているモノは少ない。

例えば、Catalystであれば、

 1.キューへの格納方法
  →どのパケットをどのキューへ入れるか?
  →内部DSCP-CoSマッピングなど
 2.キューでの処理方法
  →キューに入ったパケットにどんな処理をするか?
  →TD,WTD,WREDなどで
 3.キューからの送出方法
  →処理後のパケットをどうやって出すか?
  →WRR,DWRR,SRRなど

と定義した場合、

 A.1&2=キューイング、3=スケジューリング
 B.1=キューイング、2&3=スケジューリング
 C.1&2&3=キューイング

といった具合に説明の仕方がDocによりマチマチだったりするから、
かなり解り難い or ごっちゃになり易い。

 A.個人的には一番しっくりくる説明かなと。
 B.1のみがキューイングっていうのは、ちょっと怪しいぞ。
 C.何とも言えないっす(^^;
  なぜなら、
   ・QoSにおけるキュー(queue)
  という観点で解釈すると、ちょっぴり乱暴過ぎる感がある。
  でも、
   ・プログラミングにおけるキュー(queue=待ち行列)
  という観点で解釈すると、むしろ正しいから。

どこで何をしているか?が解ってくれば、そんなに難しくない気がする。

「気がする」というのは、オレの目で見て、手で操作して、
想定した動作の全てを確認しきれていないから。

だって、エンジニアなら、
他人の検証結果を100%信用してないわけじゃないけれど、
他人の検証結果を100%信用して良いわけでも無いからね。

生産性は悪いんだけどさ(^^;

[PR]
by mdesign21 | 2009-09-26 03:14 | Diary