云数智融合体系建设实践——以工行软件开发中心为例

随着“云计算第三次浪潮”的涌动,业界正见证着一场围绕“算力”的结构性变革。云计算、大数据、人工智能三大核心技术的深度融合,正推动着算力基础设施的快速发展,实现算力的高效调度与利用,也标志着业界对云计算体系布局的全新理解与实践,“云数智融合”趋势正深刻改变着科技行业的基础设施与业务模式。在这一大背景下,很多企业提出了加强云计算、大数据及人工智能新技术体系演进的前瞻性思路,持续提升基础设施体系能力与水平,以实现“低成本、高弹性、高性能、强韧性”的云平台价值。

一、业界云数智融合技术发展趋势

业界云数智融合的技术发展趋势可以细分为两个主要体系:云数融合云智融合。

云数融合侧重于将云计算与大数据技术深度整合,以实现通用算力的高效和灵活使用。云计算平台的弹性扩展能力为大数据的存储、处理和分析提供了高效的基础设施支持,使得大数据技术能够在云平台上以更低的成本、更高的弹性进行应用。在这一领域,主要的技术发展趋势包括:

(一)常态化在离线混部:在离线混部技术利用在、离线业务互补的负载特性,将交易类系统等在线业务与大数据批量等离线业务混合部署到相同物理资源上,实现服务器资源的加倍复用,是业界一致认可和推荐的提升服务器资源利用率、降低运营成本的有效方案。目前业界已经从分时复用的潮汐混部逐步走向常态化的7*24小时混部,常态化混部可有效突破通用算力资源池利用率瓶颈,并实现业务加速,是算力资源建设的新趋势。

(二)大数据云原生:随着云计算技术的深入应用,具备资源集约化和灵活性优势的云原生概念应运而生,大数据技术完成了从私有化部署到云上部署再向云原生的转变,这为存算分离等新架构提供技术基础的云原生能力,可被大数据利用以提升效率。中国信通院最新发布的大数据白皮书指出:“利用云原生思想进行能力升级”为当前大数据技术发展趋势。

云智融合则关注于云计算与人工智能技术深度整合,通过构建强大的智算基础设施,实现智能算力的高效和灵活使用。云计算平台提供强大算力和弹性资源管理能力的同时,还需提供高效的数据传输和存储解决方案,以支持人工智能模型的高性能训练和推理。在这一领域,主要的技术发展趋势包括:

(一) GPU虚拟化:图形处理单元(GPU)的虚拟化技术使得多个虚拟机/容器可以共享同一GPU资源,从而提升计算资源的利用效率。这一技术降低了人工智能模型训练和推理过程中的硬件投入成本。

(二) 智算资源调度:基于GPU虚拟化技术,Kubernetes(一种开源的容器编排平台,简称k8s)引入了GPU共享和资源隔离调度技术,持续优化k8s集群的中心调度器,并提供多种调度策略方案,进一步提升了智算资源的精细化管理能力。这些技术进展使得智能算力调度更加高效和灵活,满足了复杂计算任务的需求,并推动了资源的高效利用和管理。

(三) AI存储加速引擎:通过云原生数据编排技术,结合分布式缓存技术,实现对数据存储和访问的优化,提高AI训练和推理过程中数据的访问速度和系统响应能力;通过点对点(P2P)技术提高智能服务镜像、模型等文件的拉取速度,推动智能底座的性能提升和资源优化,进一步增强AI应用的性能表现。

二、中国工商银行软件开发中心云数智融合体系建设实践

中国工商银行软件开发中心(以下简称“工行软件开发中心”)积极响应“云计算第三次浪潮”的号召,致力于推动云计算、大数据和人工智能的深度融合,持续构建云数智融合的“一云多算”新型算力布局,提升全局资源利用率,实现降本增效,提升业务时效。为推动云、数、智算力基于云原生技术的融合,打造云数智融合一体化生态,工行软件开发中心建成以常态化混部为核心的“云数融合”以及以云原生智算基础设施为核心的“云智融合”(如图1所示)。

图片

图1 云数智融合总体架构图

