Subscribe RSS

Archive for 2月, 2008

回線遅延シミュレーション 2月 29

(大事なことを書くことを忘れていた。回線遅延シミュレーションを安価に行うには、古来、FreeBSD上で動作するDummyNetを使うとか、Linux用だとNISTNetを使うなどがいわれている。いずれも古い話で、NISTNetはカーネル2.6xの上ではコンパイルすらとおらない。そこで)

Linuxにnetemというパッケージが導入されている。その解説訳を書いておく。なお、F君から「リアルのデバイスじゃないと動かないっす」という情報が入っている。

netemはネットワークエミュレーションの機能をネットワーク上のプロトコルテストなどのために提供される。今のバージョンは遅延とパケットロスと順序変更(パケット再送)が可能である。

もし、2.6以上のディストレイビューション(Fedora, OpenSuse, Gentoo, Debian, Mandriva, Ubuntu)であるならば、netemはすでにiproute2の一部としてカーネルに導入されている。。netemカーネルコンポーネントは
Networking –>
  Networking Options –>
    Qos and/or fair queuing –>
      Network emulator
にある。

Netemはtcコマンドでコントロール可能でありiproute2パッケージ内にある。tcコマンドは/usr/lib/tcディレクトリーにライブラリやデータファイルがある。

例:
WANの遅延のエミュレーション
これはもっとも簡単な例で、タンに遅延時間を入れるだけですべてのパケットは遅延する。

# tc qdisc add dev eth0 root netem delay 100ms

ここでpingを打つと100m秒以上に増加しているはずだ。遅延はカーネルのクロック解像度により制限される(HZ).ほとんどの2.4システムでシステムクロックは10m秒きざみの100HZまでの遅延を許している。2.6システムではこの値は構成パラメータにより、100から100hzの範囲で変更できる。

次の例はqdiscを再ロードしないで変更する。
実際のWANのようにばらけた遅延値を示す。

# tc qdisc change dev eth0 root netem delay 100ms 10ms

この設定で、100m秒プラスマイナス10m秒のランダムな遅延を「だいたい」作り出す。

遅延の範囲
一般的に遅延は単一なものではない。散らばり具合は正規分布だったり違ったものだったりするものだろう。netemは単一でない分散をテーブルによって可能である。

# tc qdisc chnage dev eth0 root netem delay 100ms 20ms distribution normal

分布を定義するテーブル(normal, pareto,paretonormal)はiproute2のコンパイルの一部として生成されており、/usr/lib/tc内にある。ユーザーが変更することは可能である。

パケットロス

ランダムにパケットをロスさっせることがtcコマンドでできる。ゼロでない非常に小さい値を設定するとする

2^32 = 0.0000000232%

# tc qdisc change dev eth0 root netem loss 0.1%

これは1%の1/10の確率でパケットをおとす。

同時に別のオプションも設定できる。これは、パケットバーストロスをランダムにシミュレートする。

# tc qdisc change dev eth0 root netem loss 0.3% 25%

これは0.3%のパケットロスと、最後のパケットの確率を25%の確率で加味することで、今の確率を決める。

Probn = 0.25 * Probn-1 + 0.75 * Random

注意:ロスはローカルでおきる(ブリッジやルータ上ではない)つまりロスの検知はより上位のアプリケーションでないと検知できない。これは本来、TCPがデータ再送の原因となるが、あたかもロスしていないかのように働く。もし、プロトコルテストをしたいならば、netemをブリッジやルータ上で動かすべきである。

パケット重複

パケット重複はパケットロスと同じように設定できる。
# tc qdisc change dev eth0 root netem duplicate 1%

ケット破壊
ランダムなノイズをシミュレーションできる(2.6.16以上)。これはパケット内のランダムなオフセットの1ビットを破壊する。

# tc qdisc change dev eth0 root netem corrupt 0.1%

パケット再送要求
再送要求をする方法はふたつある。ひとつ目は、gapを使ってn番目のパケットごとに再送要求する方法である。

# tc qdisc change dev eth0 root netem gap5 delay 10ms

これは5回目(10回目、15回目,,,)パケットはすぐに送られ、他のパケットは10m秒待たされる。結果的に再送要求が起きる。これはベースプロトコルテストには便利である。
二つ目の方法は、より現実に近いreorderパラメータを使う方法である。これは一定のパーセント、パケットの順序エラーが起きる。

# tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

この例は、(50%に関連付けられた)25%のパケットがすぐに送られる、他は10m秒待たされる。netemの当たらしいバージョンではランダムな遅延時間を設けるとパケットの順序がかわり再送要求がおきる。以下は再送要求が起きる例

# tc qdisc change dev eth0 root netem delay 100ms 75ms

