4 ms·
A couple of months ago we announced Hyperlight [1], a lightweight VMM that can spawn new VMs in about a millisecond. Today we’re happy to announce the Hyperlig
by yoshuaw 2y ago
A couple of months ago we announced Hyperlight [1], a lightweight VMM that can spawn new VMs in about a millisecond.
Today we’re happy to announce the Hyperlight Wasm guest based on the Wasmtime runtime. This makes it possible to run Wasm Component binaries on top of WASI interfaces without the need for a guest OS in the VM. In this post we explain how this works and walk through an example.
[1]: https://news.ycombinator.com/item?id=42078476 https://news.ycombinator.com/item?id=42078476
- dochtman 2y agoHow does performance compare to running native code?
- yoshuaw 2y agoIt depends on how which performance metrics you're interested in, where you draw the boundaries for individual workloads, and how you then schedule those workloads. Hyperlight can start new Wasm workloads so quickly that you might not need to keep any idling instances around ("scale to zero"). That's new, and it makes comparisons a little more complicated. For example: - If we take VMs as our boundary and compare cold start times, Hyperlight confidently comes out on top. That's 1-2ms vs 125ms+. - If we take warm instances and measure network latency for requests, Hyperlight will come out on top if deployed to a CDN node (physics!). But if both workloads run in the same data center performance will be a lot closer. - Say we have a workload where we need to transmux a terabyte of video, and we care about doing that as quickly as possible. A native binary has access to native instructions that will almost certainly outperform pure-Wasm workloads. I think about Hyperlight Wasm is as yet another tool in the toolbox. There are some things it's great at (cold-starts, portability, security) and some other things it isn't. At least, not yet. Whether it's a good fit for what you're doing will depend on what you're doing.
- deleted 2y ago[deleted]
- deleted 2y ago[deleted]
- ThePhysicist 2y agoSo is Hyperlight a competitor to things like Firecracker or does it serve a different niche?
- whs 2y agoFrom what I understand Hyperlight's boot process is more similar to a microcontroller than a PC (although it use your CPU architecture) - the VM directly boot into your code. Unlike Firecracker, Hyperlight VM doesn't have any hardware while Firecracker do have VirtIO devices, serial console and keyboard so that traditional operating systems can be adapted to Firecracker. Host-Guest communication is done with shared memory.
- yoshuaw 2y agoThough both share the ability so securely execute multi-tenant workloads, but they make very different tradeoffs when it comes to compatibility vs performance. To compare: Firecracker is great if you want to securely execute an OS image. It has the benefit of compatibility with many existing programs, but that comes at the cost of some overhead. Hyperlight is great if you want to securely execute program runtimes. This requires bespoke guest bindings, but it has the benefit of having less overhead. There’s a place for both approaches, and I see both happily co-exist.