Meta 表示,通过使用基于开源 eBPF 项目的 Strobelight 性能分析编排套件,成功将其核心服务的 CPU 使用周期减少了 20%。
对于这家以规模化用户变现为主营业务的公司来说,这一优化意味着运营 Facebook、Instagram、WhatsApp 以及元宇宙相关业务所需的服务器数量减少了 10% 到 20%。
eBPF 目前已不再是某个缩写的代称。虽然它最初代表"扩展伯克利数据包过滤器" (extended Berkeley Packet Filter),但随着其功能范围的不断扩展,这个缩写已经超越了其最初的含义。
这个拥有独立基金会的开源软件,为 Linux (以及正在开发中的 Windows 版本) 提供了一种在操作系统内核中运行沙盒程序的方法。这使得软件能够在特权内核环境中相对安全地运行,而无需构建和插入内核模块、将软件打包为驱动程序,或重新编译内核来添加所需功能。
在内核中运行对于服务优化特别有用,尤其是在大规模系统中,微小的性能瓶颈和低效问题都可能被放大,造成重大影响。在不影响性能的前提下,跨多个系统收集数据,并确保数据在不同内核版本间保持一致性和可解释性,这绝非易事。
Meta 开发的开源工具 Strobelight 可以协调各种使用 eBPF 的性能分析应用,用于收集可观测性数据——包括系统事件日志、性能度量指标和网络连接追踪等。其目标是提高基础设施效率,从而降低成本并获得运营优势。
Meta 软件工程师 Jordan Rome 在今年一月表示:"eBPF 允许安全地将自定义代码注入内核,这使得以极低开销收集各类数据成为可能,为可观测性领域带来了无限可能,很难想象没有它 Strobelight 要如何运作。"
Strobelight 目前包含 42 个不同的性能分析应用,这个数字颇具意义。这些分析工具可以测量内存使用、函数调用次数、各种编程语言中的事件、AI GPU 使用情况、服务请求延迟等指标。
正如 eBPF 基金会最近发布的 Meta 服务器节省案例研究中所述,仅通过一个字符的代码修改,就实现了相当于每年 15,000 台服务器容量的节省。
这个字符是一个 & 符号,但对 Meta 的财务人员来说,它的价值堪比美元符号。
根据 Rome 的说法:"一位经验丰富的性能工程师在查看 Strobelight 数据时发现,通过筛选特定的 std::vector 函数调用 (使用符号化的文件和行号),他可以识别出 C++ 中使用 'auto' 关键字时无意中产生的计算成本高昂的数组复制操作。"
在发现这个代价高昂的数组复制出现在 Meta 某个主要广告服务的路径中后,这位工程师确定这个向量复制并非有意为之。于是他在 auto 关键字后添加了一个 "&",将复制操作转换为引用,通过指向数据而不是复制数据来避免不必要的数据重复。
Rome 说:"这是一个单字符的提交,部署到生产环境后,估计每年可节省相当于 15,000 台服务器的容量。"
人们不禁会想,如果使用删除字符会带来多大的节省。
好文章,需要你的鼓励
英特尔携手戴尔以及零克云,通过打造“工作站-AI PC-云端”的协同生态,大幅缩短AI部署流程,助力企业快速实现从想法验证到规模化落地。
意大利ISTI研究院推出Patch-ioner零样本图像描述框架,突破传统局限实现任意区域精确描述。系统将图像拆分为小块,通过智能组合生成从单块到整图的统一描述,无需区域标注数据。创新引入轨迹描述任务,用户可用鼠标画线获得对应区域描述。在四大评测任务中全面超越现有方法,为人机交互开辟新模式。
阿联酋阿布扎比人工智能大学发布全新PAN世界模型,超越传统大语言模型局限。该模型具备通用性、交互性和长期一致性,能深度理解几何和物理规律,通过"物理推理"学习真实世界材料行为。PAN采用生成潜在预测架构,可模拟数千个因果一致步骤,支持分支操作模拟多种可能未来。预计12月初公开发布,有望为机器人、自动驾驶等领域提供低成本合成数据生成。
MIT研究团队发现,AI系统无需严格配对的多模态数据也能显著提升性能。他们开发的UML框架通过参数共享让AI从图像、文本、音频等不同类型数据中学习,即使这些数据间没有直接对应关系。实验显示这种方法在图像分类、音频识别等任务上都超越了单模态系统,并能自发发展出跨模态理解能力,为未来AI应用开辟了新路径。