第4回 WSA 研に参加してきました

第4回 WSA 研に参加してきました。

きっかけと参加のモチベーション

IPSJ-ONE の準備期間中に @yuuk1t さんからお声がけいただいたことが参加のきっかけです。参加者は全員発表する形式で行なわれるため、自分も発表しました。

普段から Web システムに関する研究をしていないどころか、ハートビーツの VPoE になってからは技術的な業務もだいぶ減ってきていて、さらに経営大学院に通ってきた直近3年間は、学業に追われてしまいプライベートで技術に触れる機会が格段に減ってました。もはやマネジメント畑の人になりつつある中で WSA 研に参加したのは、再び技術にきちんと向き合いたかったからです。大学院の最終講義が終わる 2019/03/30 以降は、前のように技術を学ぼうと考えていました。今回の WSA 研は、開催スケジュールが卒業直後であり、発表の準備も良い意味でハードだし、Web サービスに関する研究内容も聞くことができるという感じで、自分にとっては絶好の機会でした。

発表内容

5年前に学部の卒業研究でチョットダケ理解したであろう Linux I/O の領域を軸に研究テーマを探しました。いくつかのテーマの屍を超えて、最終的には以下のような発表内容になりました。

汎用的なハイブリッドストレージシステムを提案しました。実装には至っていませんが、ある程度は実装の細いところまで踏み込んで考えてみました。このストレージシステムの実態は、「MTFS という独自のユーザースペースファイルシステム」と「時間的局所性に基づくファイル再配置デーモン」を組み合わせたものです。

9年間、インフラ運用の現場で多様な Web サービスを支えてきた経験から、AWS をはじめとするクラウドのストレージ機能をうまく組み合わせることで階層型ストレージシステムは簡単に作ることができる時代になってきたという知見、その一方で、この世には様々な事情でそれらを適用することが困難な Web サービスもそこそこ存在するという知見がありました。今回は、後者ような Web サービスにも適用可能できる汎用的なシステムを作りたいというモチベーションの源泉です。また、プロプラ時代から OSS 時代になってきたと思いきや、またプロプラ時代に突入しそうという現在のITインフラ界隈の潮流も影響して、汎用さや自由さには敏感になってきているのかもしれないです。

研究発表後、以下のような議論が行われました。

  • FUSE のオーバーヘッドが大きすぎる場合の対策はあるか
    • LKM を利用してシステムコールを上書きするというアイディアはあるが、適用スコープがシステムグローバルになるので別の課題が発生してしまう点が悩ましい
  • カーネル空間の処理をバイパスするツール1 を使ってはどうか
    • パフォーマンス課題を解決する一方で、ストレージデバイスの汎用性に影響が出そう
  • Cassandra で SSD と HDD を利用する先行研究2 がある
    • 汎用性の観点から Cassandra ロックインは避けたい。一方で、裏側の処理方法は参考になりそう
  • メモリのダーティページに関する処理の研究は参考になると思う
    • たしかに判定の規準やマイグレーションのアルゴリズムは参考になりそう

いずれの質問・意見も有意義でした。提案したストレージシステムにはまだまだ課題があることがわかりました。

感想

どの研究も非常に興味深く、発表を聴いているだけでとても高揚しまして、研究会が終わる頃には健康になってました。

中でも @itkq さんのカオスエンジニアリングに関するサーベイは興味深かったです。昨今、カオスエンジニアリングが雰囲気で語られはじめている中で、@itkq さんは幅広い範囲をきちんと調べて自分の考察を深掘りし、その先に半脆いシステムを着想したというストーリーは徹頭徹尾おもしろかったです。

カオスエンジニアリングの文脈理解や直面している課題の解決を試みようとした場合には、情報工学の範囲を越えて議論する必要があると感じました。自分はファイナンスの分野におけるボラティリティ、すなわちリスクの指標である分散を応用することで、システムの多様性を定量的に評価することができるかもしれないねという意見を出しましたが、それはその場でたまたま思いついたことなので、もう少し考えたり調べると他にもまだまだ有効な技術は出てきそうです。未成熟な分野ならではのわくわく感がありました。

あとがき

研究会中、時折ディスカッションについていけなくなったり、内容が理解できなかったりと自分の力不足を痛感することもできました。もう少し強くなってまた参加したいと思っています。やはり想像していた通り素晴らしい機会でした。研究者でもない自分をこの場に誘ってくれた @yuuk1t さんにはとても感謝しています。

はてなの組織を日頃から支えている @tomomiih さんと出会えたことも刺激になりました。特に、組織経営に関する地図を作りたいという目標は激しく共感しました。地図ほしい。自分でも経営や組織の地図を作ってみようと思います。

また、普段研究をしていないエンジニアとしては、テーマ設定が非常に難しかったです。予稿提出の12時間前になって、それまで取り組んでいたコンテナ周りの研究そのものがダメになったり、ハイブリッドストレージというテーマの先行研究を調べていく過程で当初想定した内容と丸かぶりした研究に締め切り3時間前になって出会うなど、たいへんエキサイティングな体験をしました。その日を一言で表すなら ISUCON ですね。このような過程を経てひねり出された今回のテーマには幾ばくかの愛着があるのでもう少し取り組みたいと思っています。当時の様子がこちら。今後はもう少し余裕をもって進めていきたいです。


  1. https://www.isus.jp/enterprise/build-open-source-storage-stacks-in-user-space/ []
  2. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.720.2149&rep=rep1&type=pdf []