マイクロソフト、OSを介さず仮想化ハイパーバイザ上でWasmを高速起動し実行できる「Hyperlight Wasm」、オープンソースで公開

2025年4月1日

マイクロソフトは仮想化ハイパーバイザのマイクロゲストとしてWebAssemblyランタイムを実行する「Hyperlight Wasm」をオープンソースで公開しました

Hyperlight Wasm

Hyperlightはマイクロゲストを実現するライブラリ

Hyperlight Wasmの基盤となるHyperlightは、仮想化ハイパーバイザ上にマイクロゲストを作成するライブラリソフトウェアです。

そもそも仮想化ハイパーバイザでは一般に、ホストとなる仮想化ハイパーバイザ上にゲストとなる仮想マシンが作成され、その仮想マシン内でOSが実行され、OS上でアプリケーションが実行される、という階層構造になっています。

仮想マシンやOSなどから構成されるこうした階層構造のおかげで、アプリケーションの実行環境の互換性が保たれるわけですが、一方でこれはコンピューティングリソースの面ではオーバーヘッドであり、アプリケーションが起動するまでの時間もかかります。

Hyperlightはこのオーバーヘッドを不要にすべく、アプリケーションをハイパーバイザ上のマイクロゲストとして直接実行可能にするライブラリです。

Hyperlightは仮想化ハイパーバイザが提供するメモリとCPUリソースの一部を安全にスライスしてマイクロゲストを作成するというシンプルな仕組みです。

特定のホストマシンをエミュレートする仮想マシンも、その上で実行されるOSも提供されない代わりに、マイクロゲストの高速な起動と効率的なコンピューティングリソースの利用、そして仮想マシンレベルの安全な分離が提供されるわけです。

C言語やRust言語とHyperlightを用いてコードを記述しコンパイルすることで、コールドスタートであっても仮想化ハイパーバイザ上で超高速に起動し、安全に実行される関数(ファンクション)が実現されるのです。

Hyperlight Wasmは、Wasmをマイクロゲストとして実行

今回、オープンソースで公開されたHyperlight Wasmは、このマイクロゲストとしてWebAssemblyランタイム(Wasmtimeが採用されているようです)を用いることで、仮想化ハイパーバイザ上で仮想マシンやOSを介すことなく、超高速にWebAssemblyランタイムが起動し実行されます。

OSなどを介すことなく、仮想マシンレベルで安全に分離された環境でWebAssemblyアプリケーションが実行可能になるのです。

もちろんRustやGoなどの言語を用いてWebAssemblyバイナリをターゲットにしたバイナリを出力してWebAssemblyランタイムで実行することもできますし、RubyやJavaScriptのようなWebAssemblyで実装された言語のランタイムがある言語であれば、WebAssembly上で言語のランタイムを実行し、そこでRubyやJavaScriptのコードを実行することも可能です。

マイクロソフトによると、Hyperlight Wasmの起動には現時点で1~2ミリ秒かかり、将来的には1ミリ秒未満になるよう取り組んでいるとのこと。

これだけ高速に起動するようになると、アプリケーションの起動を高速にするテクニックとしてのウォームプールなども不要になるため、より効率の高いコンピューティングリソースの利用が期待されるとしています。

あわせて読みたい

OS WebAssembly プログラミング言語 仮想化 Microsoft




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本