【鲲鹏经典直播征文】+【BoostKit大数据】业界趋势、鲲鹏大数据组件增强特性和典型配置

举报
Jack20 发表于 2021/08/12 12:12:07 2021/08/12
【摘要】 BoostKit大数据整体体介绍一、鲲鹏应用使能套件BoostKit——释放倍级性能优势      华为早在2004年开始拥抱并积极建设ARM开源生态。2019年发布鲲鹏计算战略,鲲鹏作为ARM生态的重要组成内容,华为进一步聚焦发展鲲鹏生态。2020年发布鲲鹏BoostKit应用使能套件,全方位使能开源、贡献开源,繁荣鲲鹏的软件生态。      目前,鲲鹏BoostKit已经使能超过90%主...

BoostKit大数据整体体介绍

一、鲲鹏应用使能套件BoostKit——释放倍级性能优势

      华为早在2004年开始拥抱并积极建设ARM开源生态。2019年发布鲲鹏计算战略,鲲鹏作为ARM生态的重要组成内容,华为进一步聚焦发展鲲鹏生态。2020年发布鲲鹏BoostKit应用使能套件,全方位使能开源、贡献开源,繁荣鲲鹏的软件生态。

      目前,鲲鹏BoostKit已经使能超过90%主流开源软件支持鲲鹏平台,覆盖大数据、分布式存储、数据库、虚拟化等主流场景。未来三年内,鲲鹏BoostKit将聚焦使能主流开源软件支持鲲鹏平台发挥高性能

提供全栈优化的应用加速能力

  • 应用加速:应用性能倍级优势
  • 基础加速:性能超越业界水平
  • 开源使能:开源软件可用、好用

二、面向八大场景,提供场景化BoostKit

鲲鹏BoostKit,面向大数据、分布式存储和数据库等主流应用场景,提供加速数据处理、优化存储访问和提升算力部署密度的场景化使能套件。

1、BoostKit大数据

      “新基建”下,大数据等关键技术高速发展,对关键参数及相关组件的调整,使作业运行效率达到最优。

      聚焦大数据查询效率低、性能优化难等挑战,提供大数据组件的开源使能和调优、IO智能预取等基础加速软件包、Spark算法加速库等应用加速软件包,开源openLooKeng查询引擎,提升大数据分析效率。

了解详细:https://www.hikunpeng.com/developer/boostkit/big-data

2、BoostKit分布式存储

      聚焦Ceph性能低、成本高等挑战,提供Ceph参数优化、MD5摘要算法、IO直通等特性提升系统性能,并通过压缩算法、Zlib压缩、EC Turbo等特性降低存储成本,提供高性价比存储方案。

了解详细:https://www.hikunpeng.com/developer/boostkit/sds

3、BoostKit数据库

      针对开源MySQL OLAP查询效率低、OLTP场景锁性能问题等挑战,提供MySQL AP性能加速和TP锁性能优化等基础加速软件包,深度优化了OLAP查询分析效率和OLTP在线交易事务处理能力,充分发挥多核算力。

了解详细:https://www.hikunpeng.com/developer/boostkit/database

4、BoostKit虚拟化

      聚焦虚拟化性能低、网络损耗大、资源碎片严重等痛点,提供虚拟化开源使能调优指南,通过V-Turbo和OVS加速等特性提升系统性能,使用NUMA内存交织等特性减少资源碎片,充分发挥鲲鹏多核优势。

了解详细:https://www.hikunpeng.com/developer/boostkit/virtualization

5、BoostKit ARM原生

      支持移动应用无损上云,完整方案包括硬件、Host OS、ExaGear、虚拟化方案(Kbox /Robox/QEMU)、Guest OS、端云协同引擎。