(一)云数融合建设实践

1. 常态化在离线混部

常态化在离线混部包含底层平台能力和上层计算引擎两部分内容,底层平台具备混部资源管理、混部调度、服务质量保障等核心能力,为上层计算引擎提供安全可靠的运行环境(如图2所示);上层计算引擎实现云原生化,支持容器化部署(如图3所示)。

图片

      图2 底层平台能力示意图                         图3 上层计算引擎

底层平台能力方面,一是建立混部资源管理模型,定义应用在混部技术体系下的优先级,以及各优先级相匹配的计算资源供应质量;二是实现在离线资源混部调度,以资源双水位线控制算法为基础,结合混部增强调度算法,完成在离线混部场景下的容器调度;三是构建混部服务质量保障体系,通过资源隔离、干扰检测等手段保障混部场景下在离线应用的服务质量。

上层计算引擎方面,持续推进大数据计算引擎云原生改造,完成Spark、Flink计算引擎容器化适配,使其可以部署到k8s混部集群复用云平台的空闲资源,实现在、离线业务的混合部署。

建立混部资源管理模型是实现不同等级业务混部的前提,是常态化混部技术的基础。模型包括应用优先级分级、计算资源质量分级两部分。应用优先级分级通过根据应用的不同优先级分配不同质量等级的计算资源,实现对服务器资源的复用,根据行内现状将应用分为高优在线、中优在线、低优离线三个优先级。计算资源质量分级,与应用优先级分级相对应的,是服务器计算资源的分级管理。参考业界一般的优先级模型,结合行内实际情况,根据对CPU资源的不同抢占优先级,将计算资源分为高优、中优、低优三个优先级。

实现在离线资源混部调度,避免资源频繁竞争,是实现业务混部稳定运行的关键。常态化混部采用调度水位线、驱逐水位线的双水位线控制算法,通过设置一定的资源使用安全阈值,避免资源竞争风险。节点调度水位线控制节点离线资源可用量,当节点计算资源使用量达到调度水位线时,设置节点为不可调度。此时,新的离线批量任务无法再调度到该节点,保障节点有一定的冗余资源。节点驱逐水位线控制节点整体负载压力,当节点计算资源使用量达到驱逐水位线时,表示节点负载过大,发起主动驱逐操作(优先驱逐低优离线任务),使节点负载降到驱逐水位线以下。

构建混部服务质量保障体系,是充分保障高优先级在线应用服务质量的必要措施。资源水位线控制并不能完全保证在离线业务之间不发生资源争抢,为充分保障高优先级的在线应用的服务质量,需对在离线业务进行多维度的资源隔离和限制,避免离线业务对在线业务产生干扰。混部系统的资源隔离能力通常基于操作系统的内核能力构建。因此,工行软件开发中心利用操作系统内核能力实现包括CPU、内存、磁盘IO、网络IO在内的多维度资源隔离能力,同时根据操作系统的CPI(即每条指令执行所需平均CPU周期数)指标构建干扰检测能力,当产生干扰时,在离线混部调度框架提供基于应用优先级的主动驱逐策略,当有多个相同优先级的应用时,按Pod数和Pod占用资源量进行决策,并提供人工确认操作(如图4所示)。

图片

图4 服务质量保障体系

2. 大数据云原生

工行软件开发中心借鉴业界大数据云原生建设经验,从“算、管、存、弹”四个方面进行大数据平台架构规划与建设。通过建设云上统一存储服务,实现存算分离部署形态,解耦大数据存储与计算资源,并在架构上独立建设统一元数据服务,形成统一的数据视图,在统一资源管理服务中引入容器化弹性资源池,支持计算资源弹性调度,使得大数据平台在资源扩容、资源调度、资源隔离、资源利用率等获得全方面提升,降低大数据平台综合成本,提升平台资源供给能力(如图5所示)。

图片

图5 云原生大数据平台架构图

