2008年3月14日金曜日

SIGMOD 2008 Repeatability Assessment

今年のSIGMOD 2008から始まったRepeatability Assessment。論文中にある実験結果が第三者によって再現できるかどうかを確認する趣旨のものです。

実行可能なバイナリやソースコードを送り、実験結果を相手方のマシンで検証してもらいます。並列分散計算とか、マシン環境がないと再現しにくいものもあると思いますが、scalabilityとか、result sizeなどなら、傾向として一致することは確認してもらえます。

論文誌と同時に公開されるであろうコードを使って、比較実験がしやすくなるだろう、という期待はあります。他人のアルゴリズムを実装するのは常に大変なので。ただ、コードが入手しやすくなると言っても、フェアな比較になるように気をつけて(実装言語、applicationの違いとか)、かつ性能差の定性的な原因を明らかにしないと、研究としては面白くならないと思います。

ちなみに今回の評価は簡単なものでした。以下、抜粋。
-----
Overall repeatability : Strong Accept

Summary: Figures 16,17 and 19 were successfully repeated.

Details: Output (truncated because of the conference tool editing limits):
synth.tab
query fanout scale mode trial time
q5 2 1 0 1 0.125
q5 2 1 0 2 0.125
...

Were you able to install the software? : Yes
Were you able to run experiments? : Yes, all of them
Were you able to repeat experimental results? : Yes, all
Was the submission well-formed (valid and meaningful XML file etc.)? : Yes
----

実は、このfeedbackを得る前に、「プログラムが動かないよ」、という返事が来て、原因を調査したら、送ったコードに、Visual Studio C++ 2005 (SP1)の配布用DLLが含まれていなかったようです。慌てて返信したところ、無事プログラムが動いたようです。Visual Studioが入っていてもだめみたいで、SP1のDLLが必要だったところが盲点。今度から、仮想マシンで実験しておかないとだめですね。Javaだとこの類いの問題が少ないので楽なのですが。


実験を再現するためのMakefileやら、スクリプトを書くのは割と面倒だったのですが、意外なことにその努力の結果は自分に返ってきました。追加実験をするときに同じスクリプトが使えました。自分のプログラムの使い方の備忘録にもなっているし、後々になってわかる良いところが多数。

今度から、実験結果はSQLiteのDBにでも入れて、平均や標準偏差を取ったり、グラフを書く作業もgnuplotを使って、自動化できるようにしておきたいなと思いました。(今回は楽をしてExcelで書きましたが、自動化してなかったので書き直すのはやはり手間だった)

2008年3月4日火曜日

USBメモリからLinuxをインストール

PXEBootによるネットワークインストールでもいいけれど、CD/DVDドライブがないマシンの場合、このやり方も簡単。

まず、好きなLinuxのdistributionから、diskboot.imgをダウンロードしてくる。

ブートイメージをUSBメモリ(FAT32フォーマットしたもの)に展開
> cat diskboot.img > /dev/sdg1

/dev/sdg1 はUSBメモリなどのデバイス名+partition番号。
cygwinを使っている場合は、cat /proc/partitionsでどのデバイスが使えるか確認できます。

Linuxのインストールは、USBメモリをマシンに差し込む。起動メニューでUSBメモリを選択すると、Linuxのインストールメニューが出てくる。あとは、ネットワーク経由でパッケージをダウンロードするインストールの方法と一緒。

CDメディアを作成するよりお手軽かな。

2008年2月18日月曜日

SIGMOD 2008に通りました!

今朝から興奮しっぱなしです。

2月16日が結果発表だったはずなのですが、アメリカ時間で17日になっても返事がこないまま、今日、朝一で見たメールがこれ。

Congratulations! Your paper:

Paper#: 7 Title: Relational-Style XML Query

has been accepted for SIGMOD 2008.
Altogether there were 435 papers submitted and only
78 accepted.


Author Feedback時のReviewerのコメントが良い感じだったので、このまま行くかな、と思っていたのですが本当に通ってくれて一安心です。

435 papersという数字。最近のSIGMOD, VLDBなどのデータベースのtop conferenceは通常600本近くの投稿があるのですが、今回のSIGMODからソースコード(or バイナリ)の添付が求められたので、これで、数が減ったのかもしれません。僕は実装好きなので、運も味方したのかな?Registration時の登録番号も7だったし縁起が良かったです。

SIGMODは学部時代、研究室に入ったときからの目標だったので、実に6年越しの夢がかないました。日本人グループで、SIGMODに通るのっていつ以来なんだろう? 櫻井さんという方が海外のチームと共同で2005年に採択されているみたいですが、本当に日本人のみのグループを探してみたところ、1998年の喜連川先生のチーム以来みたいです(間違っていたらごめんなさい)。

これで、日本でも頑張れるんだ!って日本のDB業界が発奮してくれるといいなと思います。僕自身も、DBもXMLもまだまだ使いやすくなっていないので、研究者としての仕事はたくさん残っています。ようやくスタート地点に立てたような気分でもあります。

僕を支えてくれた妻と子供、そして家族に感謝。
論文のパラグラフごとに、細かい表現の修正につきあっていただいた先生に感謝。
博士論文の審査で貴重な意見をくださった先生方に感謝。
この研究につながる強い動機をくれた研究室の同僚に感謝。

今日、研究を続けるモチベーションという、とてもいい栄養をもらうことができました。
ゴールはここではありません。今後も、DBの発展のために貢献していきたいと思います。

2008年2月12日火曜日

grepでマッチした行だけ取り除くスクリプト

SubversionのDateタグって、意図しない文字コードの日付に置換されてしまい、予測不能な問題を生じてしまうことが多かった取り除くことにしました。

そこで、一行プログラミング。
for f in $(grep -n  "\$Date" src/**/*.java | cut -d ':' -f 1);
  do echo $f; grep -v "\$Date" $f > $f.tmp; mv $f.tmp $f; done;

もっと賢い方法や、こういう時に便利なコマンドがあったら教えてくださいな。

2008年1月30日水曜日

中国産冷凍餃子


農薬メタミドホスが混入したという中国産冷凍餃子。うちの冷凍庫にありました。しかも既に半分くらい食べたあと。。。。 入院するようなことはなかったけれど、本当に大丈夫なんだろうか。

きっとこういう事件の時、JTってすごく対応が悪いような気がする。自主回収してるけど、それだと、既に食べてしまった人は、余計に不安になります。安全を確認するために中身の成分を第三者機関にチェックしてもらうような対応は当然期待できないんだろうな。

ものすごく不安。。。 

License

Creative Commons LicenseLeo's Chronicle by Taro L. Saito is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.