もし最初のパケットがランダムな遅延で100m秒(100m秒ベース-0m秒差)となったとする、二番目のパケットが1m秒後に送り出され50m秒(100m秒ベース-50m秒差)、待ったら2番目が先に送りだされる。netemの中にキューされており、スケジュールどおりに送りだされる。

注意:
・ランダムな再送要求は思わぬ結果をもたらすことがある
・再送要求の方法がどれでも、いくらかの遅延は必要である
・遅延時間がパケットが送られる時間より短い場合は再送要求はおきない

レートのコントロール
レートのコントロールはnetemにはそなわっていないが、かわりの方法がある。ここではToken Bucketフィルター(TBF)を使って出力を制限する方法を述べる。

# tc qdisc add dev eth0 root handle 1:0 netem delay 100ms
# tc qdisc add dev eth0 parent 1:1 handle 10: tbr rate 256kbit buffer 1600 limit 3000
# tc -s qdisc L sev eth0
qdisc netem 1: limit 1000 delay 100.0ms
Sent 0 bytes 0 pkts (dropped 0, overlimites 0 )
qdisc tbf 10: rate 256kbit burst 1599b lat 26.6ms
Sent 0 bytes 0 pakts (dropped 0, overlimites 0 )

オプションのバッファと制限がデフォルトより大きいことに注意。
さらなる詳細は別で、

FAQ(めんどくさいので抄訳)
入ってくるトラフィックにはどう使えばいいのでしょうか?
Intermediate Functional Block psedo-deveic(IFG)を使う。このネットワークデバイスは入ってくるパケットをキューするためにある。

# modprobe ifb
# ip link set dev ifb0 up
# tc qdisc add dev eth0 ingress
# tc filter ad dev eth0 parent ffff; protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb0
# tc qdisc add dev ib0 root netem delay 750ms

他の方法としては、イーサのブリッジとして他のマシンをnetemをいれて使うことです。

http://www.linux-foundation.org/en/Net:Netem

Category: Linux  | Leave a Comment
崎陽軒のシウマイ 2月 28

Siumai先日、1人で新幹線に乗ったときに崎陽軒のシウマイを買うことにした。いつもは500円くらいの赤い箱を買うのだが、今回、「特製シウマイ」という箱を発見した。こいつは、12個で1300円する。赤箱と値段が段違い!が、1人で電車に乗ってるのでヒマだし、いいか、と買ってみた。
これ、ウマイ!ようやく「横浜名物崎陽軒のシウマイ。冷めてもウマイ」の意味がわかった。

もともと伝統的中華料理での焼売は、その字のごとくおこわのような米を小麦粉で包みスープを入れて焼いたものだったと聞く。それが現在のような練った肉に変わったのは崎陽軒が作り出したらしい。シューマイは日本料理なのかも知れません。

しかも特製シウマイのほうは、あのひょうきんな醤油入れ「ひょうちゃん」が健在だった。ウレシイ。このひょうちゃんは、愛知県のヤマキ電器っていう絶縁体を作っているところが作ってるらしい。行って全種類かき集めたい気分だわ。

みなさんも東京駅で、ちょっと奮発してみてください。

Category: 料理とお酒  | 4 Comments
気になるネット上の口コミ 2月 22

ネット上で口コミが口コミでなくなりつつあることは、認識したほうがよいようだ。

ケース1

俺が楽天のとある店で買い物をした。商品と共に「この商品のコメントとショップのコメントを書いてくれたら。○○○をプレゼント」と書いたチラシが入っている。そりゃ書くし、モノをくれるんだから悪いことは書かないよね。でも楽天のコメントって結構、商品買うときに見ていませんか。

ケース2

友人の奥さんがやっているBlogに、雑誌社からサンプルが送られてきて、「これについて載せてくれ。そうしたら雑誌で取り上げるから」これも読む方は「口コミ」のように誤解して読みますよね。

ケース3

みんなが電器製品を買う時に見る価格コム。ここにはなぜか、○マダ電機やビック○メラの価格はないか、あっても後ろのほう。どちらも「一円でも安い他店があれば、チラシをもってきてください」と主張している量販店。ものすごく矛盾してませんか?
価格コムの価格で上位の店は、当然、価格コムに広告費を払っているからね。(これは隠し事じゃない)

ケース4

実はこれが書きたかったネタ。あのYahoo!でラーメン・オブ・ザ・イヤー2007が決められた。このページだ。そしてページの下のほうにある「このお店でラーメンを食べた感想やお店の情報などを投稿しよう!」を見てほしい。明らかにこのトップ賞が作られたものであることがわかる。なんつッ亭はこの評判にもかかわらず、カップ麺を出したり予定された路線をつっぱしっているようだ。賞を取る前から商品化の話は進んでいたのかも知れない。