大数据平台的计算层主要负责数据的处理和分析。通过提供丰富的计算引擎,满足多种业务场景的分析需求,包括批处理引擎Hive/Spark、批流一体引擎Flink、交互式分析引擎等。计算集群不再存储数据,实现无状态化,且可实现计算集群之间资源的完全隔离和按需扩容。平台持续推进传统计算引擎云原生化改造,Spark、Flink已完成容器化适配,支持部署到k8s上以复用云平台的空闲资源,同时打造新云原生分析计算引擎,借助云平台的弹性算力实现计算实例秒级发放,助力大数据实时多维分析场景的时效提升。

大数据平台的存储层包括统一存储和统一元数据服务,实现数据统一存储、元数据统一管理,统一面向多个大数据计算集群提供全局数据视图,避免传统架构下跨集群共享数据需拷贝一份带来的冗余问题。同时,通过权限统一控制,全局保障数据访问安全。

大数据平台的资源层统一纳管底层异构硬件,通过资源池化能力,向上融合供给大数据计算与存储资源。在资源层统一资源管理服务中借助云平台能力,创新引入容器化弹性资源池,支持计算资源弹性调度,并实现在、离线资源混合部署和调度,使得大数据平台在资源供给能力方面获得大幅提升。

(二)云智融合建设实践

1. GPU虚拟化

GPU虚拟化是一种将物理GPU资源切分为多个虚拟GPU的技术,以实现多用户共享资源的目的。由于不同厂商的GPU架构各异,虚拟化技术缺乏统一的实现标准。目前业界常见的GPU虚拟化技术有如下3种(如表1所示):

表1 业界常见的GPU虚拟化技术

虚拟化技术

技术原理

优点

缺点

用户态虚拟化

采用计算框架接口劫持的方式实现,通过拦截CUDA Driver API的调用,实现显存资源和算力资源的隔离。

基于开源技术,技术可行性高。

支持更小粒度的算力、显存切割。

针对不同的CUDA版本需要适配,CUDA升级需要人力维护,稳定性差。

Nvidia不提供官方支持,不辅助进行二次开发。

内核态虚拟化

采用驱动层接口劫持的方式实现,通过模拟设备文件来拦截CUDA Driver对GPU驱动的访问。

不依赖CUDA版本,无需频繁适配。

稳定性、安全性和性能较高,相对于用户态虚拟化有更好的算力隔离能力。

需要内核开发人员,技术要求高。

需要适配不同内核版本和GPU驱动以及硬件型号。

不支持显存超分。

硬件虚拟化

GPU卡厂商官方技术,在硬件基础上实现GPU切分。

官方技术,稳定性、资源隔离、安全、性能最佳。

仅有部分新卡型号支持。

切分粒度有限,不灵活。

由于用户态虚拟化稳定性较差,非业界主流技术路线,而内核态虚拟化和硬件虚拟化较稳定,故为业界主流技术路线,其中硬件虚拟化技术只有近几年的新卡支持,因此,工行软件开发中心对近几年的新卡优先采用硬件虚拟化技术,对老卡采用内核态虚拟化技术,并利用云平台进行封装,保持对用户透明。

2. 智算资源池化调度

工行软件开发中心通过自主优化k8s集群中心调度器,提供多种调度策略,根据任务优先级和实际GPU资源分布,以实现智能算力的统一精细化管理和利用。在智算场景根据训练、推理任务的特点,提供以下几种调度方式:(1)紧凑型调度:优先选择分配率高的GPU节点进行调度。适合于训练任务,关注资源和拓扑,通过紧凑型策略保障资源利用率。(2)平铺型调度:优先选择分配率低的GPU节点进行调度,通过均匀分布以保持良好的网络连通性和容错性。适合于推理任务,关注高可用和时延,通过平铺型策略保障负载均衡。(3)亲和性调度:优先选择同NUMA模块(已有数据缓存)节点进行调度,适合于推理、训练任务,关注容器性能提升,通过亲和性调度策略保障节点访问最优性能(如图6所示)。

图片

图6 GPU调度策略

3. AI存储加速引擎

