9 पॉइंट द्वारा GN⁺ 2025-04-09 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Hyperlight Wasm, Microsoft द्वारा CNCF को दान की गई अल्ट्रा-लाइटवेट virtual machine (VM) तकनीक Hyperlight का नवीनतम विस्तार है, जो WebAssembly (Component Model आधारित) workloads को तेज़ और सुरक्षित तरीके से चलाता है
  • पारंपरिक VM के विपरीत, यह OS या virtual devices के बिना सिर्फ memory slices और CPU को expose करता है, और 1~2ms का तेज़ boot time देता है
  • C, Rust, Go, Python, JS जैसी कई भाषाओं में लिखे wasm components को hypervisor protection के तहत run किया जा सकता है

Hyperlight Wasm की मुख्य विशेषताएँ

  • पारंपरिक VM की तुलना में तेज़ performance

    • पारंपरिक VM: device initialization → kernel loading → OS boot → application execution (लगभग 125ms)
    • Hyperlight Wasm: सिर्फ memory slice creation + Wasm loading से execution संभव (1~2ms, भविष्य में <1ms लक्ष्य)
    • तेज़ execution speed on-demand serverless execution या न्यूनतम warm pool configuration के लिए फायदेमंद है
  • operating system के बिना भी कई भाषाओं का execution

    • मानक WASI और WebAssembly Component Model के आधार पर, अधिकांश भाषाओं में लिखे components को चलाया जा सकता है
    • built-in wasmtime runtime के साथ Python, JavaScript, C# जैसी interpreter भाषाएँ भी runtime सहित चल सकती हैं
    • developer के नज़रिए से, बस wasm32-wasip2 target पर compile करने से Hyperlight में execution संभव है
  • बेहतर security (dual sandbox)

    • Wasm sandbox + hypervisor-आधारित VM sandbox की दोहरी सुरक्षा संरचना
    • यदि हमलावर wasm sandbox से बाहर निकल भी जाए, तो उसे VM sandbox को भी bypass करना होगा

development उदाहरण: Rust आधारित UDP Echo server चलाना

  • wkg CLI से wasm binary download और compile
  • WASI interface definition file (.wit) को binary में बदलकर bindings generate करना
  • hyperlight_component_macro और host_bindgen! के जरिए Wasm के import/export interface bindings का automatic generation
  • UdpSocket interface implementation के माध्यम से echo server logic define करना
  • hyperlight-wasm sandbox बनाकर wasm component को load और run करना
  • Ahead-of-Time compilation

    • hyperlight-wasm-aot tool की मदद से wasm को AOT compile करके execution time कम करना
    • cargo run से server चलाया जा सकता है, और nc -u command से UDP test किया जा सकता है

विस्तार क्षमता और आगे की योजना

  • Hyperlight Wasm में x86 के साथ-साथ Arm64 architecture support भी जोड़ा जाएगा
  • अभी WASI interfaces को सीधे implement करना पड़ता है, लेकिन आगे default bindings उपलब्ध कराने की योजना है
  • HTTP server जैसी सरल services को तेज़ी से sandbox करने की योजना है

open source community में भागीदारी

  • Hyperlight, Apache 2.0 license के तहत जारी Microsoft का open source project है, और CNCF Sandbox में पंजीकृत है
  • Hyperlight Wasm का लक्ष्य cloud-native computing के लिए उपयुक्त तेज़ और सुरक्षित execution environment देना है
  • GitHub repository के माध्यम से code देखा और योगदान किया जा सकता है

👉 GitHub repository: hyperlight-wasm

2 टिप्पणियां

 
GN⁺ 2025-04-09
Hacker News राय
  • कुछ महीने पहले मैंने WebAssembly का गंभीरता से उपयोग करते हुए कई भाषाओं में काम करने वाली एक backend authentication library बनाना शुरू किया

    • Extism पर आधारित होकर interface की जटिलता कम की
    • यह जादुई अनुभव था
    • WASM एक दिलचस्प मोड़ पर है
    • इसने न्यूनतम core spec के साथ अपनी वैल्यू साबित की है
    • अब WASI और Component Model के लिए कहीं बड़े API surface को implement करने की बड़ी push है
    • कम्युनिटी के बहुत से लोग इस दिशा को लेकर चिंतित हैं
    • व्यक्तिगत रूप से मैं चाहता हूँ कि WASM इतना जटिल न हो जाए कि वह web browser के उसी रास्ते पर चल पड़े, जहाँ केवल बड़ी tech कंपनियाँ ही implementation और experimentation कर सकें
  • कुछ महीने पहले हमने Hyperlight नाम का एक lightweight VMM घोषित किया था

    • यह लगभग 1 millisecond में नया VM बना सकता है
    • आज Wasmtime runtime पर आधारित Hyperlight Wasm guest की घोषणा करते हुए खुशी हो रही है
    • इससे VM में guest OS के बिना WASI interface के ऊपर Wasm Component binaries चलाए जा सकते हैं
    • इस पोस्ट में यह कैसे काम करता है, और examples के साथ समझाया गया है
  • इसे लेकर काफी उत्साहित हूँ

    • उम्मीद है WASM/WASI 90 के दशक के JVM वाले सपने की तरह विकसित होगा
    • यह एक memory-safe development target बन सकता है जिसे कई platforms पर आसानी से port और test किया जा सके
    • उम्मीद है WASM का उपयोग browser से कहीं अधिक चीज़ों के लिए किया जा सकेगा
  • दिलचस्प लग रहा है

    • क्या यह ऐसा use case है जिसे तब इस्तेमाल किया जा सकता है जब आप WASM के साथ Cloudflare Workers या Lambda जैसी चीज़ खुद implement करना चाहें?
  • बढ़िया है

    • मैं समझने की कोशिश कर रहा हूँ कि यहाँ अतिरिक्त value क्या है
    • यह wasmtime के ज़रिए run करने से कैसे अलग है?
  • ये सारे शानदार और दिलचस्प projects यह एहसास कराते हैं कि WASM browser के बाहर हर जगह सफल हो रहा है

    • शायद Web Assembly से Web हटाकर इसका कोई और नाम रख देना चाहिए
  • कोई idea है कि इसे Proxmox setup में कैसे डाला जा सकता है?

    • मेरी समझ है कि इसे bare metal पर काम करने के लिए डिज़ाइन किया गया है
    • मेरे पास अतिरिक्त bare metal x86 नहीं है, इसलिए यह थोड़ा awkward लगता है
    • शायद इसे बस किसी VM में डालकर nested virtualization को स्वीकार करना होगा
  • instances कैसे शुरू और manage किए जाते हैं?

    • किस API के ज़रिए?
    • क्या इसे यह capability दी जा सकती है कि यह Wasm Component binaries से जुड़े Wasm Components के tree को run करे, features delegate करे, और lifecycle manage करे?
  • मूल रूप से आपके पास hardware VM के भीतर programs को sandbox करने के लिए एक VM (wasm) है, जो user-space process (Linux process) में programs को isolate करने के लिए एक abstraction है

    • क्या आपने programs को isolate करने के लिए Unix processes का उपयोग करने के बारे में सोचा है?
  • क्या यह unikernel/library OS है?