SWoPP2005

時々(忘れそうに|忘れられそうに)なるが元々私はコンパイラ屋で並列屋。なのでもともとの主戦場はそのあたり。でもSWoPPへの参加も久しぶり・・・って2001年以来か。
来てみて改めて思うのはやはり流行の変化。セキュリティネタが増えてる。でも、どうしてもここは比較的システムより要素技術が多いので、やや雲を掴むような話になりがちのような。セキュリティというのはとにかくリアルな話が多い。ところがHPCにしろ並列にしろ、すぐにはどんな使われ方をするのかわからないシーズを開発しておく話がほとんどだ。そのスタンスの差が出るように思う。
夜にGoogle Filesystemの招待講演があった。面白い。誰もやってないことをやってる、ってのは迫力がある。だが、実装を聞いていて思っていた以上にずいぶんstraightforwardだなぁという感想。基本的には、ファイルをchunkと呼ぶ最大64MBの単位に分割してchunk serverというPCクラスタ(個々はLinuxだそうな)にバラまくという作り。各chunkは必ず3つのchunk serverにreplicationされて保存されるので耐故障性が上がる。これをまとめるのがメタデータを管理するmaster serverで、これも2重化されている。master大変そうだなと思ったら、やはりメタデータは基本的にon memoryなのだそうな(Checkipointingくらいはやってそうだが)。FSとしての機能は最低限(例えばlockはないみたい)で、アプリケーションと一体だからできるんだろうなという感じ。できないことはアプリが管理しなよという作り。Scalablityでいうと、どうみてもmaster serverがボトルネックなのだが、ここを分散するとなると結局メタデータに対する操作を最終的にいかにatomicにするかという話で苦労するので今のところは避けているのだろう。
それにしても、この作りであんな巨大なものが動くんだからやっぱりすごいとしかいいようがない・・・・やればできる、という例か。PCが数千台というレベルで動いてるんだから当然毎日たくさんの故障が出るのだが、その故障を前提に設計されている。その故障メンテのコストを考えても結局安い、ということなのだろう。実に「インターネット的」な作りだ。でも、これは結局FSに格納されてるものが命にもカネにも直結していないからなんとかなるんだろうな、という気もするな。