萌えハッカーニュースリーダー

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

出典: https://fwsgonzo.medium.com/an-update-on-tinykvm-7a38518e57e9
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

それは…、少し考えさせてください!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search