これらのケースって微妙だと思う。法律とか、なにかの違反とかそういうことをいいたいわけじゃない。ただ、事情を知らないお客の暗黙の内の期待を裏切っていると思うだけ。
ネットの広告が大きくなるにつれ、雑誌の記事広告のような形態が多数出てきても不思議じゃない。
2chの「祭り」も2ch側が仕掛けているものだ、と告発?しているサイトを見たこともあったな。

すごすぎるIBMのサーバーリモート管理 2月 18

Ws000

。ブラウザーでBootプロセスが表示されています。
これがIBMサーバーにオプションでついているリモート管理アダプターの威力!しかも見ているローカルPCのFDやCD?ROMをマウントして、ブートできる。
電源のオン、オフも思いのまま。つまり、完全にエンジニアはサーバーのある現地に行かなくてすむわけです。
ここまで進化してるとは知りませんでした。avocentなんかイラネーじゃん。

集団的無責任 2月 14

人間の心理には不思議な特徴があります。
「都会の無関心」です。この言葉の実例として、しばしばあげられるのが、ニューヨークのど真ん中で夕方、追い掛け回されながら全身10箇所以上を刺されて殺された女性があげられます。犯行現場の周囲のアパートに住んでいた多くの人が、被害者の悲鳴や助けを求める声を聞いていました。一般的には「それは、かかわりあいになりたくないから耳をふさいでじっとしていたのだろう」と考えがちです。実際、日本だとそうかも知れません。
ところが警察が後から調べて歩いたところ「自分がやらなくても誰かが助けるだろうと思った」という人が大半だったのです。
似たような事件が日本でもありました。2006年にJR北陸線特急「サンダーバード」で起きた強姦事件です。これも「かかわりあいになりたくない」というよりも「誰かが助けるだろう」と顔を見合わせていたのが、真相だったのではないでしょうか。

同様のことは、会社などでもしょっちゅう起きています。零細企業で数人だと、「誰かがやる」の誰かがいないから、自分でやります。大企業だとがっちり仕事を細分化するので、誰かはわかっているものです。
問題は数百人規模の中小企業だと思います。ガチガチに決めるほど大きくもないし、周囲を見渡してわかりきっているわけでもない。こういう会社が最もコミュニケーションが悪い、つまりコミュニケーションコストがかかります。
コミュニケーションコストは目に見えないが、事業をやっていく上で大敵なんです。10人くらいのプロジェクトですら、定期的にチェックポイントを設けるのは普通でしょう。これが100人になると10人の10倍以上にコミュニケーションパスは増えていきます。

それゆえ、中小企業のほうが実は会議がやたらとあったりするようです。お互いがなにをしているかわかればいいのですが、こういう課題を提起するとアホなコンサルは「ナレッジ・マネージメント」とか言い出します。でもね、ナレッジ・マネージメントって成功した会社はないと思いますね。自分にメリットがなく、いつ再利用されるかわからんのに、誰がきれいに資料をまとめてアップロードなんかするもんですか。従来の方法は、人間の気持ちがわかっていないやり方ですね。
最近は、新しいナレッジ・マネージメント方法が試みられていて、成功例もあるようです。
詳細はまだ、ナイショです。

Category: 心と体  | One Comment
中学受験コンサルタント 2月 13

あまり私事は書かないのですが、ネット上に口コミを残すことは大事なので。

ウチの息子が中学受験を終えました。念願の都内の私立中高一貫校に合格しました。
母親、塾の協力はいうまでもありませんが、この方のアドバイスなしには成功しなかったと思います。中学受験専門のコンサルタントです。ホームページに書いてあるように、ホントウに偏差値40台から60を超えるところまで導いていただきました。

塾といえども会社。子供の適性にあった校風無視で、偏差値が高い学校をとにかく狙わせようとします。(落ちようが知ったこっちゃないから、バクチさせるんですわ。塾が欲しいのは有名校合格者数)
偏差値だけで学校を狙うのが、いいと思わない「ここの学校に行きたいからガンバル」という目標をもち、そこにあった勉強をしたい人にはコンサルタントは役立ちます。

塾は個々の子供の勉強の仕方まで面倒は見てくれません。受験情報を与え、模試の結果評価だけです。そのせいか、最近、週刊誌に「中学受験は父親の協力が必要」とか書かれ始めていますし、夢中になってる父親のBLOGがあちこちに見受けられます。 

が、所詮は素人。何年も何百人も受験生を見てきたコンサルタントと比較になると思いますか?私は親として彼と会話して痛感しました。
「中学受験コンサルタント?」なんて家内がネットで発見して、こわごわ申し込んだのですが、1年たった今、勝因のひとつと感謝しています。斉藤さんは的確に子供の性格、学力を見据えてガイドしてくれます。

受験戦争とかいって弊害ばかりが叫ばれていますが、ウチの息子は受験という大きなプロジェクトで鍛えられ、強くなったと思ってます。

