高性能计算(High Performance Computing)简称 HPC,在气象预测、地震预警、生命科学、军事、航天等高科技领域有着广泛的应用,其代表超级计算机是一个国家科技实力的象征。
超算如何从『高精尖』到『寻常百姓家』
在云计算大规模推广之前,高性能计算只有国家科研机构和大型企业才有精力和财力去建设和使用,原因是其初期投资成本高、建设周期慢。
随着科技的进步,中小企业也有高性能计算的需求,但是苦于各种资源限制,难以获得与需求匹配的计算能力。直到云计算兴起,通过按需租用、弹性资源等优势能力,帮助用户能够以极低的价格,获得媲美超级计算机的计算能力。
腾讯云的高性能计算服务
腾讯超算云在基础设施方面提供了高性能计算需要的各种资源,来帮助用户构建高性能计算流程,比如拥有8张 NVIDA P100 显卡的GPU实例,采用最新 Intel Skylake 芯片的计算型实例,支持 RDMA的40GE高速数据传输的网络,高吞吐低延时的文件系统集群。
这些丰富且易获取的高性能计算资源给用户构建高性能计算体系提供了『量』的基础,而云上的高性能计算管理平台则给企业带来了『质』的变化,针对计算作业管理腾讯云在今年8月推出了批量计算(Batch),在介绍这款产品的能力和优势前,先带大家了解一下企业实践高性能计算的相关信息。
据行业调查报告,企业应用高性能计算大致有3个阶段,
第一个阶段,企业自建数据中心,满足一定业务需要,但是存在建设成本高、资源容易闲置或不足、管理开销大易发生突发事故的问题。
第二个阶段,使用云计算 Iaas 层资源,比如购买腾讯云云服务器(CVM)、黑石服务器(CPM)、对象存储、高性能文件存储集群,然后将线下的流程以及相关管理软件全部照搬到云上。
第三个阶段,脱离人工管理,使用云上高性能计算管理平台,硬件上自动调度资源,软件上智能管理计算作业,批量计算(Batch)便是腾讯云帮助企业快速进入这一阶段而推出的产品。
批量计算是构建高性能计算系统的基石
批量计算(Batch)的核心目的是帮助使用高性能计算的企业减少相关 IT 流程的开发和维护成本,同时最大限度的降低使用成本。
它支持将需要使用的资源(GPU、CPU、高性能存储、高速网络)和计算过程(计算环境镜像、启动命令、Docker镜像)打包,以一个配置文件的形式保存。用户发起计算只需要修改配置的参数,然后将作业配置提交到批量计算后台即可,批量计算会根据用户设计的流程自动执行每一个过程,用户只需要等待系统通知完成即可。
为什么企业不自己开发这样一套批量计算流程?
以基因测序所处的生命科学行业为例,一个经验丰富的生物信息工程师,需要3-5年的培养时间,而在高性能计算的IT流程开发和架构方向,一个资深的工程师培养时间同样不会低于这个时间。对于企业,寻找双领域精通的人才然后同时在两个领域投入资金人力,几乎是不可承受之重。
更符合企业高效运作的方式是使用类似批量计算这样的产品来分离和简化 IT 流程。现在腾讯云已经可以为企业实现高性能计算 IT 方向的专业框架和流程设计来提供产品和方案,而企业只需要专注自己的专业领域研究。
腾讯云批量计算优势
1.大规模任务调度
批量计算解决的核心问题是大规模任务的快速调度,腾讯云为此将内部运营多年的调度能力开放出来,服务于批量计算产品。
腾讯云批量计算采用多调度器并发调度架构,以用户为粒度进行任务调度。具体来说,系统通过消息队列进行消息流转,每个调度器作为消费者获取一个待处理的用户信息,对该用户名下无依赖的任务统一进行处理,根据优先级、资源配额进行调度下发,严格保证优先级顺序,并避免调度系统常见的“队列头阻塞”等问题。
同一用户的任务,统一调度,避免无意义加锁,保证调度逻辑最优;不同用户之间,并发调度,显著提升调度系统的并发度和处理效率,避免调度器成为性能瓶颈。受益于系统的并发调度架构,腾讯云批量计算可以帮助用户快速调度和下发任务,轻松应对大规模任务挑战。
2.海量资源快速创建
批量计算构建于腾讯云运营多年的CVM系统之上。伴随着云计算需求的爆发增长,CVM用户不断发展扩张,覆盖爬虫、秒杀抢购、弹性伸缩等多种规模大、时效性强的用户群体。为了优化用户体验,腾讯云CVM采用镜像缓存、CBS快照回滚等技术手段,显著提升海量并发创建能力,CVM创建吞吐率达到3000台/分钟以上,单台CVM创建时间减少到30秒以内。在服务好CVM自身用户的前提下,对批量计算提供有力支撑。
3.复杂业务流程管理
用户的业务流程种类多样,存在不同形式的依赖关系。腾讯云批量计算化繁为简,通过有向无环图(Directed acyclic graph,简称DAG)对任务依赖关系建模。例如,用户的数据分析流程可能分为三个不同的处理阶段,且各个阶段所需资源规格不同。通过依赖关系,用户创建资源要求不同的三个任务,并配置依赖关系。腾讯云批量计算打造使用便捷的工作流引擎,屏蔽各种资源和依赖细节,使用户能够专注于分析结果和解决问题。
4.高性能计算能力组合
业务场景驱动技术创新。用户业务场景不同,所需资源的类型与规格也有所不同。腾讯云批量计算无缝构建于CVM IaaS层之上,直接享受高性能硬件技术革新带来的性能飞跃。对于计算密集型业务,第三代计算型实例显著提升综合性能;对于大数据场景,大数据型实例为用户提升4倍以上读写带宽;在AI时代,异构计算已经开始为用户创造实际价值,GPU、FPGA实例带来百倍算力突破。
腾讯云批量计算相对同类产品优势
腾讯云高性能计算团队在进行广泛的市场调研和用户场景总结后,在传统高性能计算场景上做了大量优化,相比较国内同类型产品有不少独特优势。
优势一,计算节点支持丰富的网络配置,支持 SSH 登录,用户可以为节点和存储划分安全的网络环境,同时还可以方便的登录到节点进行状态监控和调试分析;
优势二,全流程监控,腾讯云批量计算支持作业列表、作业流程、实例、日志,四个维度上来监控计算作业的状态
四个维度从上到下,从宏观的业务状态到微观的应用进程状态,企业既可以通过监控查看业务执行状态,也可以通过回溯优化配置节约成本,腾讯云批量计算是国内同类产品中首个在全流程全维度支持可监控的产品。
优势三,最完整实例能力支持,类型上支持面对不同场景的实例,高主频计算型、高IO高吞吐的大数据型、服务当下热门AI和深度学习的GPU型、最前沿的FPGA型都能够秒级调度,同时支持完整主机带宽、网络、密钥等配置,提供安全和易用的服务。
腾讯云批量计算优化计算流程,助力企业业务高效化
企业通过使用批量计算(Batch),可以将多类型资源和数据计算过程组件化。原来用户面对的是硬件层的资源管理,或者是某台节点上执行一段命令启动计算,现在这些计算分析过程都被打包成了计算作业的概念,用户像操作一个函数一样执行复杂的分析流水线。
复杂问题简单化之后,企业才有精力从更高角度重新聚焦自己的业务专业领域,将原来复杂的流程拆分成不同功能模块,再重新组装成更有竞争力的产品线,不再为非专业领域的 IT 问题去浪费精力。
同时,针对计算需求大的用户,腾讯云批量计算还提供更高性价比的计算实例和竞价实例能力,进一步帮助企业降低业务成本。