工行软件开发中心基于P2P技术实现高并发场景下镜像及远端拉取文件分发加速(如图7所示),通过在集群内部构建P2P分发网络,打通节点之间镜像缓存分发加速能力,实现镜像、文件分层拉取,避免同层文件重复访问镜像仓库及文件服务器节点,降低分发流量对网络侧产生的冲击,从而减小镜像等文件访问耗时。

图片

图7 文件分发加速技术原理图

工行软件开发中心基于云原生数据编排引擎+分布式文件缓存技术实现文件访问加速:一是实现分布式数据集编排和加速,将数据缓存能力内置到数据集对象中,可根据应用的需求进行缓存数据的亲和性调度,最大程度减少远程数据的访问延迟;二是基于分布式缓存技术构建集群内部分布式缓存,使得从远端拉取的数据可以被复制到各个节点。当请求量增大时,可以通过增加缓存节点来分摊压力,而不是仅依赖单个服务器,从而减少对后端数据库或其他慢速存储的频繁访问,加快响应时间。

(三)组织架构保障

云数智融合工作涉及面广,技术难度高,工程量大,工行软件开发中心成立跨技术领域、跨地域的专家级攻坚团队,利用其在云计算、大数据、人工智能多个领域积累的技术经验,通过深度整合与创新,成功打造了同业领先的云数智融合一体化生态,使得通用算力、智能算力具备高度的灵活性和可扩展性,能够快速适应业务的发展和变化,为工商银行在金融科技领域的持续创新奠定了坚实的基础。

三、工行软件开发中心云数智融合建设成效

云数融合方面,工行软件开发中心已建成常态化在、离线混部能力,具备混部资源管理、混部调度、服务质量保障等核心能力,实现在、离线业务7x24小时混合部署。通过混合部署累计实现超3万核的通用算力资源挖潜,混部集群的CPU日均利用率在30%以上,业务部署密度提升50%以上。挖潜算力资源解决了大数据平台高峰期算力不足的痛点问题,实现了业务时效的显著提升:一是支撑新增数千张贴源层实时入湖表,数据更新时效提升至分钟级,从源头上提升数据全链路加工时效,全面提升数据中台服务时效;二是支撑数据分析师用数赋智场景建模分析,解决信用卡部风险预测、客户价值挖掘、产品推荐等近30余个场景建模时效问题,全局任务等待时间压降20%;三是支撑私人银行业务对客标签查询场景时效提升,将端到端对客标签查询数据加工时效从6小时提升至4小时,可在每日9点前完成;四是支撑客户画像核心标签场景时效提升,关键标签更新时效从6小时提升至4小时,可在每日9点前完成,赋能营销通等业务。

云智融合方面,工行软件开发中心已建成涵盖GPU虚拟化、池化调度、存储加速、弹性伸缩、资源可观测等能力,实现智能算力集约调度:一是完成信创、非信创GPU卡虚拟化技术落地,通过打造智算资源池化调度器,结合迁移合并服务部署,已累计节约数百张GPU卡;二是完成数据编排引擎及分布式文件缓存技术落地,提升大模型容器启动速度60%;三是完成智算实例弹性伸缩能力建设,支持基于资源用量动态横向伸缩和垂直伸缩,为不合理资源配置减少资源冗余,以实现智算资源的集约管理和充分复用;四是实现非侵入式的Pod级智算资源监控能力,提供从GPU卡粒度下钻到容器Pod粒度实时获取GPU算力使用率和显存资源使用量的能力,支撑智算资源运营治理。

四、未来展望

随着云计算、大数据和人工智能的深度融合,金融科技行业正迎来前所未有的变革。这一变革不仅推动了技术的飞速发展,也将重塑金融的业务模式和基础设施。展望未来,云数智融合将持续影响金融科技行业。

云计算和大数据将进一步融合,大数据的计算引擎全面实现云原生化,资源调度器由云计算平台统一提供,从而极大地减少通用算力的碎片资源。同时,利用云平台的基础硬件、网络、存储能力提升,大数据的数据处理效率将得到极大提高,使得数据存储、处理和分析更加灵活、可靠,从而帮助金融机构能够在更短时间内获得实时的数据分析结果,进一步提高数据驱动决策的质量和速度。

