人工智能、大数据时代的到来,给企业发展带来新机遇的同时,也带来了新的烦恼,不菲的投入让不少企业只能望人工智能、大数据却步。
拥抱人工智能的苦恼
下面是一个真实的企业场景:由于业务相关,这家企业很早就建设了高性能计算集群,不过利用率一直也不算高。随着人工智能、大数据时代的到来,这家企业想着如果能把原有的存量资源用起来,岂不是两全其美,但当真正想把这一设想落地的时候,发现挑战还是挺多的。
这样的苦恼相信不少企业都有,一边是现存高性能计算集群大量闲置的计算、存储资源,一边是上马人工智能、大数据等前沿项目,居高不下的成本。
这样的矛盾有办法解决吗?
答案当然是有的。英特尔高性能计算融合平台就致力于用同一通用平台,同时支持仿真和建模等传统高性能计算应用,以及人工智能与数据分析等新型应用。目前,该平台已经有了不少落地实践。
英特尔在其中究竟做了些什么?我们不妨先看看传统的高性能计算集群建设模式和现在有什么不一样?参见下图。
如图左,过去高性能计算集群建设是跟着应用走,每上一个新项目,计算、存储、网络、资源管理器等软硬件就建设一次。由此带来的问题很多,数据孤岛、资源利用率低……现在呢?如图右,计算、存储、网络资源池化,统一资源管理器承载各种不同的应用。
简单类比,从图左到图右就是从传统IT到云的转变。从左到右需要做的工作也很清晰,三层:资源池化、资源管理器统一化、应用优化。一层一层展开:
资源层,打通
计算、存储、网络,毫无疑问,难点在存储,因为人工智能、大数据分析的核心其实是数据的存储、调用。
为此,英特尔使用Alluxio进行存储抽象化。Alluxio 是加州大学伯克利分校开发的一款开源软件,可为各类存储上的多个对象和文件存储区中的数据创建单点访问。
具体而言,Alluxio可将任意完全不同的数据存储区集合作为可通过单一标准接口访问的单一虚拟数据源提供给应用。这样,用户就能在应用和数据之间建立“任意对任意”的联系,且无需考虑这些资源的物理位置或格式化方式。
换句话说,对于用户来说,通过使用Alluxio,应用无需进行复杂且耗时的配置,即可访问现有数据,省时省力。另外,从软件开发的角度来看,也省去了很多代码开发工作。
事实上,为了保证存储的性能和效率,Alluxio做了很多针对性改进。
比如,争夺缓存资源是分布式应用最常见的挑战之一,这会导致应用必须从磁盘而非缓存访问数据,从而降低性能。而Alluxio可提供分布式共享缓存,通过支持应用将共享访问层中经常访问的数据缓存到系统内存,来帮助克服性能缺陷。
很显然,使用 Alluxio进行存储抽象化相当于另一种方式的存储资源池化,能够在尽可能利用现有资源的前提下,帮助企业过渡到一组较小的、为融合平台提供服务的通用数据存储区。
而在计算层面和网络层面,业界已经有很多成熟的解决方案,这里不一一而足。值得一提的是,为了促进高性能计算和人工智能的融合,英特尔在硬件研发方面也做了很多调整,基于全新英特尔技术创新,包括英特尔至强可扩展处理器、英特尔傲腾数据中心级持久内存等,用户可以有力推进二者的融合。
比如,实测数据显示,与三年机龄的系统相比,搭载第二代英特尔至强可扩展处理器的平台在高性能计算CPU基准测试中的平均性能提高多达3.7倍。此外,与竞争处理器相比,在 LINPACK CPU基准测试中可将性能提升高达5.8倍。在人工智能推测方面,与竞争处理器相比,集成了英特尔 学习加速的第二代英特尔至强可扩展处理器可使图像分类推理性能提升高达25倍。
资源管理器层,统一
由于每种工作负载的资源管理器在设计之初并没有考虑彼此之间的互操作性,所以没有一体适用的方案,为此英特尔正在研究多种解决方案,以对客户现有环境进行改造。这里介绍两个方案。
一个是面向高性能计算批量调度程序的Magpie,架构图如下
Magpie是美国劳伦斯利物莫国家实验室的一个开源项目, 目的就是在高性能计算环境中运行TensorFlow,英特尔 参与其中。应该说,为了更好的支持该方案,英特尔做了很多工作来确保各种工作负载拥有出色的性能和稳定性。
最终的成果是,保证在同一平台独立运行Apache Spark的同时,仿真和建模工作负载照旧,二者互不干扰。另外,使用Horovod Magpie提交人工智能或数据分析工作负载的作业,几乎没有额外开销,且不会造成任何明显的性能降级。
另一个方案是Univa Grid Engine和Resource Broker,架构图如下。
Univa Grid Engine是一个需要商业许可的资源管理器。不久前,该公司将Univa Universal Resource Broker开源,用于管理和优化分布式应用、服务与大数据框架,其可以抽象化处理分布式数据中心资源,从而创建一个跨物理服务器、虚拟机、混合云和容器运行的单一虚拟资源池。
除了传统的仿真和建模,该方案允许用户使用Univa Grid Engine扩展集群,从而支持Apache Spark和TensorFlow等工作负载。
从本质上说,该方案是把Universal Resource Broker作为适配器,从而将各种工作负载与Univa Grid Engine 集成在一起,而Universal ResourceBroker允许任何与Apache Mesos兼容的软件在UnivaGrid Engine上运行。
应用层,优化
英特尔 参与人工智能、大数据的整个生态系统中,贡献、优化包括TensorFlow、MXNet 和Caffe等在内的 学习框架。
众所周知,人工智能在今天的应用已经不局限于常见的图像识别、语言翻译、推荐引擎、生成式设计和生成式对抗网络,随着技术的不断下沉,欺诈检测、地震关联、安全、安保和预测性维护等场景与人工智能的关联也越来越紧密。
针对这种情况,英特尔开发了面向 神经网络的英特尔数学核心函数库(英特尔MKL-DNN) 。通过为在英特尔架构上运行训练和推理相关的资源密集型操作提供高度调优的数学函数,改进人工智能框架在硬件上的横向扩展能力,优化框架在高性能计算平台的适用性。
另外,英特尔与谷歌建立了长期合作关系,共同优化TensorFlow。基于英特尔处理器部署英特尔MKL-DNN,能够给性能带来数量级的提升。
特别值得一提的是,用户只需要使用英特尔MKL-DNN的设置来构建TensorFlow即可,无需进行任何软件或配置更改即可利用这些优化,十分简便。而且,这些优化还在不断进行中。
此外,英特尔还参与了大量开源项目的优化建设。比如,英特尔目前正在为ApacheSpark 开发功能,以便利用通过OpenFabrics接口提供消息传递的高性能结构。
总结全文,人工智能、大数据……新技术催生新时代正在到来,未来很美好,但挑战也不小,有各种各样的,本文讲的主要是如何利旧。从中不难看出,英特尔绝不只是一家处理器公司,在底层,在大家看不到的地方,英特尔做了非常多的工作。有这方面诉求的企业不妨去找英特尔去深入了解一下,拥抱人工智能、大数据没那么难、没那么贵。
免责声明:此文内容为第三方自媒体作者发布的观察或评论性文章,所有文字和图片版权归作者所有,且仅代表作者个人观点,与 无关。文章仅供读者参考,并请自行核实相关内容。投诉邮箱:editor@fromgeek.com。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。