1 ポイント 投稿者 GN⁺ 2023-10-24 | 1件のコメント | WhatsAppで共有
  • SUSEのHackweek 22での著者のプロジェクトに関する記事で、WebAssemblyを実行するunikernelを構築した。
  • 著者は、unikernelとWebAssemblyを組み合わせる潜在的な利点など、いくつかの理由からこのプロジェクトを選んだ。
  • アプリケーション開発者の観点では、アプリケーションとその依存関係が対象のunikernelをサポートする必要があるため、アプリケーションをunikernelへ移植したり、その上で作成したりするのは難しい場合がある。
  • Unikernelの管理者も、ユーザーアプリケーションで利用されうる未知のシステムプリミティブのため、自分たちのプラットフォーム上でどのアプリケーションでも円滑に実行できることを保証するのに苦労する。
  • しかし、WebAssemblyプラットフォームを対象にする場合、アプリケーションにはWebAssemblyランタイムが提供すべき明確な機能セットがある。
  • 著者は、Rustで書かれたunikernelであるRustyHermitプロジェクトを、unikernelアプリケーションの基盤として使用した。
  • 著者は、好みのランタイムであるWasmtimeがRustyHermit上に構築されていなかったため、WebAssemblyランタイムに関する困難に直面した。最終的に、純Rust製のWebAssemblyランタイムであるwasmiを見つけて使用した。
  • 著者はまた、SpiderlightningにおけるWebAssembly Component Model提案の利用についても議論しており、これによりWebAssemblyゲストに機能を提供し、ホストがWebAssemblyゲストによって提供される機能を利用できるようになる。
  • 著者は、.witファイルからホスト/ゲストコードを生成するCLIツールであるwit-bindgenを拡張し、wasmi WebAssemblyランタイムをサポートさせる必要があった。
  • 著者は、Spiderlightningのhttp-serverデモを実行するunikernelアプリケーションの録画とともに投稿を締めくくり、次回以降でRust async、Redis、そしていくつかのエラーについて扱うと予告している。

1件のコメント

 
GN⁺ 2023-10-24
Hacker News のコメント
  • 「JavaScript の誕生と死」という講演と関連づけるユーザーたち
  • 非OSハッカーがユニカーネルを手に入れる最善の方法についての議論。Linux カーネルモジュールとしてアプリケーションを構築する、Linux をハックしてコードを挿入する、GitHub のユニカーネルプロジェクトを使う、など複数の選択肢が提案される
  • 一般的な計算資源として、ネットワークカードに接続された VM を動かす x64 マシンというアイデアの提案と議論
  • WebAssembly (WASM) への熱意。ユーザーたちはそのサンドボックス化と移植性を称賛し、一部は 90 年代に JavaScript の代わりに発明されていてほしかったと願う
  • WASM の長期的な存続を望むユーザーたち。多くの古いプログラムを実行できないことを問題と認識し、WASM がそれを解決してくれることを期待する
  • 専用 WASM ハードウェアの可能性への疑問。技術の今後の発展への関心が示される
  • ユニカーネルと WASM のユースケースに対するユーザーたちの好奇心。技術の実用的な応用への欲求がうかがえる
  • カーネル空間で安全な GC ランタイムを動かすユニカーネルというアイデアの議論。これにより CPU における仮想メモリマッピング支援を廃止でき、その結果として高速化できる可能性があると示唆される
  • 「Molto interessante, complimenti」というフラグ付きコメントは、イタリア語で「とても興味深いです、おめでとうございます」を意味する