- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
构造一个跨语言跨平
台的新生态
Component Model of WebAssembly
He, Liang Intel
议题
• Component Model 解决的问题
• Component Model 方案介绍
• 新 WASI
Component Model 解决的问题
回顾
Wasm App 开发流程
• 使用开发者熟悉的语言编写
• 使用工具链生成 Wasm Module
• 完成胶水代码 (Glue code)。包括 Runtime 初始化,Module 加载,实例
化,运行
当 Wasm App 规模变大
• 模块化
• 分离通用功能
• 基础库 (WASI)。基于能力的安全模型的潜在要求
可复用的 Wasm Module
• 实现 Wasm Modules 时:
• 如何使用不同语言的类型系统表达相同的逻辑概念,比如复合类型,语言
特有的类型 (Optional),编程的概念 (Async)
• 如何确保经过不同的工具链的转换,解决了第一个问题的代码能产生符合
import/export 要求的 Wasm 代码
• 运行 Wasm Modules 时:
• 胶水代码。定义实例化顺序,满足实例化条件 (import)
• 链接 (link)的形态
链接形态
• 静态
• 自包含但扩大了不必要的冗余
• 动态
• Shared-everything。模拟 native linking (.dll, .so)的过程,所有的
modules 共享一个内存空间
• Shared-nothing。充分隔离
• 根据场景制定最适合的方案
Component Model 方案介绍
Component Model 解决什么问
题
• 实现跨语言条件下的跨模块的通讯
• Host - Module
• Module - Module
• 实现多 Module 之间的隔离性,并使其可配置
Component type
• IDL。 .WIT
• 丰富的类型。record,list,tuple,option,resource 等
• 需要由 Core Wasm Type 来表示
• Canonical ABI. 实现 Component Type 和 Core Wasm Type 之间的转
换
• Bindgen (Optional)。在 Canonical ABI 的约束下,实现不同语言对
Component type 的表示
基于 component type 的接口
• 参数和返回值需符合一致性兼容性原
则
• 参数和返回值按值传递
• Runtime 负责在不同 component 间
搬运数据
Parametric linking
• 代码单元 (静态)和代码实例 (动态)
• 代码单元声明的 import 必须在实例化过程中满足
• 一个代码单元可以成为另一个代码单元的 import
• 优势 :隔离和虚拟化
可配置的链接形式
• 举例 :
• component instance 之间
不共享线性空间
• component instance 内部
共享线性空间
简化胶水代码
• 将大部分实例化过程 (完成链接)从胶水代码中转移到 component model
section 中
• (instance), (instantiate)
• dummy module。重新组合来 自于不同 Module instance 和 host 的
export
•
您可能关注的文档
- 云计算进入AI原生时代+0903.pdf
- 邓艳琴(Clara)-中国的第+15+年.pdf
- 步绍鹏-利用大模型打造更聪明的猴子下一代跨平台软件测试基础设施+Hydra+Lab.pdf
- 赖文昌-火山引擎应用交付在多环境、多云场景中的探索和实践.pdf
- 吴英骏-实时分析与流处理:合作共赢还是竞争对手?.pdf
- 梁宇鹏-大模型时代创业:给高瞻远瞩的你三个建议.pdf
- 王新栋-如何从架构体系视角进行系统性能优化.pdf
- 伍旭飞-大模型时代下向量数据库的创新与挑战.pdf
- 申广宇-线下多终端场景前端技术探索实践pptx.pdf
- 薛文满-字节跳动日志智能化的探索与实践.pdf
- 周路-SOFA研发测试工具链智能化带来质变.pdf
- 邓楠-MatrixOne在SaaS企服领域的应用场景解读-改.pdf
- 续日-Excelize+开源基础库助力企业信息系统协同创新.pdf
- 胡涛-DevChat从实践中来到实践中去的+GPT+智能编程工具设计.pdf
- 张鹏-ChatGLM:认知大模型与应用初探.pdf
- 成超-B站前沿多媒体技术保障用户体验与创作权益.pdf
- 刘轩-BES在大规模向量数据库场景的探索和实践.pdf
- 从0到1精益创新+AIGC产品应用及商业化落地实践.pdf
- Alex+Chen-AI+模型时代的多模态数据存储、管理和应用.pdf
- 刘鑫-Rust WebAssembly构筑大模型生态的基础设施.pdf
原创力文档


文档评论(0)