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

背景

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

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

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

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

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

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

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

编译:算法与优化的分离

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

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

小结

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

上一篇:基础设施助力双11(六):看网络如何“自愈”


下一篇:[WS]使用Axis发布简单的Web服务