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

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

背景

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

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

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

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

image.png

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

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

编译:算法与优化的分离

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

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

小结

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

目录
相关文章
|
关系型数据库 MySQL 数据库
MyEMS开源系统安装之数据库
本文详细讲解MyEMS的安装步骤,重点介绍数据库架构与脚本部署。MyEMS支持MySQL 8.0、MariaDB 10.5及SingleStore 7.0等数据库服务器。通过命令行或客户端工具执行SQL脚本完成安装,包括多个数据库(如myems_billing_db、myems_energy_db等)。此外,提供解决常见问题的方法,如“用户拒绝访问”、“COLLATE设置”和“MAX_ALLOWED_PACKET错误”。注意,不建议在生产环境中将数据库安装于Docker容器内。
372 1
|
10月前
|
人工智能 机器人 Linux
开源的基于RTOnBoot多核异构框架打造的低成本高性能Linux主控加Ethercat主站解决方案,同步周期可稳定达到125微秒
开源的基于RTOnBoot多核异构框架打造的低成本高性能Linux主控加Ethercat主站解决方案,同步周期可稳定达到125微秒
|
人工智能 安全 API
0 代码为你的 Typecho 博客接入阿里云百炼(可接入 DeepSeek-R1 满血版!)
随着科技企业LLM发展成熟,AIHelper插件让Typecho博客轻松拥有AI助手。通过集成阿里云百炼API,支持DeepSeek-R1、Qwen等模型,帮助读者快速查找内容、总结文章。本文详细介绍了从导出文章、配置阿里云百炼、创建AI应用到安装配置插件的全过程,确保安全高效地为博客添加智能交互功能。相比官方方案,AIHelper提供更安全的访问限制和低代码部署方式,无需编写代码即可实现智能化管理。
0 代码为你的 Typecho 博客接入阿里云百炼(可接入 DeepSeek-R1 满血版!)
|
Windows
课时5:环境变量
今天给大家带来分享的是环境变量,其主要分为以下五部分。 1.认识环境变量 2.查看环境变量 3.添加环境变量 4.修改环境变量 5.删除环境变量
364 0
|
缓存 负载均衡 算法
(四)网络编程之请求分发篇:负载均衡静态调度算法、平滑轮询加权、一致性哈希、最小活跃数算法实践!
先如今所有的技术栈中,只要一谈关于高可用、高并发处理相关的实现,必然会牵扯到集群这个话题,也就是部署多台服务器共同对外提供服务,从而做到提升系统吞吐量,优化系统的整体性能以及稳定性等目的。
700 2
|
机器学习/深度学习 数据采集 算法
机器学习:升维(Polynomial Regression)
该文介绍了升维的概念,指出在低维度中难以对混合数据进行有效分类,而升维是通过算法将数据投射到高维空间以改善模型性能。文章以多项式回归为例,说明了如何通过升维将非线性关系转换为线性关系,并提供了Python代码示例展示了如何使用`PolynomialFeatures`进行升维。代码结果显示,随着维度增加,模型从欠拟合逐渐过渡到过拟合。
1940 0
|
人工智能 自然语言处理 算法
入局AI新赛道,这块敲门砖你get了吗?
入局AI新赛道,这块敲门砖你get了吗?
452 0
|
存储 机器学习/深度学习 缓存
冷饭新炒:理解Snowflake算法的实现原理
Snowflake(雪花)是Twitter开源的高性能ID生成算法(服务)。下面就Snowflake的源码分析一下他的实现原理。
821 0
冷饭新炒:理解Snowflake算法的实现原理
|
Windows
【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 数据查找技巧 | 地址访问调试 | 指令选择技巧 | MOV 汇编指令含义 | 基址值搜索 ) ★
【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 数据查找技巧 | 地址访问调试 | 指令选择技巧 | MOV 汇编指令含义 | 基址值搜索 ) ★
1188 0
【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 数据查找技巧 | 地址访问调试 | 指令选择技巧 | MOV 汇编指令含义 | 基址值搜索 ) ★