基础设施助力双11(二): 发挥异构计算硬件资源的软实力

简介: 如何把繁杂的业务需求高效地映射到异构资源上,使得异构资源各尽所长发挥最佳效能,同时也能最大程度地提升业务性能,是个非常有挑战性的难题。

背景

阿里巴巴有着庞大且复杂的业务场景,从图像分类、视频检测,到语音辅助、搜索推荐,使用了多种机器学习/深度学习的算法和模型,需要强大的计算力做支撑。另一方面,阿里巴巴基础架构除了炫酷的数据中心、高带宽的网络架构、高密度的存储系统外,也拥有强大的异构计算资源。并且随着AIS团队技术力量的日益成熟,基础架构中的计算资源正迅速多样化,从CPU、GPU、FPGA,到深度定制、自研加速器,计算硬实力有了爆发式增长。如何把繁杂的业务需求高效地映射到异构资源上,使得异构资源各尽所长发挥最佳效能,同时也能最大程度地提升业务性能,是个非常有挑战性的难题。

所以,在发展异构计算硬实力的同时,如何展示其潜力、把效能发挥到极致的软实力同样也是攸关重要的,而编译技术正是这个展现软实力的核心技术之核心。

计算力:软硬实力的完美协同

经典的编译算法解决了多种编程语言对多种微处理器架构的问题,在统一的编译框架上实现高级编程语言(比如C++ 和Java)到目标机器可执行代码的转换,这是编译1.0 时代的主要目标。在编译2.0 时代,增强了通用优化和关于target架构的针对性优化,以产生最优可执行代码。而在AI/机器学习时代,我们把编译技术从面向语言、面向目标架构的这两个阶段提升到面向场景的软硬一体全栈式优化阶段,即所谓的编译 3.0。

image.png

通过一体化的编译技术,深度理解和识别应用程序的特性和对计算资源的需求,根据异构硬件的特征,灵活适配任务的执行单元,同时通过对应用特征的全局分析,分割或融合应用开发者对应用的原始功能划分,从而找到最佳的数据传输和布局方案。

软硬一体的深度优化最大程度发挥出硬件的真正实力,提升了业务性能,大幅改进资源利用率。

编译:算法与优化的分离

面向场景的编译技术实现了对异构资源的抽象,使得业务逻辑和编程框架更加灵活。不仅如此,资源抽象也增加了业务逻辑和性能在多种执行环境下(数据中心和边缘计算)的可移植性。开发者在业务逻辑上的优化,可以适用于任何后端计算平台。

更为重要的是,业务逻辑和硬件逻辑开发可以在各自的领域里快速迭代、优化而不会互相影响对方的迭代进度。以编译平台赋能的松耦合、并行开发,为业务的及时落地和硬件创新打下良好的基础。

小结

双11是阿里巴巴对技术极限的追求,目前已在机器学习/深度学习领域、面向场景的编译平台上,在发挥异构计算的潜力上初见成效。阿里巴巴基础架构的软硬实力双剑合璧,成功地支撑了双11的商业奇迹。

目录
相关文章
|
网络协议 网络架构
计算机网络期末复习——计算大题(一)
计算机网络期末复习——计算大题(一)
674 0
计算机网络期末复习——计算大题(一)
|
存储 安全 持续交付
【Docker 专栏】Docker 镜像的版本控制与管理
【5月更文挑战第9天】本文探讨了Docker镜像版本控制与管理的重要性,包括可重复性、回滚能力、协作开发和持续集成。常用方法有标签、构建参数和版本控制系统。管理策略涉及定期清理、分层管理和镜像仓库。语义化标签、环境变量和配置文件在版本控制中有应用。版本系统与Docker结合能跟踪历史和促进协作。注意点包括优化镜像大小、确保安全性和兼容性。案例分析和未来趋势展示了持续发展的镜像管理技术,为Docker应用的稳定与进步保驾护航。
691 7
【Docker 专栏】Docker 镜像的版本控制与管理
|
开发工具 Android开发 开发者
OpenHarmony与HarmonyOS有什么区别?
如果你对HarmonyOS底层的技术感兴趣,想了解或者想对HarmonyOS做贡献,那么选择OpenHarmony。当然,如果想更进一步,做一款属于自己的操作系统,基于OpenHarmony开源项目做二次开发也是不错的选择哦。
474 1
|
12月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
626 1
|
资源调度 调度 混合部署
Koordinator 助力云原生应用性能提升,小红书混部技术实践
本文基于 2023 云栖大会上关于 Koordinator 分享的实录,介绍小红书通过规模化落地混部技术来大幅提升集群资源效能,降低业务资源成本。
|
前端开发 JavaScript 数据库
从零开始搭建创业公司全新技术栈解决方案
创业公司在初期面临的挑战之一就是如何构建一个既能满足当前需求,又能适应未来发展的技术栈。本文将全面探讨从后端到前端,再到云原生技术和AI大模型应用的各个层面,帮助创业者了解如何选择合适的开发语言、框架、工具,以及如何制定有效的开发流程,从而搭建一个强大而稳定的技术体系。
930 1
从零开始搭建创业公司全新技术栈解决方案
|
测试技术
大语言模型的长文本处理能力
最近大语言模型的一个发展方向就是大语言的模型的长下文能力(long context),谷歌的Gemini 1.5 100万输入,kimi chat支持允许200万输入。那么于大语言模型的长文本能力到底如何呢? 今天通过分析下两个观点【6月更文挑战第5天】
524 2
|
域名解析 存储 缓存
计算机网络选择题填空题判断题整理
计算机网络选择题填空题判断题整理
计算机网络选择题填空题判断题整理
|
缓存 网络架构
计算机网络——数据链路层-可靠传输的实现机制:停止-等待协议SW(确认与否认、超时重传等,信道利用率及相关练习题)
计算机网络——数据链路层-可靠传输的实现机制:停止-等待协议SW(确认与否认、超时重传等,信道利用率及相关练习题)
379 0
|
弹性计算 运维 算法
ECS稳定性体系建设与最佳实践|开发者分享会
今天分享的内容来自阿里云弹性计算技术专家杜文彬的“ECS稳定性体系建设与最佳实践”。全文围绕阿里云ECS稳定性体系建设、云上应用稳定性最佳实践这2个主题内容进行讲解。