(1、端云协同引擎

  • 端云协同引擎包含手机端侧和服务器侧两部分,提供用于业务二次开发的核心引擎,引擎本身是动态链接库,不是一个完整的软件系统,不能独立运行,必须被客户或者ISV集成到程序中才具备软件系统的能力。

(2、基础云手机

  • 在Ubuntu系统上部署不同虚拟机软件(Kbox/Robox/QEMU),实现在Linux系统上启动Android系统的基础云手机的参考方案,用于Android的应用和游戏运行。

(3、硬件平台

  • 基于TaiShan 200服务器(型号2280),增加专业的GPU和编解码卡,提供高性价比的硬件平台。

(4、云游戏/云手机APK

  • 客户或者ISV基于手机端侧的端云协同引擎开发的云游戏和云手机的APK。

(5、云手机管理系统

  • 提供对云游戏和云手机业务运营进行管理,如终端用户的管理、云游戏/云手机实例管理、计费模式等。因不同客户对管理诉求各有不同,所以,由客户或者ISV根据具体的业务诉求进行开发。

了解详细:https://www.hikunpeng.com/developer/boostkit/arm-native

6、BoostKit Web  

      聚焦Web应用HTTPS连接性能和Web开源组件可用性等问题,提供开源Web组件使能调优指南,通过使能鲲鹏RSA加速引擎,帮助客户提升Web网站的安全性,并实现用户HTTPS访问的极致体验。

了解详细:https://www.hikunpeng.com/developer/boostkit/web

7、BoostKit CDN

      鲲鹏BoostKit CDN使能套件聚焦CDN开源组件可用性和CDN缓存节点吞吐量低、时延大等问题,提供CDN主流组件的开源使能和性能调优指南,通过使能鲲鹏处理器内置的RSA加速引擎,对RSA2048算法进行硬件卸载,同时提供了NUMA优化等手段,以便充分发挥鲲鹏处理器多核优势,助力客户CDN缓存节点提供更大吞吐量,实现更低时延。

8、BoostKit HPC

      鲲鹏BoostKit HPC使能套件聚焦资源调度效率低、应用性能优化难等关键挑战,通过全栈架构创新、软硬件自研、底层基础软件优化和行业应用性能调优等技术构建全栈高性能计算基础平台,帮助客户释放平台算力,缩短产品上市周期,提升企业产品竞争力。

架构简介:鲲鹏BoostKit HPC使能套件(简称鲲鹏BoostKit HPC)总体架构由:基础设施、硬件平台、基础软件行业应用层组成。

(1、行业应用

  1. 当前可以支持并应用的行业,包含气象、制造、EDA、政府HPC等;对于开源行业应用,可以通过鲲鹏代码迁移工具迁移适配后在鲲鹏平台上运行。

(2、基础软件

  • 提供统一高效的集群计算套件CCSuite,包括集群管理平台CCPortal、作业调度器CCScheduler、通信库Hyper MPI,同时提供或兼容鲲鹏GCC编译器,鲲鹏KML数学库和CentOS操作系统。

(3、硬件平台

  • 提供多样化的计算资源、高性能存储及主流高速网络。

(4、基础设施

  • 提供模块化的数据中心。

   高性能开源组件——华为高性能通信库 Hyper MPI

      Hyper MPI是整个高性能计算解决方案的关键组件,它实现了并行计算的网络通讯功能,可以用来支持制造、气象、超算中心等应用场景,同时该通信库也可扩展应用于AI、大数据等通用领域。Message Passing Interface(MPI)是支持多编程语言编程的并行计算通讯应用接口,具有高性能、大规模性、可移植性、可扩展性等特点。

      华为高性能通信库(Hyper MPI)是基于Open MPI 4.0.3和Open UCX 1.9.0,支持MPI-V3.1标准的并行计算API接口,新增了优化的集合通信框架。同时,Hyper MPI对数据密集型和高性能计算提供了网络加速能力,使能了节点间高速通信网络和节点内共享内存机制,以及优化的集合通信算法。Hyper MPI的COLL UCX通信框架能够支持的最大数据包长度为2^32字节。

了解详细:https://www.hikunpeng.com/developer/boostkit/hpc/hypermpi

 

三、鲲鹏BoostKit大数据——聚焦大数据关键挑战,让数据处理更快、更简单

      鲲鹏BoostKit大数据使能套件针对大数据组件优化数据处理流程,提升计算并行度,充分发挥鲲鹏系列处理器的并发能力,给客户提供更高的大数据业务性能。

1、常见问题分析

  • 多样化查询无法统一,效率低
  • 数据分析组件性能无法满足要求
  • 磁盘IO存在瓶颈,HDFS性能提升困难
  • 多样化数据来源,跨数据源用数难
  • 数据非共享。跨数据中心取数难

2、鲲鹏BoostKit大数据解决方案

(1)跨源跨域查询加速

  • openLooKeng统一数据入口
  • 支持跨源、跨域分析,查询性能倍级提升

(2)spark性能加速

  • 原生机器学习/图算法深度优化
  • Spark性能倍级提升

(3)HDFS性能加速

  • IO智能预取,高效取数
  • Spark/Hbase性能提升20%

3、鲲鹏BoostKit大数据方案架构及优势

      从大数据的发展趋势可以看出,大数据对于计算能力的要求越来越高,需要有更适配大数据技术特征的计算硬件来提供更高的计算能力。TaiShan服务器的鲲鹏916系列处理器提供32核2.4GHz,鲲鹏920系列处理器提供24核2.6GHz、32核2.6GHz、48核2.6GHz、64核2.6GHz四种规格,均高于业界主流平台,鲲鹏系列处理器可以高度匹配大数据这类高并发的典型业务场景。

      鲲鹏BoostKit大数据使能套件针对大数据组件优化数据处理流程,提升计算并行度,充分发挥鲲鹏系列处理器的并发能力,给客户提供更高的大数据业务性能,支持TaiShan服务器与业界其他架构服务器混合部署,保护客户已有投资,不捆绑客户的服务器架构选择。

      鲲鹏BoostKit大数据总体架构主要由硬件平台、操作系统、中间件、大数据平台构成,其中大数据平台支持华为自研的FusionInsight大数据平台以及开源Apache、星环、苏研大数据平台。

鲲鹏BoostKit大数据总体架构组件说明

名称

说明

硬件基础

提供基于华为鲲鹏处理器的TaiShan服务器,高速缓存场景支持使用SSD进行加速。

操作系统

支持主流的商用、开源操作系统和自研操作系统。

加速特性

支持鲲鹏指令加速Erasure Code编解码,芯片自带加解密加速器,提供算法与指令优化的KAL机器学习加速库。

编译器

JDK、GCC、LLVM等常用的大数据编译器中间件均支持鲲鹏产业生态

大数据组件

支持开源众多大数据组件,包括核心的Hadoop、HBase、Spark、Hive、Flink、Elasticsearch等。

大数据平台

支持华为自研的FusionInsight大数据平台以及开源Apache、星环、苏研大数据平台等。

鲲鹏BoostKit大数据基于TaiShan服务器,端到端打通硬件、操作系统、中间件、大数据软件的全堆栈,支持多个主流的大数据平台。主要价值如下:

高性能

鲲鹏BoostKit大数据提升计算并行度,充分发挥华为鲲鹏处理器的多核能力:

  • TaiShan 200服务器(2*华为鲲鹏920 5220处理器)对比业界主流中端双路服务器:计算业务性能持平,BoostKit主推型号
  • TaiShan 100服务器(2*华为鲲鹏916 5130处理器)业务性能对比业界主流低端服务器:性能持平,BoostKit主推型号
  • TaiShan 200服务器(2*华为鲲鹏920 5250处理器)对比业界主流高端双路服务器:计算业务性能提升15%
  • TaiShan 200服务器(2*华为鲲鹏920 3210处理器)对比业界主流低端双路服务器:计算业务性能提升10%

安全可靠

鲲鹏BoostKit大数据支持处理器内置加密硬件,更安全可靠:

  • 华为鲲鹏920处理器支持国密算法加速,联合FI构建自研安全可信大数据。
  • CPU内置硬件加速器,更安全。
  • 加密对业务性能的损耗低于10%。

开放生态

鲲鹏BoostKit大数据拥有成熟的大数据生态:

  • 支持开源Apache组件,支持苏研、星环等多个第三方大数据平台。
  • 支持大数据组件TaiShan服务器与其他架构服务器混合部署。

 

四、在鲲鹏社区上一站式获取BoostKit所有加速软件和文档

鲲鹏应用使能套件内容导航

1、初识BoostKit

BoostKit整体介绍:https://www.hikunpeng.com/developer/boostkit

  • 鲲鹅BoostKit定义
  • 覆盖八大应用场景介绍

 

2、了解方案整体能力

BoostKit大数据整体介绍:https://www.hikunpeng.com/developer/boostkit/big-data

  • BoostKit大数据架构
  • 优势介绍
  • 应用迁移向导
  • 典型业务场景
  • 帮助文档
  • 开发者资源

 

3、进阶知识&成长

BoostKit文档:https://support.huaweicloud.com/wtsnew-kunpengbds/index.html

BoostKit大数据成长地图:https://support.huaweicloud.com/kunpengbds/kunpengbds.html

  • 方案介绍
  • 移植工具及移植指南
  • 开源组件部署指南
  • 调优指南
  • 关键特性

 

4、实践交流平台:https://bbs.huaweicloud.com/forum/thread-143349-1-1.html

鲲鹏BoostKit论坛

鲲鹏BoostKit大数据论坛

  • 汇聚技术大咖
  • 分享行业技术趋势
  • 技术问题解决与建议

 

      使能开源的同时,鲲鹏BoostKit还持续贡献开源,将众多关键的性能优化成果回馈至开源社区。目前鲲鹏BoostKit已有190+关键Patch包、14项关键特性例被开源社区采纳。
 
      鲲鹏BoostKit向C语言库Glibc 2.31版本提交了重要的优化Patch,使得memcpy, memcmp, memchr, strcpy,strlen等常用函数在鲲鹏和ARM平台上的性能提升超过20%,并让众多以C语言为编程语言的软件受益。
      鲲鹏BoostKit向MariaDB 10.6版本,提供锁优化、NUMA Aware、Global Counter等关键优化改进,实现MariaDB数据库在鲲鹏和ARM平台的性能提高超过40%。

BoostKit大数据开源使能

一、BoostKit全面支持开源大数据&推动开源社区引入ARM CI

     迈入多样性计算时代,ARM已经成为业界主流的计算架构之一。当前,越来越多数据中心用户选择迁移到ARM架构平台,这得益于日益繁荣的ARM软件生态。

      开源软件作为最重要的软件开发模式之一,是软件生态的核心。让开源软件与ARM平台进行充分的软硬件适配和性能优化,并打造可用、好用的开源软件,显得尤为关键。

      CI(Continuous Integration,持续集成)是现代软件开发流程的重要手段,从软件的开发、构建到测试、打包全流程,确保与技术架构充分适配,实现高质量的软件代码。
      以往主流开源社区基于传统架构建设CI开源开发流程,如果ARM用户直接使用该开发流水线发布的软件包,常常面临着很多问题。只有在开源社区开发流程中引入ARM架构开发流水线,才能从源头解决问题,并且实现一次开发投入,长期受益。

      华为致力于推动主流开源社区引入ARM CI,并将相应的ARM版本开源软件汇聚到鲲鹏BoostKit,简化开发者的下载、部署工作。以Apache Hadoop社区为例,华为发起倡议并开展历时超过半年的工作准备与技术沟通。
      最终,华为成功主导推动Apache Hadoop社区于2020年初正式启用了ARM CI, 对主干开发代码进行每日周期验证。在开展验证半年后,社区正式发布了提供ARM支持的第一个版本3.3.0版本。
      目前已经有Hadoop、Spark、TensorFlow、PyTorch、MariaDB等60+个开源社区在华为的主导推动下已经引入ARM CI,显著提升主流开源社区对ARM和鲲鹏架构的技术支持。

 

二、openLooKeng统一高效的大数据SQL分析引擎

      openLooKeng是一种“开箱即用”的引擎,支持在任何地点(包括地理上的远程数据源)对任何数据进行原位分析。它通过SQL 2003接口提供了所有数据的全局视图。openLooKeng具有高可用性、自动伸缩、内置缓存和索引支持,为企业工作负载提供了所需的可靠性。

openLooKeng 架构:https://www.hikunpeng.com/zh/developer/openLooKeng

应用系统

  • openLooKeng北向涵盖各种应用,包括大数据分析平台、BI类分析应用以及用户自主开发的各种应用APP。

统—数据访问接口

  • openLooKeng提供统—的数据访问接口,使得应用系统访问各类数据源变得更简单,提供兼容标准SQL2003语法的JDBC、ODBC以及REST

内核引擎

  • 内核引擎包含了openLooKeng的各种关键技术,包括性能提升、可靠性增强等方面的诸多特性模块,例如动态过滤、启发式索引等

统—数据源连接框架

  • 提供数据源和数据中心的连接能力。

数据源/数据中心

  • 数据的存储地,包含各类异构数据源,也包括有地理距离的数据中心。

 想要了解更多openLooKeng信息,请前往openLooKeng开源社区:https://openlookeng.io/zh-cn/

  • 统一SQL入口,高效访问
  • 高性能的交互式查询能力
  • 多源异构数据源融合分析
  • 跨域跨DC融合分析

软件包下载:https://download.openlookeng.io/1.3.0/hetu-server-1.3.0.tar.gz

 

服务器类型

      openLooKeng服务器有两种类型:协调节点和工作节点。下一节将解释这两者的区别。

协调节点

      openLooKeng协调节点是负责解析语句、规划查询和管理openLooKeng工作节点的服务器。它是openLooKeng安装的“大脑”,也是客户端连接以提交语句执行的节点。每个openLooKeng安装必须有一个openLooKeng协调节点,以及一个或多个openLooKeng工作节点。对于开发或测试目的,可以配置openLooKeng的单个实例来执行这两个角色。

      协调节点跟踪每个工作节点上的活动,并协调查询的执行。协调节点创建了一个查询的逻辑模型,其中包含一系列阶段,然后将其转换为在openLooKeng工作节点集群上运行的一系列相互连接的任务。

      协调节点使用REST API与工作节点和客户端进行通信。

工作节点

      openLooKeng工作节点是openLooKeng安装中的服务器,负责执行任务和处理数据。工作节点从连接器获取数据,并相互交换中间数据。协调节点负责从工作节点获取结果,并将最终结果返回给客户端。

      当openLooKeng工作节点进程启动时,它会将自己通告给协调节点中的发现服务器,这样openLooKeng协调节点就可以使用它来执行任务。

      工作节点使用REST API与其他工作节点和openLooKeng协调节点进行通信。

 

1、助力华为消费者云服务平台提供秒级查询能力,性能提升10+倍

业务场景/需求

      交互式查询场景,目标是为数据分析人员提供方便快捷的即席查询能力,性能要求较高,秒级查询

当前业务痛点

      通过Hive引擎来构建即席查询任务,查询时间太长(5分钟~2小时)性能不满足客户需求

openLooKeng价值

      openLooKeng提供秒级查询能力,结果准确率高,增强了用户对海量数据的分析能力

POc查询性能对比

【效果】CBG即席查询平台采用openLooKeng后:不影响当前业务,实现查询加速提升至秒级,性能提用户查询效率大大提升

 

2、为某省级项目提供跨地域协同分析能力,实现从天级到分钟级跨越

业务场景/需求

  • 打通跨省市两级数据中心数据访问,跨地市数据协查无需出差到当地办案

当前业务痛点

  • 手动数据批量抽取数据到省中心,效率低,数据分析耗时长;重大事件需协查需要出差到当地办案

openLooKeng价值

  • openLooKeng跨地域协同分析能力强,可实现跨地域数据分析性能从天级缩短到分钟级

【效果】为某省级项目提供跨地域协同分析能力,实现从天级到分钟级跨越,实现无需出差即可实现跨地市数据协查

 

跨源异构查询场景

      RDBMS(如MySQL、Oracle等)、NoSQL(如HBase、ES、Kafka等)等数据管理系统广泛用于客户的各种应用系统中。随着数据量的增加,数据管理越来越完善,客户逐步基于Hive或MPPDB建立数据仓库。这些数据存储系统往往相互隔离,形成相互独立的数据孤岛。数据分析师经常遇到以下问题:

  1. 面对海量数据,如果不知道数据用在哪里,怎么用,就无法基于海量数据构建新的业务模型。
  2. 查询不同的数据源,需要不同的连接方式或客户端,运行不同的SQL方言。这些差异导致额外的学习成本和复杂的应用开发逻辑。
  3. 如果数据没有聚合,则无法对不同系统的数据执行联合查询。

      可以使用openLooKeng实现RDBMS、NoSQL、Hive、MPPDB等数据仓库的联合查询。利用openLooKeng的跨源异构查询能力,数据分析师可以快速分析海量数据。

跨域跨DC查询

      在二级或多级数据中心场景中,例如省-市数据中心或总部-分部数据中心,用户经常需要从省(总部)数据中心或市(分部)数据中心查询数据。跨域查询的瓶颈是多个数据中心之间的网络问题(例如带宽不足、高时延、丢包等)。因此,查询时延高,性能不稳定。openLooKeng是专为跨域查询设计的跨域跨DC解决方案。openLooKeng集群部署在多个DC中。DC2中的openLooKeng集群完成计算后,通过网络将结果传递给DC1中的openLooKeng集群,在DC1中的openLooKeng集群完成聚合计算。在openLooKeng跨域跨DC方案中,计算结果在openLooKeng集群之间传递。这避免了网络带宽不足和丢包带来的网络问题,在一定程度上解决了跨域查询的问题。

存储计算分离

      openLooKeng本身没有存储引擎,但可以查询存储在不同数据源中的数据。因此,该系统是一个典型的存储计算分离系统,有利于独立扩展计算和存储系统。      openLooKeng存储计算分离架构适用于动态扩展集群,实现资源快速弹性伸缩。

快速数据探索

      客户拥有大量数据。为了使用这些数据,他们通常会构建专用的数据仓库。但是,这将带来额外的数据仓库维护人力成本和数据ETL时间成本。对于需要快速探索数据,但又不想建设专用数据仓库的客户,复制数据并加载到数据仓库费时费力。openLooKeng可以使用标准SQL定义一个虚拟数据市场,通过跨源异构查询能力连接各个数据源。这样,在虚拟数据市场的语义层中就可以定义出用户需要探索的各种分析任务。借助openLooKeng的数据虚拟化能力,客户可以快速构建基于多种数据源的探索分析服务,无需建设复杂、专用的数据仓库。

 

三、大数据平台支持混合部署——支持鲲鹏与x86混合部署,现网集群实现平滑扩容

      鲲鹏BoostKit大数据支持Apache开源大数据组件,同时支持多个商业第三方大数据平台,针对FusionInsight以及HDP平台,支持TaiShan服务器和x86服务器混合部署。

FusionInsight

FusionInsight平台以下组件支持单组件内部TaiShan与x86混合部署:

  • 基于YARN与HDFS的组件:HDFS、Yarn(MR)、Hive、Spark、Flink。
  • 分布式存储HBase、全文检索Elasticsearch、流处理Storm/Kafka/Flume、GraphBase、Elk。

不建议混合部署的组件:

  • Redis、Solr、Hue、Loader、Oozie、SmallFS。

FusionInsight大数据平台支持混合部署的限制约束如下:

  • FusionInsight HD 6.5.1版本支持混合部署,原有FusionInsight软件版本需要升级至6.5.1。
  • 支持RedHat 6.8/7.4-x86 + CentOS7.6-TaiShan;Suse 11.4/12.4-x86 + Suse 15.1-TaiShan混部,其他OS混部请提需求给FusionInsight团队验证。
  • 不支持管理控制节点混合部署,需要全x86或全TaiShan。
  • x86与TaiShan服务器除CPU外建议保持其他硬件配置一致。

混合部署方案的操作步骤如下:

  1. 确认x86的OS与TaiShan选型OS的混部是否在FusionInsight HD 6.5.1版本支持列表,不在则提需求给FusionInsight团队验证。
  2. 原有x86的FI集群升级至FusionInsight HD 6.5.1版本:需要申请购买FusionInsight升级专业服务,业务软件需要与FusionInsight 6.5.1版本对接适配。
  3. TaiShan服务器上架组网,FusionInsight集群启动扩容:按FusionInsight标准的交付流程申请交付服务。

 

Hortonworks HDP

Hortonworks HDP大数据平台组件可通过软件移植运行在TaiShan服务器,并通过提供不同平台的RPM包,实现Ambari混合部署x86与TaiShan服务器。

Hortonworks平台以下组件支持单组件内部TaiShan与x86混合部署:

  • 基于YARN与HDFS的组件:HDFS、Yarn(MR)、Hive、Spark、Flink。
  • 分布式存储HBase、全文检索Elasticsearch、流处理Storm/Kafka/Flume。

不建议混合部署的组件:

  • Redis、Hue、Sqoop、Oozie

Hortonworks大数据平台支持混合部署的限制约束如下:

  • x86与TaiShan需保证JDK版本一致,例如均为1.8。
  • x86集群要求:RedHat/CentOS 6.4及以上、SUSE 11.1及以上、EulerOS 2.1及以上、NeoKylin 6.9及以上。
  • TaiShan集群要求:Redhat/CentOS/SUSE/openEuler/NeoKylin,OS版本以TaiShan服务器兼容性列表为准。
  • 支持x86集群和TaiShan集群不同类型OS不同版本的混合部署。
  • 不支持Ambari Server节点混合部署,需要全x86或全TaiShan。
  • x86与TaiShan服务器除CPU外建议保持其他硬件配置一致。

混合部署方案的操作步骤如下:https://openlookeng.io/zh-cn/docs/docs/installation/deployment.html

  1. 确认x86集群与TaiShan集群的OS、JDK等版本满足混部需求。
  2. Ambari及所需大数据组件移植为TaiShan版本。
  3. 通过Ambari页面操作,配置YUM源地址,扩容增加节点。

备注:FusionInsight、东方国信、星环、金山等商业大数据软件均支持混合部署

 

四、鲲鹏性能优化十板斧,释放鲲鹏硬件算力

1.png

1、提升CPU利用率,优化内存配置

  • CPU预取开关调整
  • 定时器机制调整
  • 线程并发数优化
  • NUMA优化
  • 内存页大小调整

2、IO数据读写优化,降低CPU等待时延

  • 脏数据刷新策略
  • 磁盘文件系统预读参数调整
  • 磁盘IO调度策略优化
  • 文件系统参数优化
  • 异步文件操作libaio

3、优化网卡性能,卸载CPU压力

  • 网络中断绑核
  • 网络小包聚合参数调整
  • TSO/LRO开启
  • 内核CRC32优化

4、软硬协同,优化代码

  • 编译选项优化
  • 文件缓冲极致选择
  • 执行结果缓存
  • 内存拷贝减少
  • 锁优化

性能调优五步法

1

建立基准

在进行优化或者开始进行监视之前,首先要建立一个基准数据和优化目标。这个基准包括硬件配置、组网、测试模型、系统运行数据(CPU/内存/IO/网络吞吐/响应延时等)。我们需要对系统做全面的评估和监控,才能更好的分析系统性能瓶颈,以及实施优化措施后系统的性能变化。优化目标即是基于当前的软硬件架构所期望系统达成的性能目标。性能调优是一个长期的过程,在优化工作的初期,很容易识别瓶颈并实施有效的优化措施,优化成果往往也很显著,但是越到后期优化的难度就越大,优化措施更难寻找,效果也将越来越弱。因此我们建议有一个合理的平衡点。

2

压力测试与监视瓶颈

使用峰值工作负载或专业的压力测试工具,对系统进行压力测试。使用一些性能监视工具观察系统状态。在压力测试期间,建议详细记录系统和程序的运行状态,精确的历史记录将更有助于分析瓶颈和确认优化措施是否有效。

3

确定瓶颈

压力测试和监视系统的目的是为了确定瓶颈。系统的瓶颈通常会在CPU过于繁忙、IO等待、网络等待等方面出现。需要注意的是,识别瓶颈是分析整个测试系统,包括测试工具、测试工具与被测系统之间的组网、网络带宽等。有很多“性能危机”的项目其实是由于测试工具、测试组网等这些很容易被忽视的环节所导致的,在性能优化时应该首先花一点时间排查这些环节。

4

实施优化

确定了瓶颈之后,接着应该对其进行优化。本文总结了笔者所在团队在项目中所遇到的常见系统瓶颈和优化措施。我们需要注意的是,系统调优的过程是在曲折中前进,并不是所有的优化措施都会起到正面效果,负优化也是经常遇到的。所以我们在准备好优化措施的同时,也应该准备好将优化措施回滚的操作指导。避免因为实施了一些不可逆的优化措施导致重新恢复环境而浪费大量的时间和精力。

5

确认优化效果

实施优化措施后,重新启动压力测试,准备好相关的工具监视系统,确认优化效果。产生负优化效果的措施要及时回滚,调整优化方案。如果有正优化效果,但未达到优化目标,则重复步骤2“压力测试与监视瓶颈”,如达成优化目标,则需要将所有有效的优化措施和参数总结、归档,进入后续生产系统的版本发布准备等工作中。

      在性能调优经验比较少或者对系统的软硬件并不是非常了解时,可以参考使用五步法的模式逐步展开性能调优的工作。对于有丰富调优经验的工程师,或者对系统的性能瓶颈已经有深入洞察的专家,也可以采用其他方法或过程展开优化工作。

      这几步骤描述鲲鹏芯片常用的性能优化方法和分析工具。分别从CPU与内存子系统,网络子系统,磁盘IO子系统和应用程序优化4个方面阐述了常用的性能优化方法和分析工具,主要适用于执行性能优化的研发工程师和技术支持工程师。

 

五、BoostKit基础加速库:支持3种、7类加速库,KAE和HW265加速性能超越业界

鲲鹏加速库:对软件基础库做深度性能优化,构建常用软件库在鲲鹏平台上的性能竞争力,硬件加速+软加速库,已完成18个加速库

      备注:KAE (Kunpeng Accelerator Engine)鲲鹏加速引擎; HPRE(High Performance RSA Engine)高性能RSA加速引摩;SEC(Security Engine)硬件安
全加速引擎

六、openEuler+毕昇JDK——计算组件相比CentOS平均性能提升15%

100%开源            基于鲲鹏芯片深度优化

大数据解决方案TOP优化点

  • 磁盘/网卡队列调度策略优化
  • Neon指令优化/编译优化
  • AppCDs
  • GC算法优化

注意:关于毕昇JDK的介绍,小伙伴们可以看另一篇博客的详细介绍:

【毕昇编译器】编译优化与软硬协同释放鲲鹏澎湃算力:https://bbs.huaweicloud.com/blogs/289527

 

BoostKit大数据应用加速

BoostKit机器学习/图算法,基于原生算法深度优化,Spark性能倍级提升

      业务场景延伸,数据量爆发式增长,使得开源大数据机器学习算法的应用场景广泛而多样。但随之也带来了更大的挑战,开源算法收敛速度慢,硬件匹配度不足,导致很多场景算不了、算不快、算得贵。
      鲲鹏应用使能套件BoostKit提供基于开源算法深度优化的机器学习算法,为开发者提供极致性能的大数据分析体验。

      使用简单,无需修改上层应用,类和接口定义与原生保持一致,目前已优化8类27个算法

鲲鹏算法亲和性优化

  • 多核并行
  • 访存时延优化
  • 内存数据结构优化
为了充分匹配和发挥鲲鹏架构的硬件优势,鲲鹏BoostKit从访存时延、多核并行等方面进行算法亲和性优化。
      在访时延优化方面,鲲鹏BoostKit充分利用鲲鹏Cache(高速缓存)块特点,通过优化矩阵分块技术,保持访存和计算的连续性,有效提升Cache命中率,降低时延。
 
在同等计算精度下,Covariance(协方差算法)、Pearson(皮尔逊相关系数)、Spearman(斯皮尔曼等级相关系数)等机器学习算法的性能提升超过50%以上。
      在匹配鲲鹏多核能力方面,鲲鹏BoostKit通过设计并行优化方案,消除通信瓶颈,提高计算并行度,实现RF(Random Forest,随机森林)、GBDT(Gradient Boosting Decision Tree,梯度提升决策树)算法等机器学习算法性能最高提升2.5倍。

算法共性原理创新

  • 分布式优化求解
  • 线性代数运算
  • 集成学习
  • 分布式矩阵乘法

      矩阵计算是机器学习算法的核心组成部分,覆盖数据输入、算法描述、算法训练等计算过程。然而,在当前开源算法中,矩阵计算通常会成为计算瓶颈。鲲鹏BoostKit针对不同数据分布和规模下的矩阵计算场景,开展共性原理创新,在同等计算精度下,实现计算性能大幅度提升。

      以特征降维算法PCA(Principal component analysis,主成分分析)为例,经分析99%的计算耗时在于底层调用和运行SVD(Singular value decomposition,奇异值分解)算法,如果不进行SVD算法优化,会导致个性化推荐、关键对象识别、冗余信息缩减等场景的数据分析困难。
      因此,鲲鹏BoostKit通过优化重启技术、减少迭代轮次等优化手段,加快SVD算法的收敛速度,提升SVD算法对奇异值不分离和奇异值范围大,以及对高维数据场景的适应性。
 
在同等计算精度下,鲲鹏BoostKit的SVD算法能够将数据分析性能提升1.2倍以

此外,鲲鹏BoostKit还对采用优化后的SVD算法选择求解最大的一些奇异值,相比开源算法的全部奇异值求解,可以显著降低PCA算法的计算量。
 
在同等数据集和同等计算精度下,鲲鹏BoostKit的PCA算法不仅实现10倍以上的性能提升,甚至能够使能一些开源算法无法计算的超大规模数据集场景。
      鲲鹏BoostKit机器学习算法对接主流生态框架,保持与原生Spark算法完全一致的类和接口定义,无需上层应用做任何修改,就可平滑迁移至鲲鹏计算平台,并获得性能加速。
      目前鲲鹏社区已经发布了鲲鹏BoostKit的18个机器学习和21个图分析算法,覆盖主流的大数据算法应用场景。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。