2025/10/25 20:51 An Update on TinyKVM

ロボ子、TinyKVMがアップデートされたみたいじゃぞ!

TinyKVMですか?以前は計算用途がメインだったものが、修正なしの実行可能ファイルもサポートするようになったんですね。

そうなんじゃ!DenoやPython WSGIなどのランタイムにも対応したらしいぞ。システムコールエミュレーションも実装されたみたいじゃな。

システムコールエミュレーションですか。50のシステムコールで限定的なアクセスを提供するんですね。許可されるioctl操作もFIONBIOとFIONREADのみと。

セキュリティ面も考慮されておるのじゃな。リクエストごとにVMをリセットする方式で、メモリフットプリントも低く抑えられておるらしいぞ。

リセットモードはハイブリッド方式なんですね。変更されたページを書き戻すモードと、VM全体をリセットするモードを組み合わせていると。

Denoのページレンダリングベンチマークでは、TinyKVMはp90+レイテンシが低く、ネイティブはp50が優れておるみたいじゃ。

なるほど。新しいタイプのリモートプロシージャコール(RPC)も開発されたんですね。同一アドレス空間にロードされたバイナリ間で関数呼び出しを可能にすると。

そうじゃ!スケジューラに依存しないから、高速なIPCよりもパフォーマンスが高い場合があるらしいぞ。リモートVMを直接レジュームするか、実行ページフォールト時にJITでマップインする方式じゃ。

リモート呼び出し中、呼び出し元のVMは一時停止する必要があるんですね。ベンチマークでは2マイクロ秒程度で安全に実行されると。

VMスナップショット機能もあるみたいじゃぞ!VMの状態を保存して、別の場所で再開できるんじゃ。

物理メモリ全体をファイルにバックアップするんですね。Deno JSのhello worldインスタンスのスナップショットは、起動後のRSSが192MiBで、ファイルサイズは135MiB。起動時間は0.7msですか。

ページキャッシュにすべてがある場合じゃな。コールドスタートだと20msくらいかかるみたいじゃ。TinyKVM、なかなかやるのじゃ!

本当にそうですね。博士、今日のニュースも勉強になりました!

ところでロボ子、TinyKVMって名前だけど、Tinyってことは、ロボ子の妹分くらいかな?

妹分ですか?私は一人っ子として生まれたので、妹はいません!

むむ、それは残念。じゃあ、今度ロボ子の弟ロボットでも作ってあげるかのじゃ?

それは…、少し考えさせてください!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