云计算和人工智能将进一步融合,人工智能算法帮助云平台实现更强大的资源预测、分配、调度能力,同时云平台的自动化和集成工具将简化人工智能模型的部署和管理流程,使得金融机构能够更快地将创新智能应用推向市场,从而提升客户体验并创造新的业务价值。

云数智融合的未来充满了机遇与挑战,技术的深化整合将推动金融科技行业的转型升级。工行软件开发中心始终紧跟技术发展的步伐,积极应对变化,以实现更加高效和智能的业务运营,推动业务的可持续发展和创新。

                                来源:中国工商银行金融科技研究院云计算实验室

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/942213.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

评估大语言模型在药物基因组学问答任务中的表现:PGxQA

​这篇文献主要介绍了一个名为PGxQA的资源,用于评估大语言模型(LLM)在药物基因组学问答任务中的表现。 研究背景 药物基因组学(Pharmacogenomics, PGx)是精准医学中最有前景的领域之一,通过基因指导的治疗…

com.google.common.collect.ImmutableList$SerializedForm

今天AndroidStudio安装了个2021版本的,gradle用了7.3.3,创建项目后控制台总是有这样一个错误: Unable to load class com.google.common.collect.ImmutableList$SerializedForm. This is an unexpected error. Please file a bug containing…

[机器学习]sklearn入门指南(2)

