写点什么

谷歌改进 gVisor 提高沙箱容器文件系统性能

  • 2023-02-16
    北京
  • 本文字数:994 字

    阅读完需:约 3 分钟

谷歌改进gVisor提高沙箱容器文件系统性能

谷歌改进gVisor中的文件系统实现,gVisor 是一个开源隔离层,用于面向商业容器的产品,如 App Engine、Cloud Run 和 Cloud Functions。根据谷歌工程师 Ayush Ranjan 和 Fabricio Voznika 的说法,新的 gVisor 文件系统被称为 VFS2,可以将文件密集型工作负载的性能提高大约 50%-75%。

 

gVisor 的主要目标是在容器和底层内核之间提供一个隔离层,该隔离层由运行在同一节点上的所有容器共享。为了防止恶意或易受攻击的容器危及整个节点的安全,gVisor 实现了 Linux 系统表层的很大一部分,包括一个名为 runsc 的符合开放容器倡议(OCI)的兼容运行时,该运行时在应用程序和主机内核之间提供隔离边界。

 

由于 gVisor 内核不可信任,因此它不能直接访问文件系统。文件系统操作由代理(称为 Gofer)来代理操作,该代理与可能的恶意工作负载相隔离。像 open、create 和 stat 这样的操作被转发到代理,经过审核,然后再由代理执行。

 


谷歌工程师发现,gVisor Gofer 文件系统通过将路径解析委派给底层文件系统(每个路径组件使用一个 RPC 调用)来处理路径解析的方式对性能有害。对于频繁执行文件操作的工作负载,例如构建任务或运行带有大量导入的 Python 和 NodeJS 程序时,情况尤其如此。

 

要解决这个问题,需要启用 gVisor 的 Sentry,使其能够将路径解析直接委托给文件系统。......例如,在 VFS1 stat(/foo/bar/baz)中,至少生成三个到 gofer(foo,bar,baz)的 RPC,而 VFS2 仅生成一个。

 

此外,谷歌还借此机会创建了一个用于在 gVisor 沙箱和 Gofer 之间进行通信的新协议。该新协议名为LISAFS((Linux Sandbox File system protoco,Linux 沙箱文件系统协议),它既减少了 RPC 调用的数量,也减少了它的内存使用量,改善了多路径组件的遍历,并加快了文件 I/O。

 

Ranjan 和 Voznika 表示,由于这些变化, 根据许多不同的度量指标,runsc引入的开销减少了 50%-75%。

 

与在根文件系统或内存文件系统中托管源代码相比,使用绑定装载时的改进最大。这些结果是通过运行官方 bazel 基准测试构建 gRPC 和 Abeil 而获得的。

 

基准测试的结果基本上得到了实验数据的证实,实验数据表明,整个平台上的 Google App Engine 冷启动时间提高了 25%以上,这一数据包括了所有类型的工作负载,而不仅仅是文件系统密集型的工作负载。

 

原文链接:

https://www.infoq.com/news/2023/01/gvisor-file-system-improvements/


相关阅读:

Google App Engine 涨价,开发者深受打击

Google 发布 App Engine 的 Go 语言通用版

2023-02-16 08:008146

评论

发布
暂无评论
发现更多内容

垂直领域LLM训练推理全栈利器

百度开发者中心

#人工智能 LLM 大语言模型

JDK安装与配置教程

小齐写代码

Triband QCN9024 work with IPQ6010-IPQ8072 - achieve higher speed bandwidth, more available channels

wifi6-yiyi

线下Meetup:在数智化转型背景下,火山引擎VeDI的大数据技术揭秘

字节跳动数据平台

大数据 数据治理 数据安全 数据研发 企业号9月PK榜

IoTLink版本更新V1.43.0 新增部分ERP功能:销售合同 库存管理

山东云则信息科技

物联网

香港服务器如何帮助企业在线业务提供卓越性能和稳定性

一只扑棱蛾子

香港服务器

向上管理:三个技巧,教会你如何与上级、老板高效协作

LigaAI

产品经理 技术管理 职场成长 向上管理 企业号9月PK榜

数字化转型与架构-架构设计篇|软件开发框架帮我们做了什么?

数字随行

数字化转型

大模型在超算上的应用与发展

百度开发者中心

#人工智能 LLM 大模型推理 千帆大模型平台

解锁Java面试中的锁:深入了解不同类型的锁和它们的用途

程序那些事

Java 面试 java面试 程序那些事 面试秘籍

华秋供应链,让硬科技创业更简单

华秋电子

创业

Springboot vs Quarkus

Kevin_913

用友出席第六届中国企业论坛,分享央国企数智化转型方案

用友BIP

数智化转型

代码层面探索前端性能 | 京东云技术团队

京东科技开发者

CSS 性能优化 前端 企业号9月PK榜

释放创新:与加密货币交易软件开发公司合作

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

如何教会小白使用API接口获取商品数据

Noah

API 文档 API 开发

Comparing QCN9274 and QCN9074: WPA3 Support in Qualcomm Wi-Fi Chips

wallyslilly

QCN9074 qcn9274

在统信UOS上部署DotNet(Core)服务

为自己带盐

国产化 UOS dotnetcore

飞桨黑客马拉松第五期即刻开启报名!

飞桨PaddlePaddle

飞桨 黑客松

大语言模型的微调与优化

百度开发者中心

#人工智能 LLM 大语言模型

DAPP代币通缩燃烧销毁质押挖矿系统开发(成熟技术)

l8l259l3365

可观测成熟度模型介绍(二)

乘云数字DataBuff

2023中国智能产业高峰论坛丨文档图像大模型的思考与探索

热爱编程的小白白

OpenHarmony自定义构建函数:@Builder装饰器

OpenHarmony开发者

OpenHarmony

从索引实现上来看看你用的 TDengine 为什么这么快!

TDengine

tdengine 时序数据库 国产时序数据库

Vitess全局唯一ID生成的实现方案 | 京东云技术团队

京东科技开发者

MySQL 数据库 企业号9月PK榜 vitess

中文导航、本地指南一个App搞定,华为手机国庆出境游用Petal Maps就够了!

最新动态

网络分析、自动化处理的强大工具

百度开发者中心

大模型训练 #人工智能 千帆大模型平台

专为小白打造—Kafka一篇文章从入门到入土 | 京东云技术团队

京东科技开发者

云计算 kafka 中间件 消息列队 企业号9月PK榜

谷歌改进gVisor提高沙箱容器文件系统性能_语言 & 开发_Sergio De Simone_InfoQ精选文章