ふりかえります。
予稿
スライド
デモ動画
当日時間がなく披露できなかった、今動いてるところまでのデモです
Miehistö(öはoの口でe)はもともとGrenadineという名前で、RubyKaigi 2019などで発表していたツールのアーキテクチャを見直し、拡張性などを高めたツールです。
スライド15枚目にある ように、サービス(Miehistöが管理するチェックポイント・リストア可能なデーモンの単位)とイメージの管理を独立させ、それぞれで拡張性を高めたりしています。
いただいたフィードバックなど
Kubernetesで動かしたい
- Q: 長時間かかる計算の途中状態を保存しておけば、スケジューラの preemption に応用できそう
- A: そういう用途はかなりありうるし、想定してそう
- A: Miehistöを高レベルランタイム層とで組み込むとか、Podのチェックポイント作成できるよう動かすとか、統合方法は考えないといけない
Operatorでwrapperされていると導入しやすそう
- A: vargo先生に聞かなきゃ...
Linuxカーネルのメモリ配置ランダマイズ(ASLR)が有効になってる際、CRIUを用いる際に問題はないの?
- A: 流石に意識していそうだけど、確認します!
ほか、WSA研究会の前後でいただいたものとして:
コンテナのライブマイグレーションって、必要?
- A: 長時間計算やレガシー アプリのコンテナで状態を持つものには必要であるはず
- A: 一般的なWebアプリケーションでは需要がないかもしれないことには同意
先行する研究との違いは?
- Q: Bo Xu, Song WuらのSledge (https://conferences.computer.org/cloud/2020/program/ 参照) との違いや優位性が悩ましそう
- たとえばKubernetes統合に寄せるにせよ、そういう内容は他の研究でもやりそう
- A: CRIUの用途として、大きなものはライブマイグレーションと起動の高速化がある。両方をやれるような汎用性を目指すより、起動高速化なら高速化で、具体的な課題やユースケースをやっつけるという方向を考えたい
所感
色々な意見を伺うと、やっぱりKubernetesと組み合わせて動かせると使い道が思いついたり、そもそも注目を集めそうなところはありそうに思いました。Kubernetesのインターナルなところはいずれにせよ調べたかったので挑戦していてもいいのかもしれない。
あとは、そもそも この手法が解決したい問題は何か? というのをもっと踏み込んで、できれば具体的ないくつかのケースを見出せると良さそうという感想を持ちました。どうしても最初にGrenadineの思いつきがあって、今も若干それに引っ張られているんですが、昔の活動(FastContainer)も踏まえて今自分が具体的にやりたいことってなんだろう? というのを考え、ますはその具体的な問題を一つ解決するような実装を出せるといいのだろうと思いました。あまりに抽象的な問題によると、今度はSledgeとかでいいじゃん、ってなるかもなあと。
全体に、今回の発表を通して、Miehistöについて色々な感想や意見や期待をいただけて非常にありがたかったです。色々と試して実装を続けていきたいと思いました。
WSA研究会も、2年前に参加してからとても久しぶりに発表ができ、懇親会含めコミットメントの高いメンバーで様々な議論ができ、考えも聞けたのでよかったです。
周りを整えればオンラインでもこれだけ情報交換できるのだなあという感想を持ちました。来年も引き続きオンラインの活動は多くなるだろうな〜(仮に、新型コロナウイルスのワクチンが出てきてもそうなると思われる)というところはあるので、いい感じにアウトプットしたいところ。