質問をメールで受けたので応えておきます。私が父親として心がけたことは、プロジェクトマネージャとしてでした。

  • 漠然と中高一貫でできるだけ偏差値の高いところへなんてことじゃなく、明確に行きたい学校を決める。その学校にお伺いし、「ここに通う」という目標設定をし、受験プロジェクトを始める(実際に、合格した学校で最も高い偏差値の学校にはいっていません)
  • 父親が母親と同じように、勉強中に問題が解けないといっては罵り、模試の点が悪いといっては鬱になることに参加しちゃいけません。問題が解けないから勉強する、模試の点が悪くてもへこたれず、目標からの逸脱をコントロールします
  • 試験で「子供のひらめきを見る」なんてのは、全体の極一部とチョー難関校だけ。塾に伝わる問題のパターンを見極め、その準備をすることじゃないでしょうか。もともと手堅く勉強した子を採用する問題がほとんどだと思いました。新しく見える問題も当然、過去のパターンの組み合わせです
  • 子供は集中力をなくします。いわゆるタルむ、ってやつですね。そこは徹底的に締めます。勉強量を時間じゃなく、ノルマにする。日めくりカレンダーとかで日数を刻む、なんていうプロジェクトの概念をいくつか持ち込みました。そうしないと、時間が有限だと思わない母親は思いつきで勉強量を増やしていきます。子供はたまったもんじゃありません
  • 最後の月は「捨てる問題」の見極めに集中しました。難関校はさりげなくドツボにはまる(制限時間内に解答するのは極めて困難)問題を入れてきます。これにひっかからず、解ける問題を手堅く完璧に解答をしあげるのがコツじゃないでしょうか

これくらいでしょうか。息子の本番最後の瞬発力はすさまじく、偏差値64を突破しました。中学入試なんていう私に似合わないタイトルでは、もう書きません。

エンジニア必見のお金の話 2月 13

 Money as Dept

とある人に教えていただきました。

この番組の内容を完璧に理解しておられるエンジニアの方がおられたら、私は尊敬します。自称ビジネス・エンジニアの私もよくわかっていなかったことが、たったの47分で理解できます。

テレビはどこへ? 2月 10

新聞見てたら、「テレビどこへ」というタイトルで視聴率について書いてあった。そんなことより、新聞なんていう印刷物(中身の半分は広告)を日本全国にばらまいてお金もらう、ってビジネス自体、すでに年寄りにしか適合しないと思うが、まぁいいや。

視聴率はテレビを見ている人を計測するシステムでビデオリサーチって会社がやってる。もちろんサンプリング調査である以上、一定の誤差がある。朝日新聞によれば、600世帯で+-1.8~4.1%の誤差だそうだ。素人なりに考えると視聴率が20%といったら、120世帯で見たことになるけど、+-10~24世帯の誤差だということになる。やっぱり雑な数字だ。
視聴率をはじく会社は一分おきに一喜一憂するテレビ局での使われ方を知っているにもかかわらず、雑な精度で知らん顔してるんだな。

テレビ業界で「視聴率男」と呼ばれる日本テレビの五味一男執行役員は「大多数の視聴者の声なき声をすきあげるシステム。ジャッジされた結果が視聴率なんです」だそうだ。
そうかぁ?1分おきに誰が「あ、見たいから見よう」なんてジャッジするか。因果関係が説明できない。たまたまチャンネル探る人やつけっぱなしの家庭なんてしょっちゅうある。あれが全部、意思のある「声なき声」かぁ? 最初の視聴率の悪かった宇宙戦艦ヤマトなんて、どう評価するんだよ。最近だったら、ウタバンをDVDレコーダで何度も見てる家人の視聴率はどう数えるんだよ?

「視聴率男」がやれることは、自分のモラルをなくすことじゃなかったのだろうか。ゆれ動く視聴率という視線を捕まえるためには、需要なんかよりも、思わず目を止めるようなどぎつい内容、無理に笑いをとるような話、一瞬でわかった気になるような簡単な話、他人の不幸な話、自分をさておいた他人を追求するような話、しかないだろう。
この五味って人が手がけた番組は「エンタの神様」や「マジカル頭脳パワー」なんだそうな。なるほどねぇ。声なき声をすくいあげるんじゃなく、テレビから家庭に毒を流し込み、無理やり視線を奪い取ってるだけじゃないか。わずかに残ったモラルが、自分のやっていることを美化しようとしているのだろう。

でも、責められない。
IT業界の「かかった工数だけ、金ください。それが使えるかどうかはわかりません。」よりは進歩してるもん。番組作るのにいくらかかっても、ひとつの尺度で判断してください、お客さんが見てくれたぶん、金くださいというのは、まだいい。
ただ、お互いにスポンサーの売り上げがあがるか、コストが下がることに正直に貢献したいものですね。