hwclockとPythonについて考えてみた

調べ物をしている最中に、とあるブログでhwclockをhpetにしたら正確なインタラプトができるから、チューニングになるみたいなのを見かけたのですが、はたして正確 = 低コスト高性能なのか気になったので調べてみました。

ベンチマーク結果はあっさり見つかりました。RedHatのドキュメントにのっていました。(きにいらないけど)
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_MRG/2/html/Realtime_Reference_Guide/chap-Realtime_Reference_Guide-Timestamping.html#example-Hardware_Clock_Cost_Comparison

hwclockへのアクセスだけみるなら、従来どおりtscが最速のようですね。意味もなくデフォルトで指定されてるわけじゃなかった。

Pythonの実装がどうなっているかまとまっているのはここが分かりやすかったです。http://www.python.org/dev/peps/pep-0418/#list-of-hardware-clocks

プロファイリング等でナノセック単位で正確な動作時間を知りたいときは、hpetのほうがよさそうですね。

vyatta site to site vpnのルーティングのハマりどころ

vyattaはNATが設定してある場合、スタティックルートが設定してあっても、NATに吸い込まれてVPN側にうまくルーティングしてくれません。
そうゆう場合はNATに除外ルールを設定します。

ローカル: 192.168.10.0/24
リモート: 192.168.12.0/24

source {
    rule 1 {
        destination {
            address !192.168.12.0/24 
        }
        outbound-interface eth1
        source {
            address 192.168.10.0/24
        }
        translation {
            address masquerade
        }
    }
 }

このように、リモートのサブネット192.168.12.0/24宛の場合はNATから除外します。

ポートフォワードをしている場合は、リモートから入ってくる場合も除外しないと吸い込まれてしまいます。

destination {
    rule 101 {
        destination {
        port 22
    }
    inbound-interface eth1
    protocol tcp
    source {
        address !192.168.12.0/24
    }
    translation {
        address 192.168.10.2
        port 22
    }
 }

NATとルーティングの処理が串刺しになっているというのも、なんだか妙な感じがしますがvyattaはこうです。

パープルラリーがまツアー2013に参加しました

Bライセンスを取得するのに、ただ講習を受けてもらうのも面白くないので、コドラと相談して出ることにしました。
せっかくやるからにはであれやこれや道具はそろえたんですが、成績はボロボロでした・・・w。

走り始めは指示書の意図がよく分からなかったり、USB充電のタコ足でトリップメーター兼アベレージメーターにつかっていたHTC EVOの電源がおちて、サブコン代わりにくくりつけておいたi-gatUで平均速度をみたり、コドラのXperiaも充電不十分だったりと、アベレージラリーは何はともあれ経験と思いました。

そんな状況でも1ステはぼろぼろでしたが、2ステだけ見るとコドラの種が割れて5位か6位くらい(運もよかった)の成績でした。

しっかりしたラリコンがなくても事前に計算をしておけば、ドライブモニター程度のものがあれば十分ですね。
次回はGPSではなくパルスを拾うドライブモニターをつけて挑もうと思います。