当前位置: 首页 > 软件库 > 服务器软件 > 虚拟机 >

WasmEdge

用于边缘计算的云原生 WebAssembly 运行时
授权协议 Apache-2.0
开发语言 C/C++
所属分类 服务器软件、 虚拟机
软件类型 开源软件
地区 国产
投 递 者 谭锐藻
操作系统 跨平台
开源组织 CNCF
适用人群 未知
 软件概览

WasmEdge(以前称为 SSVM)是一个高性能的 WebAssembly(Wasm)虚拟机,为边缘计算进行了优化,包括边缘云和 Software Defined Vehicles。在其 AOT 模式下,WasmEdge 是目前市场上最快的 Wasm VM。由 CNCF 进行托管。

特性:

  • 非常快:特别是在启动时(最多快 100 倍)

  • AOT 优化:提供“比原生更快”的性能

  • 内存占用小:占用不到 5MB 的内存空间

  • 便携的:跨操作系统和 CPU 平台,包括 RTOS

  • Capability-based security:允许计算任务对资源的受控访问

  • AI inference:支持硬件加速的 Tensorflow

  • 可嵌入:可轻松嵌入到 JavaScript、Golang 和其他主机应用程序中

  • 可管理性:可以由 Kubernetes 配置和管理

  • 智能合约:支持主要的区块链协议,包括下一代以太坊

WasmEdge 最重要的用例是在软件产品(如 SaaS、汽车操作系统、边缘节点、甚至区块链节点)中安全地执行用户定义的或社区贡献的代码作为插件。它使第三方开发者、供应商和社区成员能够扩展和定制软件产品。有了WasmEdge,一个软件产品可以成为一个主机平台。

WasmEdge 为其包含的 Wasm 字节码程序提供一个定义明确的执行沙盒。该字节码程序不能访问操作系统资源(例如,文件系统,套接字,环境变量,进程),没有虚拟机的运行器的明确权限。运行者在启动时在虚拟机的配置选项中指定虚拟机可以访问的系统资源(又称基于能力的安全模型)。

WasmEdge 还为其包含的字节码程序提供内存保护。如果该程序试图访问分配给虚拟机的区域之外的内存,虚拟机将以错误信息终止。

WasmEdge及其包含的wasm程序可以作为一个新的进程从CLI启动,或从一个现有的进程启动。如果从一个现有的进程中启动(例如,从一个正在运行的Node.js或Golang程序中启动),虚拟机将作为一个函数在该进程中运行。也可以将WasmEdge VM实例作为一个线程启动。

