北京2017年5月2日电 /美通社/ -- 技术的发展迅猛而多变,近几年,移动互联网、云计算、大数据、物联网、人工智能、区块链等新一代计算技术高速发展,各领域的细分技术层出不穷。然而,新技术往往都是在云计算的基础上,回看云计算的发展,同样充斥着充满着变化与创新,IaaS、PaaS、SaaS、CaaS,Openstack、Docker、OpenLava,云管理、弹性计算、高性能计算等等,企业级云计算正热火朝天。
近日,天云软件技术开放日在北京联合创业办公社举行,来自天云软件、阿里云、亚信三大企业级云系统的专家,以及关注云计算的开发者们齐聚一堂,从IaaS到CaaS,从Openstack到Openlava,从云管理到高性能计算,展开了一场围绕云系统技术与实践的探讨。
世界的变化,由技术推动
天云软件CEO张福波博士在开场白中表示,作为一个IT老兵,他见证了海龙大厦从车水马龙到一片哀鸿,这代表着世界在发生着快速的变化,科技的发展同样如此。从云计算到大数据,从大数据到人工智能、机器学习,新技术不断涌现。在上世纪80年代便有了人工智能的概念,然而之所以未能形成规模化的发展,其主要原因便是计算能力的受限。
而分布式计算的发展才让人工智能有了现在的发展。因此可以说从技术的角度来看,分布式计算是IT发展的根本,有了分布式计算,云计算、大数据、人工智能等才有了发展和改进的空间。
然而无论是云计算、大数据,还是人工智能、机器学习,其重要的目的便是技术推动事物的发展,用新技术解决存在的问题,天云软件便是秉持着这样的理念成立的。天云软件认为,底层技术发展很快,作为创业公司应当接近客户真实应用,以解决客户问题为基础,因此从2011年进入云计算领域开始,天云软件不仅追求技术先进性,更追求技术的应用与落地。
以人工智能为例,人工智能不是一个独立的应用,其更大的作用是催化剂或者改进的工具,所以人工智能一定要跟运维结合,比如自动驾驶便是基于人工智能的机器学习实现的。
人工智能的发展一是计算,二是算法,在上世纪八十年代受限于计算能力,发展很慢,当前随着计算基础的成熟,它迎来了快速的发展。在当前,人工智能有一个很重要的分支不是基于专家经验,而是基于现象,基于行为,这种人工智能的发展,使得人工智能技术解决问题的门槛大大降低,因为机器基于行为是可以自己学习的。未来几年,人工智能一定会拥有很大的应用场景,随着人工智能的发展,对于高性能计算、应用的要求也会再上更高的台阶。
企业级云管理平台的架构实现与落地实践、趋势分析
天云软件产品总监马俊以“企业级云管理平台的架构实现与落地实践、趋势分析”为主题,从IaaS层解析了云管理平台的架构实现、落地实践和未来发展趋势分析。马俊介绍,云管理分为三层,分别是云管理平台层、云计算技术架构层、虚拟化层。
虚拟化层提供虚拟化功能,对计算资源、网络资源和存储资源提供虚拟化支持和虚拟化管理功能;云计算技术架构层通过虚拟化层提供的特性构建云计算的技术架构,包括构建计算资源技术架构、构建存储资源技术架构、构建网络资源技术架构;云管理平台层提供业务支撑管理功能、提供异构混合云管理功能,对虚拟化层、技术架构层进行统一的管理;
当前随着云计算技术架构层从vCenter向Openstack、Cloudstack转变,云管理平台即CMP,也正在发生着巨大转变。
天云软件的SkyForm CMP是一个开放、中立的企业级云管理平台,向下对接企业传统 IT 资源和云资源池,向上为系统管理员提供all-in-one的IT资源管理能力,实现面向最终用户的云服务交付。
SkyForm CMP的核心是CMDB,强调异构管理。而此CMDB的核心是调度,也是企业客户怎么把资源管理好的核心。之所以如此,主要取决于当前企业客户的需求,企业要求云管理平台对多个数据中心的资源进行统一管理:统一资源池管理,统一监控视图,统一资源配置管理,统一资源模板管理,统一资源申请、审批、开通管理,统一资源实例管理。
SkyForm CMP是一个完全开放的平台,提供对外的用户管理API和资源管理API,以及监控告警数据,客户可以根据API和数据可以重新开发界面UI,从而很方便的与OA集成、网管集成以及和PaaS平台集成。
下一步,SkyForm CMP将向四个方向发展,第一是进行服务解耦,即微服务化改造,将大服务拆分出多个原子服务,各个服务的关系是平级、独立部署,支持分布式,已达到更为编辑的集成、开发测试和上线。第二是基于机器学习的业务系统扩容建议,基于CMP的系统数据,进行分析,实现更好的客户投资收益。第三是基于机器学习的资源池优化建议,以便将客户的虚拟化资源池、Openstack使用率调到较大。四是双模IT管理,将IaaS、PaaS一起管理,形成一个大的IT管理平台。
目前,SkyForm CMP已大规模成功应用于运营商公有云,服务于运营商政企客户;运营商私有云,针对运营商B域、O域、M域的IT资源进行云化改造。同时,SkyFrom CMP已成功应用于电子政务云、教育云、航空制造云、金融云、园区云、动漫渲染云等。中国移动、中国联通等均是SkyForm CMP的客户,其中较大的是联通沃云,去年年底已经达到25万CPU的规模。
基于Kubernetes打造轻量级PaaS平台
天云软件CTO牛继宾从PaaS层面,分享了如何基于K8S打造轻量级PaaS平台。当前,行业内对PaaS的理解有多种版本,然而无论是哪种方向,PaaS通用的定位是提供一种环境,从而支撑开发者快速进行开发和应用,同时支撑应用进行弹性计算或者灵活调整。因此。他将构建轻量级PaaS平台叫做ECP,即弹性计算平台。
ECP的有四大建设目标:一是系统高可用,用了PaaS平台后,不需要再去关心底层IaaS资源,只需要关心平台能否从技术架构、平台服务和物理资源三个层面提高系统的稳定性、可靠性;二是资源共享和动态调度,打破资源静态分配瓶颈,支持服务的弹性伸缩,提高资源利用效率,比如淘宝双十一,更多是打造消息中间件和应用软件可弹性的中间件环境,从而支撑应用做弹性拓展;三是DevOps,研发测试到运维一体化,改变开发、测试、运维割裂的现状,简化应用开发、部署和运维的难度;四是自动化运维:将事件与流程相关联,发生问题时自动出发处理流程,提高运维效率。
基于ECP的建设目标,为什么要基于Kubernetes去构建轻量级平台?实际上,是因为 Kubernetes提供了一套应用发布运行的弹性框架。一个应用,其实就是一个负载均衡加上后端的几个计算单点,Kubernetes主要提供一套机制,保证应用能够快速的发布和服务的快速发现。Kubernetes的体系比较完整,体系架构比较统一,开发语言也比较统一、完整,目前国内基于容器打造轻量级PaaS的服务商,基本也都已经切换到Kubernetes,这也证明了其高可用性。
既然可以基于Kubernetes发现应用、发现服务,为什么天云软件还要基于Kubemetes再去打造一个新平台?牛继宾指出,这首先是因为Kubernetes本身的UI不是很友好,不符合国内应用习惯。其次是使用Kubernetes的时候,通过service找到后面挂了几个pod,但如果从pod反向找service时,就找不到了。其三是因为PAAS是一个云的概念,要求多租户,目前Kubernetes对租户的支持不是很好。其四是基础设施的管理、日志与监控等,也不是那么友好。
基于Kubernetes镜像仓库、存储集群、Elastic Search、Kubernetes Cluster核心组件,加上Etcd Cluster,构建基础服务,在外围构建主机管理、网络管理、存储管理、应用管理、服务管理、健康管理、日志管理、用户管理、UI、镜像管理、CI/CD等服务,并进行镜像封装,再用Pod的形式集起来,只需从UI抽取相关API,就可以形成一套PaaS平台,用户可以基于PaaS平台构建Docker的能力。
构建企业及互联网架构,大平台+轻架构+小应用
在应用层,亚信软件高级架构师李春林以“构建企业及互联网架构,大平台+轻架构+小应用的较佳实践,能力集成与开放平台的实现思路”为主题,分享了亚信AIF在应用方面的理念和实践。
亚信AIF是一个微服务架构的平台。我们都知道,架构的作用是为了更好地适应需求的变化,当前应用架构经历了MVC架构、RPC架构、SOA架构到微服务架构的演变。MVC架构是为了解决前后端、界面、控制逻辑和业务逻辑分层问题。随着业务扩大、模块化成为趋势,RPC架构解决模块间跨进程通信,帮助业务屏蔽通信细节,但其缺点是不负责服务治理,包括服务的自动发现、发布、运维等。而SOA架构则注重标准化服务的提供,企业资产复用、异构系统集成,具备服务治理。SOA架构对于传统企业,主要解决异构系统互通和粗粒度的标准化(WebService);在互联网领域,提供一套高效支撑应用快速开发迭代的服务化架构。
那么亚信AIF所采用的微服务架构则是注重服务的构建方式,将服务拆开,拆成微、小的应用,应用之间独立部署、生命周期管理,实现了松耦合、模块职责单一,以及轻量级通讯,对内高性能RPC、对外HTTP Restful风格,从而更好地实现运维体系支撑,服务治理、监控中心、日志中心、配置中心等。
微服务架构实质上打破了系统建设中的“无形的烟囱”。过去集群模式下,服务规模较大,需要使用多个服务器的资源,并且是静态资源分配。而AIF则是多个服务细粒度地共享一组服务器提供的资源,并且应用框架一致,通过技术平台对应用进行管控,促进应用软件的标准化。
亚信AIF秉承“大平台 小架构 轻应用”的原则,实现组件解耦和开放,具体来讲,AIF有以下八大特性:
应用标准化:统一技术架构,促进应用标准化;
服务透明化:服务接入的规范化,实现服务的可见,可管,可控,支持对服务的持续治理;
应用与技术解耦:通过对开源软件的封装,降低开发门槛和TCO的同时,实现应用与技术组件的解耦;
应用与数据分离:屏蔽底层数据存储对应用逻辑的影响,实现底层数据的访问对应用透明化,使用者无需关心如何跨越多个分区查询数据、如何平衡各个分区负载、如何访问异构数据库等问题;
运维有形化:多维度实时监控到系统调用链路的每个环节,包含性能、健康度等,进而对系统进行实时干预;
运维智能化:熔断机制,及时自动隔离集群中隐患节点;
亿级消息处理:消息处理框架实现高效异步服务协同,支持亿级消息处理;
应用云化:协同DCOS平台实现服务自动弹性伸缩。
亚信AIF未来的发展方向将是构建基础平台,从Ability Integration Framework到 Asiainfo Infrastructure Foundations,开放、联合,上下游共同努力构建可靠、稳定、易维护的一站式云化技术大平台。
深度学习简介及支撑深度学习的解决方案
一如张福波博士所言,天云软件是一家注重应用、注重技术落地的云计算服务商,天云软件CTO牛继宾在分享PaaS之后再一次从应用层,展开深度学习简介及支撑深度学习的解决方案的分享。
深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
深度学习采用的模型为深层神经网络(Deep Neural Networks,DNN)模型,即包含多个隐藏层(Hidden Layer,也称隐含层)的神经网络(Neural Networks,NN)。深度学习利用模型中的隐藏层,通过特征组合的方式,逐层将原始输入转化为浅层特征,中层特征,高层特征直至最终的任务目标。
复杂的人工智能算法训练与计算经常涉及上亿的参数,这些参数的计算需要大量的计算能力,目前在深度学习领域,GPU计算已经成为主流,使用GPU运算的优势是当前主流的GPU具有强大的计算能力和内存带宽,无论性能还是内存带宽,均远大于同代的CPU。 同时,GPU的thousands of cores的并行计算能力也是一大优势。
GPU的并行计算原理包含单CPU并行计算,多GPU并行计算之数据并行,多GPU并行计算之模型并行,以及GPU集群并行模式。
单CPU并行计算是指针对每次训练数据,模型内计算通过多次GPU内核的调用完成计算。权重W值一直存在GPU内存中,直到所有训练数据计算完毕 之后回传到系统内存中。
多GPU并行计算之数据并行是指对训练数据做切分,同时采用多个模型实例,对多个分片的数据并行训练。其缺点是当模型较大时,GPU内存无法满足存储要求,无法完成计算。
多GPU并行计算之模型并行将模型拆分成几个分片,由几个训练单元分别持有,共同协作完成训练。当一个神经元的输入来自另一个训练单元上的神经元的输出时,产生通信开销。其缺点是需要更频繁的通信,增加通信压力,且实现难度较大。
GPU集群并行模式即为多GPU并行中各种并行模式的扩展。节点间采用InfiniBand通信,节点间的GPU通过RMDA通信,节点内多GPU之间采用基于InfiniBand的通信。
整个深度学习集群(包括软硬件),可能是公司内部的共享资产,每个项目组都需要使用,那么,采取上述方式部署便会带来三大问题:
一,要求项目组必须使用统一的深度学习框架,统一的深度学习框架的版本,否则不同项目组完成的训练代码有可能不工作,如果每次为了适应某个项目组的要求去重新部署框架,工作量巨大,而且耗时耗力;
二,其中一个项目组在使用集群时,其他项目组往往需要等待,即使集群的资源使用率较低;
三,服务器集群中任何一台硬件出现问题,都会影响整个集群的使用。
因此,分布式机器学习集群共享调度成为解决之道。分布式机器学习集群共享调度的实现方式之一是基于Kubernetes容器的调度,Kubernetes能够提供应用部署、维护、扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下:
1) 使用Docker对应用程序包装(package)、实例化(instantiate)、运行(run)。
2) 以集群的方式运行、管理跨机器的容器。
3) 解决Docker跨机器容器之间的通讯问题。
4) Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。
二是通过MPI作业调度。MPI是高性能计算(HPC)应用中广泛使用的编程接口,用于并行化大规模问题的执行,在大多数情况下,需要通过集群作业调度管理软件来启动和监视在集群主机上执行的MPI任务。此方法的主要目标是使集群作业调度管理软件能够跟踪和控制组成MPI作业的进程。一些集群作业调度管理软件,如天云软件SkyForm OpenLava等,可以跟踪MPI任务的CPU、内存、GPU的使用。我们把每个深度学习的计算作为MPI作业,通过天云软件OpenLava作业调度管理软件进行集群统一的资源管理与分配,无论性能还是内存带宽,均远大于同代的CPU。 同时,GPU的thousands of cores的并行计算能力也是一大优势。
这两种调度方式的好处是,能够分享集群的资源,实现多租户、多用户、不同任务框架的并行计算,如果集群出现了问题还可以摒弃作业出现的任务。
其实整个人工智能产业链包含技术支撑层、基础应用层、和方案集成层,我国人工智能产业发展更多集中在技术支撑层,提供集群计算、深度学习框架、CPU、GPU、NPU、路径规划等能力,天云软件则是聚焦在集群计算方面,并取得了一定突破。
而如果从人工智能发展的基础来看,算法、数据、计算平台是人工智能爆发的三大基础,只有三者都达到临界值,人工智能才能真正发展起来。在人工智能方面,天云软件聚焦点是集群和高性能计算平台,支撑深度学习的深入应用。
“天云软件技术开放日”是天云软件对外展示技术实力、分享技术实践、交流技术热点的活动,是天云软件与用户、产业链伙伴、业界同仁充分沟通、增进了解、彼此学习、促进合作的平台。
张福波表示,天云软件是一家技术公司,希望通过分享的方式,让更多的技术人员以彼此的臂膀为依托互相学习进步,从而也推动整个行业的发展。