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 台服务器的容量。"
人们不禁会想,如果使用删除字符会带来多大的节省。
好文章,需要你的鼓励
从ADHD意识游戏到疫苗教育游戏,目的驱动的游戏正在重塑全球公共健康沟通。研究表明,这些游戏不仅能提高参与度和知识保留率,还能带来更持久的行为改变。专家认为,结合AI聊天机器人的游戏化健康工具有望进一步提高效率,为全球健康挑战提供创新解决方案。
Google 推出了新一代应用开发平台 Firebase Studio,利用生成式 AI 技术,让用户能在浏览器中快速创建自定义应用。该平台集成了 Google 的多项开发工具,支持多种编程语言和框架,提供各类预置模板和 AI 辅助功能,大大简化了应用开发流程。目前该平台已开放预览版供所有 Google 账户用户使用。
随着人工智能的发展,企业面临着前所未有的安全挑战。40%以上的企业欺诈现在由AI驱动,能够模仿真实用户行为、绕过传统防御系统,并以压倒性的速度进行攻击。2024年,近90%的企业遭受攻击,半数损失超过1000万美元。为应对这一威胁,安全团队需要采用全新的思维方式和技术手段,实时评估每个用户的风险,构建更加智能和动态的防御体系。
Google 推出统一安全平台 GUS,整合多项安全产品和服务,包括威胁情报、安全运营、云安全等。该平台由 Gemini AI 驱动,旨在为企业提供全面的安全数据层面,简化安全管理流程,提高威胁检测和响应效率。Google 期望通过这一平台解决企业安全领导者面临的碎片化安全解决方案问题,为用户提供更好的安全成果。