目前,WasmEdge 还不是线程安全的,这意味着在同一进程的不同线程中运行的VM实例将有可能访问对方的内存。官方表示,其有计划在未来将 WasmEdge 发展成为线程安全的。

  • WasmEdge 0.9.1 发布! 更好的 networking 支持与开发者体验、安卓支持 WasmEdge 0.9.1 发布了!此版本集成了高性能 networking、JavaScript 流式 SSR 和 Fetch API 支持、新的 bindgen 框架、安卓和 OpenHarmony 操作系统支持、扩展的 Kubernetes 支持以及改进的内存管理。 WebAssembly 扩展

  • 因为reqwest_wasi不支持https请求,原因可能是(加密算法移植不好实现,证书库验证不好实现等,而且发对aes加密效率还行,但对rsa非对称加密效率极低,2048位加密"hello word"需要最快13分钟[普通机器])。 使用代理软件squid支持https · Issue #2 · WasmEdge/wasmedge_reqwest_demo · GitHub 但因为使用wasi是

  • 作者:翁纯仪 在 OpenHarmony OS 上运行 WasmEdge,能够改善开发者的开体验。 Why 移动与 IoT 设备的特点是资源受限,软硬件不统一,用户体验却要求很高。设备要能安全,跨平台地运行第三方开发者提供的软件应用(例如,应用商店),因而直接原生编译的软件应用(Native Client, or NaCl)并不主流。鸿蒙与安卓这样的主流操作系统一般提供基于 Java 或者 Jav

  • docker pull dslim/slim 一、背景 因为公司内网无法使用wasmedge源码在docker容器中进行编译(酸那些可以编译的),所以使用官方发布的稳定版本进行环境搭建。 二、准备 1、wasmedge官网上下载wasmedge  release版本当前稳定版本,目前是0.11.2以及wasi-nn  plugin 2、可以通过私服拉取外部image的docker 三、步骤 1、构

  • OpenFunction 是一个开源的云原生 FaaS(Function as a Service,函数即服务)平台,旨在帮助开发者专注于业务逻辑的研发。今天,我们非常高兴地宣布 OpenFunction 迎来了一次重要的更新,即 v1.0.0 版本的发布! 本次更新中,我们继续致力于为开发者们提供更加灵活和强大的工具,并在此基础上加入了一些新的功能点。其中,该版本集成了 WasmEdge 以支持

  • WasmEdge 7月社区会议总结:wasi-crypto、wasi-nn 提案介绍与建设印度社区 WasmEdge maintainer 在每个月的第一个星期二举办面向全世界开发者的社区会议,分享技术进展和社区更新。7月的 WasmEdge 社区会议讨论了对 wasi-nn 和 wasi-crypto 提案的实现,以及在印度宣传 WasmEdge 的计划。完整视频在这里。 值得一提的是,Wasm

  • 开发者可以通过 DockerHub 和 CRI-O 等 Docker 工具在 WasmEdge 中部署、管理和运行轻量级 WebAssembly 应用程序。 WasmEdge 是由 CNCF (Cloud Native Computing Foundation) 托管的 WebAssembly 运行时,是边缘计算应用程序的执行沙箱。 虽然 WebAssembly 最初是作为浏览器应用程序的运行时而

 相关资料
  • TBD 参考 The Birth of an Edge Orchestrator – Cloudify Meets Edge Computing K8s(Kubernetes) and SDN for Multi-access Edge Computing deployment

  • 面试约的五一前的最后一个工作日晚上7点,电话面,上来面试官就道歉,说约面的时候没考虑到要放假了。 自我介绍 分布式锁相关 问项目里面是怎么使用到redis的?(缓存, 分布式锁,做抢单) 如果不用redis,怎么做抢单?(答:可以用go的channel做异步) 如果不用channel呢,可以用什么设计模式?(没回答上,面试官说用单例模式) MySQL怎么实现分布式锁?(唯一key) 除了唯一Key

  • CNCF,全称Cloud Native Computing Foundation(云原生计算基金会),成立于2015年12月11日,其口号是坚持和整合开源技术来让编排容器作为微服务架构的一部分,其作为致力于云原生应用推广和普及的一支重要力量,不论您是云原生应用的开发者、管理者还是研究人员都有必要了解。 CNCF作为一个厂商中立的基金会,致力于Github上的快速成长的开源技术的推广,如Kubern

  • 云原生一词已经被过度的采用,很多软件都号称是云原生,很多打着云原生旗号的会议也如雨后春笋般涌现。 云原生本身甚至不能称为是一种架构,它首先是一种基础设施,运行在其上的应用称作云原生应用,只有符合云原生设计哲学的应用架构才叫云原生应用架构。 云原生的设计理念 云原生系统的设计理念如下: 面向分布式设计(Distribution):容器、微服务、API 驱动的开发; 面向配置设计(Configurat

  • 我有一组原点-终点坐标,我想计算它们之间的最短路径。 我的出发地坐标有时位于一条长直线道路的中间。然而,由OSMNX/NETWorkX计算的最短路径将不考虑中间边缘到最近的节点路径。 OSMnx或networkx中是否有任何现成的函数,我可以使用它来找到在道路中间起点/终点的最短路径? 如果没有这样的功能,我会考虑使用以下步骤。 获取起点和终点的最近边 获取这些最近边的节点:假设(a,b)为起点,

  • 我使用精明的边缘检测器来检测输入图像的边缘。 在每个输入图像中,可以有两个对象(主对象和其中的另一个对象),如示例图像所示。因此,在这种情况下,我应该检测两条边 我根据输入图像自动确定上下阈值(使用中值和西格玛)。大多数情况下,canny工作正常,但有时当图像对比度不太好时,边缘检测失败,如以下示例所示(注意:-外边缘始终正确检测,内边缘出现问题) Canny检测到外部边界的边缘,但内部对象的边缘