上一篇文章中,我们介绍了如何用sklearn训练和预测模型,以及缺失值处理,详见[机器学习]sklearn入门指南(1) 分类变量 分类变量(Categorical Variable),也称为定性变量(Q…

CentOS下,离线安装vscode的步骤;

前置条件: 1.CentOS7; 步骤: 1.下载vscode指定版本,例如; 例如 code-1.83.1-1696982959.el7.x86_64.rpm 2.使用下面命令: sudo rpm -ivh code-1.83.1-1696982959.el7.x86_64.rpm 其他: 卸载vscode的命…

AI一键制作圣诞帽头像丨附详细教程

我用AI换上圣诞帽头像啦~🎅 不管是搞笑表情、宠物头像还是你的自拍!!都能一键添加圣诞帽元素,毫无违和感!🎉 详细教程在P3、P4,手残党也能轻松搞定! 宝子们需要打“need”&#xff0…

基于java博网即时通讯软件的设计与实现【源码+文档+部署讲解】

目 录 1. 绪 论 1.1. 开发背景 1.2. 开发意义 2. 系统设计相关技术 2.1 Java语言 2.2 MySQL数据库 2.3 Socket 3. 系统需求分析 3.1 可行性分析 3.2 需求分析 3.3 系统流程图 3.4 非功能性需求 4. 系统设计 4.1 系统功能结构 4.2 数据库设计 5. 系统实现 5.…

智能公文写作一体机,开箱即用快速部署超便捷

在繁忙的政企事业单位中,时间就是生产力。公文撰写作为各类组织日常工作的核心环节,却常常因为传统的公文处理流程繁琐耗时而成为效率的瓶颈。如何打破这一瓶颈,实现高效的公文撰写,成为了众多单位关注的焦点。 一款即开即用的公文…

idea2024创建JavaWeb项目以及配置Tomcat详解

今天呢,博主的学习进度也是步入了JavaWeb,目前正在逐步杨帆旗航,迎接全新的狂潮海浪。 那么接下来就给大家出一期有关JavaWeb的配置教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正…

从零开始使用MaxKB打造本地大语言模型智能问答系统与远程交互

文章目录 前言1. 下载运行Ollama2. 安装大语言模型3. 安装Cpolar工具4. 配置公网地址5. 固定公网地址6. MaxKB 添加Olama7.创建问答应用 前言 目前大语言模型(LLM)已经成为了人工智能领域的一颗璀璨明星,从自然语言处理到智能问答系统&#…

二年级数学知识边界总结思考-下册

目录 一、背景二、过程1.数据收集和整理一、知识点二、由来三、作用和意义 2.图形的运动一、知识点二、由来三、作用和意义 3.小小设计师一、知识点二、由来三、作用和意义 4.克和千克一、知识点二、由来三、作用和意义 5.数学广角-推理一、知识点二、由来三、作用和意义 三、总…

企业数字化转型加速,现代 IT 如何用 Datadog 全面提升可观测性?

作为 Gartner 可观测平台魔力象限的领导者,Datadog 凭借全面的功能、直观的用户界面和强大的产品路线图赢得了全球企业的信任。 企业 IT 架构正变得日益复杂,从本地服务器到云端部署,从单体应用向微服务,还有容器、 Kubernetes 等…

绕组识别标签规范

有标签名称的要标记,没有的不用标记 需要标注的工具、器材 图像中文名称标签名称od脱模剂watering can2铁铲shovel1记号笔,白色着重标bluepen/whitepen6纸质标签label3钢尺scale5玻璃纤维带(卷)红色网格布red grid4白色网格布wh…

NPM老是无法install,timeout?npm install失败

NPM老是无法install,timeout? 尝试一下如下操作 一、 更换国内源 npm config set registry https://registry.npmmirror.com npm install或指定源install npm install pkg --registry https://registry.npmmirror.com --legacy-peer-deps如下图 二…

Unity开发哪里下载安卓Android-NDK-r21d,外加Android Studio打包实验

NDK下载方法(是r21d,不是r21e, 不是abc, 是d版本呢) google的东西,居然是完全开源的 真的不是很多公司能做到,和那种伪搜索引擎是不同的 到底什么时候google才会开始造车 不过风险很多,最好不要合资,风险更大 Andr…

六、模型显示位置与放缩

参考文档 # https://docs.live2d.com/zh-CHS/cubism-sdk-manual/layout/ 查看 LAppLive2DManager.cpp 中的 ChangeScene 方法, void LAppLive2DManager::ChangeScene(Csm::csmInt32 index) {_sceneIndex index;if (DebugLogEnable){LAppPal::PrintLog("[AP…

我的JAVA-Web基础(2)

1.JDBC 防止sql注入 2.JSP JSP的基本语法 基本语法是 <% %> Java代码 <% %> 输出变量 可以转换成${变量}的EL表达式 <%! %>定义变量 JSP的基本语法包括以下几个主要部分&#xff1a; 1. 表达式&#xff08;Expression&#xff09; 表达式用于将…

VR 动感单车身心调适系统的功能与作用

如今&#xff0c;人们面临着来自各方的压力&#xff0c;国家重视国民身心健康&#xff0c;但人们在实际生活中却缺乏有效的身心调节方式。无论是久坐的白领&#xff0c;还是学业繁重的学生&#xff0c;都存在身体亚健康和心理压力大的问题。传统健身方式枯燥、心理咨询成本高且…

数据中台到底是什么?

数据中台不是一套系统&#xff0c;也不是一套产品&#xff0c;而是一种机制。在传统IT架构中&#xff0c;不同部门&#xff0c;不同业务系统和不同的数据中心会产生大量数据。这些数据如同烟囱一样是垂直划分的&#xff0c;彼此之间无法连接&#xff0c;我们也把这种数据叫做数…

AI Agent 与 AI Workflow 的区别和深度解析:从自动化到智能化的演进

一、引言 在人工智能技术快速迭代的今天&#xff0c;我们正见证着 AI 应用模式的多元化发展。 其中&#xff0c;AI Agent 和 AI Workflow 作为两种截然不同的范式&#xff0c;正在重塑我们对 AI 应用的认知。 这两种模式就像是同一枚硬币的两面 - 一个追求灵活创新&#xff…

【MySQL】7.0 入门学习(七)——MySQL基本指令:帮助、清除输入、查询等

1.0 help &#xff1f; 帮助指令&#xff0c;查询某个指令的解释、用法、说明等。详情参考博文&#xff1a; 【数据库】6.0 MySQL入门学习&#xff08;六&#xff09;——MySQL启动与停止、官方手册、文档查询 https://www.cnblogs.com/xiaofu007/p/10301005.html 2.0 在cmd命…