微软开源 “Hyperlight Wasm”,将轻量级虚拟机技术扩展至 WASM

2025 年 3 月 26 日,微软开源了 Hyperlight Wasm 项目,将其轻量级虚拟机技术扩展至 WebAssembly(WASM)领域。以下是对该项目的具体介绍:

  • 基础信息:Hyperlight Wasm 基于开源项目 Hyperlight 构建,是一个微虚拟机管理器,专为运行多语言编写的 WASM 组件工作负载设计。
  • 兼容平台:该项目兼容 Windows Hypervisor Platform(Windows)、KVM(Linux)和 /dev/mshv(macOS)等虚拟化平台。
  • 技术优势:通过 VM 沙箱隔离不可信代码,兼顾了高性能与安全性。在性能方面,传统虚拟机启动可能需要约 125 毫秒,而 Hyperlight Wasm 运行一个工作负载仅需 1 到 2 毫秒,未来目标是实现小于 1 毫秒,适用于嵌入式函数等轻量化场景。
  • 开源情况:微软已将代码公开于 GitHub 的 hyperlight - wasm 仓库,开发者可通过其官方开源博客进一步了解技术细节。

此举延续了微软近年来对 WebAssembly 和 Rust 语言的投入,推动了安全计算边界的探索。

轻量级虚拟机技术与传统虚拟机技术相比,有哪些优势?

轻量级虚拟机技术与传统虚拟机技术相比,具有以下优势:

  1. 启动速度快:轻量级虚拟机的启动速度通常比传统虚拟机快得多。传统虚拟机需要加载整个操作系统内核和相关驱动程序,这一过程可能需要数十秒甚至数分钟。而轻量级虚拟机由于不需要加载完整的操作系统,启动过程大大简化,一般只需几秒甚至更短时间,如微软的 Hyperlight Wasm 运行一个工作负载仅需 1 到 2 毫秒,能够快速响应用户的请求,提高了系统的整体性能和效率。
  2. 资源占用少:传统虚拟机需要为每个虚拟机分配独立的硬件资源,如 CPU、内存、磁盘等,这可能导致资源的浪费,尤其是在虚拟机数量较多时。轻量级虚拟机则可以共享主机的操作系统内核和部分系统资源,只需要为每个轻量级虚拟机分配少量的内存和 CPU 资源即可运行,从而大大提高了资源的利用率。例如,在一台物理服务器上,可以运行数十个甚至上百个轻量级虚拟机,而运行传统虚拟机的数量则相对较少。
  3. 灵活性高:轻量级虚拟机通常具有更高的灵活性,可以更方便地进行创建、销毁和迁移等操作。由于轻量级虚拟机的启动速度快,资源占用少,因此可以在短时间内创建多个轻量级虚拟机来满足不同的业务需求,当业务需求结束后,又可以快速销毁这些虚拟机,释放资源。同时,轻量级虚拟机的迁移也更加容易,可以在不同的物理服务器之间快速迁移,而不会对业务造成太大的影响。
  4. 安全性强:轻量级虚拟机技术通过 VM 沙箱隔离不可信代码,提供了更细粒度的安全控制。每个轻量级虚拟机都可以在一个相对独立的安全环境中运行,相互之间不会相互干扰和影响,即使某个轻量级虚拟机受到攻击,也不会轻易影响到其他虚拟机和主机系统。此外,轻量级虚拟机还可以采用一些安全增强技术,如加密存储、访问控制等,进一步提高系统的安全性。
  5. 成本效益高:由于轻量级虚拟机可以在一台物理服务器上运行多个实例,因此可以减少硬件设备的采购和维护成本。同时,由于轻量级虚拟机的资源利用率高,可以降低能源消耗,进一步降低运营成本。对于一些对成本敏感的应用场景,如云计算、物联网等,轻量级虚拟机技术具有很大的优势。
相关推荐
小陈工2 天前
2026年3月26日技术资讯洞察:WebAssembly崛起、AI代码质量危机与开源安全新挑战
人工智能·python·安全·架构·开源·fastapi·wasm
七夜zippoe5 天前
WebAssembly与Python:在浏览器中运行Python
开发语言·python·wasm·webassembly·pyscript
爱学习的程序媛5 天前
【Web前端】WebAssembly详解
前端·web·wasm
爱学习的程序媛7 天前
【Web前端】WebAssembly实战项目
前端·web·wasm
REDcker8 天前
Wasm 软解 H.265 方案与原理
wasm·h.265
步步为营DotNet15 天前
ASP.NET Core 10中的Blazor WebAssembly性能优化实践
性能优化·asp.net·wasm
前端之虎陈随易15 天前
Vite 8正式发布,内置devtool,Wasm SSR 支持
前端·人工智能·typescript·npm·node.js·wasm
古城小栈18 天前
Rust 开发 WebAssembly 一眼案例
开发语言·rust·wasm
csdn_aspnet18 天前
.NET 10 中的 Blazor:新增功能及常见问题
wasm·blazor·.net10