-
【功能模块】ssh: /lib64/libc.so.6: version `GLIBC_2.27' not found (required by /client/KrbClient/kerberos/lib/libgssapi_krb5.so.2)安装glibc-2.27【操作步骤&问题现象】1、yum -y install bison texinfo2、wget https://ftp.gnu.org/gnu/glibc/glibc-2.27.tar.gz --no-check-certificate3、tar -zxf glibc-2.27.tar.gz4、cd glibc-2.275、mkdir build6、cd build7、../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin8、make -j329、make install编译无报错,make install提示段错误ErrorMessage:make[2]: *** [src/glibc-2.27/build/po/da.mo] Segmentation fault【截图信息】【日志信息】(可选,上传日志内容或者附件)
yd_281980674 发表于2022-03-18 16:16:16 2022-03-18 16:16:16 最后回复 dodotwhalefall 2022-09-29 19:58:21
1885 11 -
分析已安装软件(Ragel)操作步骤点击如下链接获取源码包,并完成在x86服务器上的安装。https://fossies.org/linux/misc/ragel-6.10.tar.gz说明:在x86服务器上的安装命令为:./configure && make && make install登录“Porting Advisor”。扫描安装在x86平台上的ragel-6.10软件。选择软件安装目录和目标操作系统,如图 扫描ragel-6.10所示。图1 扫描ragel-6.10单击“开始扫描”。查看扫描报告,如图 扫描报告所示。图1 扫描报告在kunpeng平台上,按照迁移意见,下载安装ragel_6.10-1_arm64.deb,如图 安装ragel_6.10-1_arm64.deb所示。图1 安装ragel_6.10-1_arm64.deb ----结束
-
【求助交流】1、我在两个鲲鹏生态2个地方,发现2P 鲲鹏920 CPU 片间Hydra接口速率描述的不相同,还请确认究竟应该速率多少?1)来源一:文档:华为鲲鹏920处理器 用户手册:第三卷 硬件指南 03速率:2P 片间速率3 * 30 = 90Gb/s2)来源二:书籍:鲲鹏处理器架构与编程-戴志涛-最新版内容:2P 片间速率480 Gb/s【截图信息】
-
迁移概述背景介绍在国产替代的大背景下,鲲鹏计算平台是一个非常有潜力的产业。为了解决开发者将应用从x86平台向鲲鹏平台移植的过程中遇到的一系列的痛点问题(例如:分析过程投入工作量大,周期长,需反复试错定位,准确率也低下,而且要求移植人员专业技能高等),推出了鲲鹏代码迁移工具(Porting Advisor),帮助开发者加速将x86环境下的应用迁移至鲲鹏平台。本文总结了鲲鹏代码迁移工具(Porting Advisor)的软件包分析和重构的实际使用经验,期望能帮助开发者了解如何使用工具,提高开发者的软件迁移效率。鲲鹏代码迁移工具介绍鲲鹏代码迁移工具(Porting Advisor)支持如下六大功能:分析软件安装包扫描x86平台软件安装包,识别安装包对系统SO的依赖和包内部的SO、JAR依赖,支持的软件安装包格式包括RPM、DEB、JAR、WAR、ZIP、TAR、GZIP。该功能位于工具一级菜单“软件迁移评估”下,工具安装在x86环境和鲲鹏环境下时均可用。分析已安装软件扫描x86环境中用户已安装的软件,识别已安装软件的SO、JAR依赖关系。该功能位于工具一级菜单“软件迁移评估”下,仅当工具安装在x86环境下时可用。分析源代码扫描x86平台软件的C/C++/Fortran/汇编源代码,识别源代码中的SO依赖关系,扫描需要修改的代码行并给出修改建议,根据系统设定的代码修改效率,给出评估的工作量,供领导层进行项目决策。该功能位于工具一级菜单“源码迁移”下,工具安装在x86环境和鲲鹏环境下时均可用。软件包重构对用户提供的x86平台RPM包、DEB包中x86平台相关的so文件、jar包进行替换,重构输出可用于鲲鹏平台的RPM包、DEB包。重构期间需要的鲲鹏版本的so文件、jar包需要用户通过依赖包上传功能在重构任务创建过程中上传。如果这些文件是可以直接从华为云镜像源下载的,并且用户安装鲲鹏代码迁移工具的服务器可联网,则用户创建重构任务时可以授权工具重构期间连接到华为云镜像源进行自动下载。该功能位于工具一级菜单“软件包重构”下,仅当工具安装在鲲鹏环境下时可用。专项软件迁移一级菜单“专项软件功能”下,针对已经完成迁移的部分BoostKit组件,用户可以通过专项软件迁移功能进行重复迁移。迁移过程中的每个执行步骤都是可视的,用户可根据自己的需求定制由工具执行其中的某些步骤而自己手工执行另外一些步骤,从而达到对这些组件的定制化的目的。该功能仅当工具安装在鲲鹏环境下时可用。增强功能一级菜单“增强功能”下提供了64位代码迁移预检、字节对齐检查、弱内存序检查修复三项子功能。64位代码迁移预检功能针对32位老旧代码执行检查动作,从编译器层面识别编译出64位应用时代码中存在的修改点,该功能仅当工具安装在x86环境下时可用。字节对齐检查功能辅助用户检查应用从32位模式改为64位模式时,数据结构定义方面的变化,以便用户优化代码,该功能仅当工具安装在x86环境下时可用。弱内存序检查修复则提供了编译器自动修复工具和静态检查工具两个选项,分别供用户在GCC编译以及工具运行两种模式下使用以修复ARM架构下独有的应用弱内存序问题,该功能仅当工具安装在鲲鹏环境下时可用。环境要求根据各功能的平台依赖性,需要准备如表 鲲鹏平台环境所示的环境。表1 鲲鹏平台环境项目说明服务器TaiShan 200 2280 服务器(等同于其它基于鲲鹏916或者鲲鹏920的服务器)CPU鲲鹏920 96核处理器OSCentOS 7.6安装的工具Porting Advisor 2.2.T3可使用场景分析软件安装包分析源代码软件包重构专项软件迁移弱内存序检查修复前提条件服务器和操作系统正常运行。PC端已经安装SSH远程登录工具。Porting Advisor已在准备好的x86平台环境和鲲鹏平台环境中完成安装并正常运行。待迁移的相关软件包、源代码已准备就绪。迁移计划本文将总结演示重构开源软件atlas软件包kafka-2.4.1-1.el7.noarch.rpm。说明:本次重构动作和验证动作均可通过鲲鹏平台环境完成。重构开源软件atlas软件包kafka-2.4.1-1.el7.noarch.rpm的步骤演示,将有助于读者了解在有x86平台rpm包、deb包需要修改重构为鲲鹏平台的包时,如何才能完成这个迁移过程。将利用Porting Advisor的软件安装包分析功能对获取到的kafka-2.4.1-1.el7.noarch.rpm进行扫描,获取其依赖关系和可迁移性分析结果。根据Porting Advisor的软件安装包分析功能分析得到的kafka-2.4.1-1.el7.noarch.rpm依赖关系去准备重构为鲲鹏平台RPM包时需要的SO库和JAR包。利用准备好的资源包和RPM包,通过Porting Advisor的软件包重构功能,完成鲲鹏版本kafka-2.4.1-1.el7的RPM包重构工作。针对重构得到的鲲鹏版本kafka-2.4.1-1.el7的RPM包进行简单的验证。重构开源软件atlas软件包操作步骤从https://ci.bigtop.apache.org/view/Releases/job/Bigtop-3.0.0/DISTRO=centos-7,PLATFORM=amd64-slave/lastSuccessfulBuild/artifact/output/kafka/noarch/下载获取待使用的rpm包,如图 kafka-2.4.1-1.el7.noarch.rpm所示。 图1 kafka-2.4.1-1.el7.noarch.rpm双击“kafka-2.4.1-1.el7.noarch.rpm”即可获取本例中所需要的软件包。利用Porting Advisor的分析软件包功能完成对该包的扫描分析。勾选“分析软件包”,单击“上传”,上传前面下载到的kafka-2.4.1-1.el7.noarch.rpm,并点中输入框,选择安装包存放路径为/opt/portadv/portadmin/package/kafka-2.4.1-1.el7.noarch.rpm,如图 Porting Advisor所示。 图2 Porting Advisor 4. 单击“开始分析”,进行分析并得到扫描分析报告,如图 扫描分析报告所示。 图3 扫描分析报告 准备依赖库从图 扫描分析报告1和图 扫描分析报告2提供的依赖库信息看,所依赖的包中,有2个是安装过程中需要的可执行文件,有3个是被扫描的rpm包内包含的jar包。报告中针对rpm包内包含的jar包提供了华为鲲鹏产品官方maven仓库中的下载链接,直接点击下载即可。 图4 扫描分析报告1 图5 扫描分析报告2 重构软件包操作步骤打开软件包重构功能页面后,通过“上传”按钮将待重构的RPM包kafka-2.4.1-1.el7.noarch.rpm上传到服务器,如图 选择待重构软件包所示。 图6 选择待重构软件包 2. 单击“下一步”,进入“配置依赖文件”步骤,选择手工上传依赖文件、勾选“授权访问外部网络获取重构软件包需要的依赖文件”以允许工具在重构过程中自动连接到各OS发行版的 官方网站或者鲲鹏Maven仓库在华为云镜像源上的下载地址下载需要的依赖文件,如图 配置依赖文件所示。 图7 配置依赖文件 3. 单击“下一步”,进入“执行重构”步骤,这里需要再进行最后一次确认才能开始重构操作,如图 重构任务执行中所示。 图1 重构任务执行中 注意: 如果在执行本步骤操作前,服务器上没有安装rpmrebuild,则会遇到如图 rpmrebuild未安装所示的报错。此时用户需要自行下载rpmrebuild安装包,在工具所在安装服务器上安装该 组件,然后重试重构动作。 4. 重构成功后,单击“下载重构软件包”按钮即可下载重构好的软件包atlas-metadata_3_1_0_0_78-1.1.0.3.1.0.0-78.aarch64.rpm,如图7 下载重构软件包所示。 图1 下载重构软件包 也可以在关闭重构结果窗口后,从历史记录中下载重构结果。验证重构后RPM包kafka安装包在鲲鹏环境安装时,需要依赖bigtop-utils、zookeeper等包,读者在执行本章节验证前,需完成环境搭建工作,在相关的环境依赖具备条件下,kafka的安装只需要通过最普通的RPM包安装命令(rpm –ivh xx.rpm)即可完成。本节重点介绍环境搭建后如何进行功能验证。安装kafka 切换到终端工具 执行以下命令:cd /opt/portadv/portadmin/data/20220310175550/ 说明:此路径可以从第4步重构成功后的右下角弹窗中显示的软件包存放路径获取。 rpm –ivh kafka-2.4.1-1.el7.noarch.rpm 启动zookeeper 执行以下命令启动zookeeper: cd /usr/local/zookeeper/bin ./zkServer.sh start 功能验证 命令行方式创建一个主题 cd /usr/lib/kafka/bin kafka-topics.sh --zookeeper localhost:2181 --create --topic sandbox-experiment -partitions 2 --replication-factor 1 启动消费者服务 kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sandbox-experiment 启动生产者服务 kafka-console-producer.sh --broker-list localhost:9092 –topic sandbox-experiment 并发送消息“beginning hello kafka” 消费者服务收到消息 证明重构后的kafka-2.4.1-1.el7.noarch.rpm软件包,在鲲鹏服务器上课正常安装使用。 -----结束
-
简介结构体字节对齐检查工具作为“鲲鹏代码迁移工具”的一个组件,帮助开发人员查找源码中存在的字节对齐问题。wtdbg是一种更快更好的基因组算法,使用C语言编写。本实践使用“鲲鹏代码迁移工具”分析C语言编写的项目,并给出合理的修改建议,帮助用户解决字节对齐问题。语言:C,C++开源协议:GPL建议的版本“鲲鹏迁移工具”建议使用版本为2.3.0。环境要求硬件要求硬件要求如表1所示。表1 硬件要求项目说明服务器基于鲲鹏916/920的服务器CPU四核2.5GHz及以上内存系统空闲内存要求8GB及以上说明为了使多任务并发正常执行,要求使用八核2.5GHz CPU,16GB及以上内存配置的服务器。软件要求软件要求如表2所示。表2 软件要求项目下载地址Porting-advisor_2.3.0_Kunpeng-linux.tar.gzhttps://mirror.iscas.ac.cn/kunpeng/archive/Porting_Dependency/Packages/Porting-advisor_2.3.0_Kunpeng-linux.tar.gzNginx 1.14.2https://github.com/nginx/nginx/releases/tag/release-1.14.2操作系统要求操作系统要求如表3所示。表3 操作系统要求项目版本下载地址CentOS8.0https://www.centos.org/download/Kernel4.18.0-80.el8https://www.centos.org/download/GCC4.8.5https://github.com/gcc-mirror/gcc/releases?after=releases%2Fgcc-9.3.0Nginx专项软件迁移前提条件已安装鲲鹏代码迁移工具。操作步骤登录鲲鹏代码迁移工具Web界面。在左边标题栏中,选择“专项软件迁移”。打开“专项软件迁移”页面,在“迁移前必读”对话框中,勾选“我已阅读以上文字”,单击“确认”,进入专项软件迁移页面。单击“Web”页签下的Nginx,进入到Nginx迁移界面。如图 Nginx所示。图2 Nginx检查环境符合要求, 在“执行步骤”区域选择需要执行的步骤,单击“开始迁移”。按钮置灰右下角展示迁移进度执行步骤。如图 Nginx迁移中界面进度展示所示。图3 Nginx迁移中界面进度展示迁移完成后,单击右下角的“下载迁移文件”按钮,下载迁移文件。如图 Nginx迁移完成文件下载所示。图4 Nginx迁移完成文件下载---结束迁移结果验证环境rpm安装Nginx迁移包,如图 Nginx rpm安装所示。图5 Nginx rpm安装异常情况解决方式如果服务器环境不符合要求,可以根据2-环境要求中的要求进行环境优化,根据指定链接地址下载所需的系统组件以及迁移需要迁移文件。服务器环境网络受限。可以通过以下操作解决:开始迁移前取消勾选执行步骤:步骤1,步骤2,步骤10。上传nginx源码包和openssl源码包到“安装目录/portadv/resource/migration/WEB_Nginx_1.14.2_leg”路径下,并给nginx源码包和openssl源码包porting用户执行权限,如图 Nginx rpm安装所示。图6 Nginx rpm安装开始迁移。
-
【功能模块】华为鲲鹏服务器(ARM架构) CentOS8.0 安装Docker【操作步骤&问题现象】1、yum -y install docker2、出现Last metadata expiration check: 0:00:27 ago on Wed 16 Mar 2022 07:16:44 AM CST. Error: Problem: cannot install both gpgme-1.3.2-5.el7.aarch64 and gpgme-1.10.0-6.el8.0.1.aarch64 - package docker-2:1.13.1-209.git7d71120.el7.centos.aarch64 requires libgpgme-pthread.so.11()(64bit), but none of the providers can be installed - package docker-2:1.13.1-209.git7d71120.el7.centos.aarch64 requires libgpgme-pthread.so.11(GPGME_1.0)(64bit), but none of the providers can be installed - package docker-2:1.13.1-209.git7d71120.el7.centos.aarch64 requires libgpgme-pthread.so.11(GPGME_1.1)(64bit), but none of the providers can be installed - package python3-gpg-1.10.0-6.el8.0.1.aarch64 requires gpgme(aarch-64) = 1.10.0-6.el8.0.1, but none of the providers can be installed - cannot install the best candidate for the job - problem with installed package python3-gpg-1.10.0-6.el8.0.1.aarch64 (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) 【截图信息】
-
扫描ctypes-snappy源码下载ctypes-snappy源码。 git clone https://github.com/rjpower/ctypes-snappy.git 2. 使用工具源码扫描模块进行扫描,勾选Python。 Figure1 创建源码迁移分析任务 3. 查看报告后发现需要依赖libsnappy.so.1文件。 Figure1 查看报告 4. 直接运行测试代码发现报错找不到snappy,将扫描报告中的依赖文件下载后安装到系统上,重新执行,可以执行成功 图3 安装依赖文件
-
简介结构体字节对齐检查工具作为“鲲鹏代码迁移工具”的一个组件,帮助开发人员查找源码中存在的字节对齐问题。wtdbg是一种更快更好的基因组算法,使用C语言编写。本实践使用“鲲鹏代码迁移工具”分析C语言编写的项目,并给出合理的修改建议,帮助用户解决字节对齐问题。语言:C,C++开源协议:GPL建议的版本“鲲鹏迁移工具”建议使用版本为2.3.0。环境要求硬件要求硬件要求如表1所示。表1 硬件要求项目说明服务器x86服务器CPU四核2.5GHz及以上内存系统空闲内存要求8GB及以上说明为了使多任务并发正常执行,要求使用八核2.5GHz CPU,16GB及以上内存配置的服务器。软件要求软件要求如表2所示。表2 软件要求项目下载地址Porting-advisor_2.3.0_Kunpeng-linux.tar.gzhttps://mirror.iscas.ac.cn/kunpeng/archive/Porting_Dependency/Packages/Porting-advisor_2.3.0_Kunpeng-linux.tar.gzwtdbg 2.2https://github.com/ruanjue/wtdbg2操作系统要求操作系统要求如表3所示。表3 操作系统要求项目版本下载地址CentOS7.6https://www.centos.org/download/Kernel4.14.0-115.el7a.0.1https://www.centos.org/download/wtdbg源码字节对齐检查前提条件已安装鲲鹏代码迁移工具。操作步骤登录鲲鹏代码迁移工具Web页面。选择“增强功能”页签下的,“结构体字节对齐检查”。如图 结构体字节对齐检查所示。图1 结构体字节对齐检查 单击“上传”,上传wtdbg开源软件包。如图 上传wtdbg开源软件包所示。图2 上传wtdbg开源软件包点击“对齐检查”, 开始字节对齐检查。检查完成后,点击“查看报告”, 进入对齐检查报告界面。如图 对齐检查报告所示。图4 对齐检查报告 表4 报告说明项目参数文件列表分析的源码文件名称。原始源代码原始源代码。结构变量内存空间分配显示代码中需要对齐的32位和64位字节内存空间。基于报告,修改源代码结构体变量位置,达到结构体对齐的目的 图5 修改源代码 ----结束
-
1 验证CMake x86软件包在arm服务器上不可执行点击如下地址获取x86源码包。 https://github.com/Kitware/CMake/releases/tag/v3.19.8 图1 下载x86软件包 2.上传并解压CMake软件包,如图 上传并解压所示。 图2 上传并解压 图3 解压后的文件目录如图 3.执行解压后的二进制文件,结果显示不可执行,如图 执行解压后的二进制文件所示。 图4 执行解压后的二进制文件 ----结束↵2 扫描软件包并按迁移建议修改上传软件包执行扫描,目标操作系统选择的是CentOS 7.6。 图1 扫描 2. 查看扫描报告,如图 扫描报告所示。 图2 扫描报告 3. 下载报告中依赖文件的链接,并解压,如图 下载并解压依赖文件所示。 图3 下载并解压依赖文件 解压后如图 解压后的文件所示。 图4 解压后的文件 4. 验证该二进制文件。 图5 验证1 图6 验证2 图7 验证3 图8 验证4 ----结束↵
-
恭喜以下获奖用户,感谢你们的优秀建议,请积分排名前8名的用户于4月7日前及时反馈收奖信息,逾期未反馈,视为自动放弃奖品,谢谢:)点此反馈收奖信息:https://devcloud.huaweicloud.com/expertmobile/qtn?id=f9006fab064d4f608c782579a64d9b81 请昵称为lxl、小桥流水哗啦、yd_229343314、yd_290738463的4位用户于4月7日前尽快完成实名认证,逾期未完成,则视为自动放弃奖品,谢谢 :)实名认证步骤:点击论坛页面右上角的账号--账号中心--根据要求完成实名认证昵称积分所得码豆所得奖品小糖饼最甜呀1261000HUAWEI FreeLace Pro 无线耳机dandongjkzx381000华为手环 6 Proluoyiling361000华为多协议超级快充移动电源lxl141000华为 AM115 半入耳式耳机小桥流水哗啦101000华为 AM115 半入耳式耳机sherry122581000华为 AM115 半入耳式耳机氟西汀81000华为 AM115 半入耳式耳机andyleung71000华为 AM115 半入耳式耳机yd_22508834451000/Brighten31000/本地三哥31000/红鱼波波31000/yd_22934331421000/yd_29073846321000/幂芾琳21000/蜀黍养的猫21000/yd_21443100511000/Tianyi_Li11000/昇腾文档中心来啦~它汇聚昇腾领域环境搭建、模型开发、算子开发、应用开发等技术文档,为开发者提供一站式知识共享平台。现昇腾社区已完成文档中心建设,开发者文档已从“华为云文档中心”迁移,为了解您使用文档的现状,提升使用体验,诚邀开发者们参与文档体验、在线找茬,赢华为无线耳机、手环、移动电源等好礼!注:本次活动主要从文档中心资料的分类获取、内容浏览(如链接跳转、切换等)、下载、意见反馈、评分等交互、功能方面找茬提出优化建议&Bug(文档内容问题仅提供码豆奖励) 活动时间 2022年3月15日~2022年3月27日 活动方式 1)通过PC/手机端体验文档界面,从内容浏览(如链接跳转、切换等)、下载、意见反馈、评分等交互和功能使用方面,提出您的优化建议(配图最佳),并在本帖下方回帖反馈(回帖已设置成仅作者可见)。复制打开链接进入体验页面:https://www.hiascend.com/document/detail/zh/canncommercial/504/overview/index.html 奖项设置 昇腾专家将逐条评估每条建议,根据建议的价值大小进行打分,每条建议0-5个积分,根据积分总排名评选出最具价建议奖,并给予相应奖励。奖项设置获奖要求所得奖品数量最具价值建议金奖积分排名第1名价值599元的HUAWEI FreeLace Pro 无线耳机1副最具价值建议银奖积分排名第2名价值449元的华为手环 6 Pro1个最具价值建议铜奖积分排名第3名价值179元的华为移动电源1个优秀建议奖积分排名第4-8名价值49元的华为 AM115 半入耳式耳机5副成功参与奖积分≥11000码豆不限 什么是码豆?会员中心入口:https://devcloud.huaweicloud.com/bonususer/home码豆奖励活动规则:1)码豆可在码豆会员中心兑换实物礼品。2)码豆只能用于会员中心的礼品兑换,不得转让,具体规则请到会员中心阅读“码豆规则”。3)为保证码豆成功发放,如果修改过账号名还请向工作人员提供修改前后的账号名。 活动规则 1)请务必使用个人账号参与活动(IAM、企业账号等账号参与无效)。2)所有获得华为奖项的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励。3)本次活动如一个实名认证对应多个账号,只有一个账号可领取奖励;一个实名认证账号只能对应一个收件人,如同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励。4)为保证您顺利领取活动奖品,请您提前填写奖品收货信息,如您没有填写,视为放弃奖励【点击此处填写信息】。5)活动结束且用户填写完成领奖信息后,30个工作日内发放奖品,发放时间根据实际情况动态调整,如有延期敬请见谅。
-
1.1 背景与价值业务的持续增长往往带来对于应用系统性能要求的提升,业务应用如何基于既有软硬件资源,充分发挥计算算力,提升并发性能,处理更多事务,是开发者面临的最大挑战。鲲鹏加速库对软件基础库做深度性能优化,通过硬件加速和软件加速,给客户带来更高的性价比。1.2 鲲鹏BoostKit加速库全景鲲鹏应用使能套件BoostKit,释放倍级性能优势,提供以下八大场景化应用使能套件:大数据、分布式存储、数据库、虚拟化、 ARM原生、Web/CDN、NFV和HPC。其中的基础加速软件包,华为提供基础性能优化、基础加速库和加速算法等基础加速软件包和文档,合作伙伴可以从从鲲鹏社区获取基础加速软件包,在鲲鹏创新中心指导下进行编译、部署和性能优化。鲲鹏BoostKit加速库共支持3种加速库,分别是:ARM支持的加速库:开源社区提供的ARM支持的加速库,已在鲲鹏平台完成验证;基于鲲鹏指令的加速库:基于鲲鹏指令深度优化的加速库,并向开源社区开放基于KAE(Kunpeng Accelerator Engine,鲲鹏加速引擎)的加速库:基于鲲鹏硬件加速引擎的加速库,提供领先业界的性能加速能力。包含ZIP(硬加速-压缩),HPRE(硬加速-非对称加解密),SEC(硬加速-对称加解密)。上述3种加速库,依据使用的场景不同,一共可以分为7类,分别是:系统库、压缩库、加解密库、媒体与信号库、数学库、存储库、网络库。这7类加速库,在架构上,对上适用于各种解决方案,比如说大数据、分布式存储、数据库、虚拟化、ARM生web、CDN等,从而支撑这些解决方案服务于政府、运营商、金融等其它领域,对下适配主流的操作系统,比如说openEuler、CentOS等等。鲲鹏BoostKit加速库充分发挥硬件的能力,或者内嵌于操作系统,以及单独作为一个函数库,去支撑解决方案,提升解决方案的性能,最终提升客户的性价比,即不需要去加购硬件的配置,就可以提升算力和性能。1.3 鲲鹏BoostKit加速库实现原理及应用1.3.1 KAE加速库原理及应用KAE使用流程如下:BMC子系统管理芯片加速子系统的License,当系统初始化时,BMC将License传递给BIOS系统。BIOS子系统解析License信息,并根据解析结果对芯片加速子系统进行使能控制,并上报加速器ACPI表到内核。上层应用基于OpenSSL/zlib加速库调用鲲鹏加速引擎,并通过寄存器操作调用芯片加速子系统。从用户层的角度来看,apps在使用KAE时,只需进行简单的配置。如果应用程序已经调用了openSSL或者已经调用了Zlib,无需修改代码,便可获取KAE带来的加速能力,反之,我们提供了Warpdrive层,其算法进行了抽象,提供了API,供上层软件调用。同时提供统一的用户态加速框架,帮助降低调用路径性能损耗。KAE的应用场景十分广泛,包括Web应用方案、分布式存储、大数据、虚拟化。Web应用方案,在互联网和金融行业应用非常普遍,使用KAE的RSA去硬加速Nginx。Nginx负责短连接接入的负载均衡,其性能会直接决定系统能否接入,同时并发处理多少个客户请求。如果硬加速能够对RSA的处理做性能优化,就可以同时处理更多请求。通过实测发现Nginx在使用RSA硬加速之后,并发数量可以提升一倍。相比业界友商的加速卡整体性能领先35%。在分布式存储混合读写7:3典型场景中,对带宽性能验证发现:块存储和对象存储都平均提升15%以上,最高能接近40%。大数据场景,用到了国密的加解密。在大数据的节点之间同步时,需把数据加密之后再传输,或者把数据压缩之后再存储。此前CPU占比较高,约占20%。使用KAE后,整个加密性能有所提升,且CPU损耗不超过5%。省下的CPU就可以去做很多业务上的事情,比如MapReduce的任务数增加,这样整个端到端的性能就会有所提升。虚拟化场景,目前KAE引擎完全按照SR-IOV的标准实现。在虚拟化和容器场景下,使用KAE,不会导致虚拟化调用带来的额外损耗,使用KAE的效果和物理机几乎等同。1.3.2 鲲鹏指令加速库原理及应用Avx2NeonAvx2Neon加速库是一款接口集合库,将AVX指令封装为独立的接口模块,并采用NEON SIMD指令替换对应的AVX指令,解决迁移问题。x86 Intrinsic函数总共6000多个,目前已完成其中5000+个的函数接口适配;Avx2Neon对常用的SSE/AVX Intrinsics函数进行深度优化适配,使用鲲鹏920指令以及ARM Intrinsics函数进行深度性能优化。目前,适配函数以头文件方式集成到Porting Advisor工具,通过工具识别迁移点,并提供一键式快速迁移HyperscanHyperscan是一款高性能的正则表达式匹配库,其中包含大量高效算法。它基于官网5.2.0版本优化,除了使用ARM Neon指令加速外,还使用数据预取、分支预测、结构重排及循环展开等多种优化手段实现加速。Hyperscan支持块模式(适用于对一段现成的完整数据进行匹配)和流模式(网络场景下跨报文匹配设计的特殊匹配模式)两种匹配模式,适用于入侵检测系统、DPI解决方案、互联网营销、网络威胁检测等诸多场景。HMPPHMPP是华为自研高性能媒体性能原语库,包括图像处理HMPPI函数库以及信号处理HMPPS函数库两个子库,适配多个操作系统,提供函数API,应用于运动跟踪、雷达信号、图像分析、视频增强、AI加速、医学扫描、通信工程等诸多行业。目前已经完成信号库HMPPS完成1000+个函数接口开发包括以下方面:基础向量运算:逻辑移位运算、向量转换、向量统计、采样函数、初始化函数信号变换:FFT、CZT、功率谱、希尔伯特滤波:卷积、FIR滤波、重采样、中值滤波、自相关窗口函数:Blackman、Hann、Kaiser、Hamming、Bartlett数学运算:算数运算、三角运算、幂、根、指数运算HW265HW265是用于编码符合高效率视频编码(HEVC/H.265)标准的影片的开源自由软件及函数库。其支持8bit高清低码,性能与码率相比开源有倍级提升;其中8bit标准版实现相比x86开源x265有1~5倍的性能优势;其中8bit高清低码版实现平均50%的码率节省。应用于热门影片、短视频场景、OTT点播、秀场、游戏、在线教育等诸多场景。经测试验证,视频质量与转码速度均得到了大幅的提升,对于直播的场景,单机并发路数也实现倍级提升。数学库数学库KML(Kunpeng Math Library),目前一共包含6个子库,包含处理实复数快速傅里叶变换的KML_FFT,处理稀疏线性代数运算的KML_SPBLAS,处理线性代数运算(向量-向量/向量-矩阵/矩阵-矩阵)的KML_BLAS,处理向量计算的KML_VML,处理基础计算的KML_MATH,处理线性代数运算(矩阵分解/方程组求解/特征值)的KML_LAPACK。数学库广泛应用于大数据分析算法(如KAL)、科学计算(如气象、制造、化学等行业)、AI推理(如卷积算子等)。数学库在保证数学运算精度的同事,利用NEON指令、循环展开、汇编代码重构等方法,大幅度提升计算性能,其中KML_FFT与开源FFTW进行对比的,性能提升约有1倍,和基础库LIBM进行比较,性能提升约有50%。GlibcGlibc是c运行库,是linux系统中最底层、最基础的软件库,其它任何运行库几乎都会依赖于glibc。华为通过使用Q寄存器代替X寄存器、读写内存对齐、结合鲲鹏CPU芯片分支预测特性、算法优化等诸多优化方案,对内存、字符串等接口进行了加速优化,充分利用鲲鹏Neon指令优势提高算力。已优化的接口已合入GNU社区,随glibc2.31主干版本发布,同时openEuler1.0已收编相比于主流OS集成的glibc2.17,接口平均性能提升35+%。1.4 总结鲲鹏BoostKit加速库通过鲲鹏社区,社区化运作,针对合作伙伴和开发者,均可以通过鲲鹏社区(https://www.hikunpeng.com/zh/developer/devkit/library)联系华为和获取相关加速库。同时,加速库项目在github(https://github.com/kunpengcompute/Kunpeng)上进行了部分库的开源,以供开发者合作交流。另外,在鲲鹏众智(https://www.hikunpeng.com/ecosystem/ecology_remit)项目中发布了高回报的开发任务,如果您对加速库感兴趣,可以与鲲鹏BoostKit加速库团队一起共创ARM高性能生态。
-
ACE 7.0.0移植指南 for openEuler文档版本 V1.0发布日期 2022-3-11修订记录日期修订版本CR号修改章节修改描述2022-3-11V1.0初稿新建1简介ACE是一个开放源代码框架,为开发高性能,分布式实时和嵌入式系统提供了许多组件和模式。 ACE为套接字,解复用循环,线程,同步原语提供了强大而高效的抽象。官方链接:http://download.dre.vanderbilt.edu/类别:开放源代码框架语言:C/C++2环境类别子项版本获取地址(方法)硬件CPUKunpeng 920iBMC网络Ethernet-10GEiBMC存储SATA 4TiBMC内存240G 2933MHziBMCOSopenEuler20.03cat /etc/centos-releaseKernel4.19.90-2112cat /proc/version软件GCC7.3.0gcc -vGlibc2.2.8ldd --versionOpenJDK1.8.0_191参考下面安装说明cmake3.13.2cmake --version3依赖安装3.1安装OpenJDK1. 下载aarch64二进制包并安装curl -O https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gzmv jdk8u191-b12 /opt/tools/installed/2. 使用yum安装yum install java-1.8.0-openjdk*3. 配置java环境变量,在/etc/profile文件末尾处增加下面的代码:# 手动安装的JAVA_HOME设置export JAVA_HOME=/opt/tools/installed/jdk8u191-b12# yum安装的JAVA_HOME设置export JAVA_HOME=/usr/lib/jvm/java-1.8.0export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH4. 运行下面命令,使修改的环境变量生效:source /etc/profile3.2安装GCC等依赖项sudo yum install -y snappy snappy-devel autoconf automake \libtool git gcc gcc-c++ make cmake openssl \openssl-devel ncurses-devel zlib zlib-devel \bzip2 bzip2-devel bzip2-libs readline readline-devel \bison zip unzip tar tcl3.3对gcc、g++和c++增加-fsigned-char选项1、对gcc增加-fsigned-char选项1)使用which gcc命令寻找gcc所在路径(一般位于/usr/bin/gcc)which gcc2)、更改gcc的名字(比如改成gcc-arm)mv /usr/bin/gcc /usr/bin/gcc-arm3)、进入gcc所在目录执行vim gcc,并填入如下内容保存:cd /usr/bin/vim gcc# 添加以下内容#! /bin/sh/usr/bin/gcc-arm -fsigned-char "$@"4)、执行chmod +x gcc给脚本添加执行权限chmod +x gcc2、对g++增加-fsigned-char选项1)使用which g++命令寻找g++所在路径(一般位于/usr/bin/g++)which g++2)、更改g++的名字(比如改成g++-arm)mv /usr/bin/g++ /usr/bin/g++-arm3)、进入g++所在目录执行vi g++,并填入如下内容保存:cd /usr/bin/vim g++# 填入以下内容#! /bin/sh/usr/bin/g++-arm -fsigned-char "$@"4)、执行chmod +x g++给脚本添加执行权限chmod +x g++3、对c++增加-fsigned-char选项1)使用which c++命令寻找g++所在路径(一般位于/usr/bin/c++)which c++2)、更改c++的名字(比如改成c++-arm)mv /usr/bin/c++ /usr/bin/c++-arm3)、进入c++所在目录执行vi c++,并填入如下内容保存:cd /usr/bin/vim c++# 填入以下内容#! /bin/sh/usr/bin/c++-arm -fsigned-char "$@"4)、执行chmod +x c++给脚本添加执行权限chmod +x c++4移植分析使用checkSo工具检查ACE 6.5.0对应x86的安装包或源码包是否有依赖x86的so文件,通过检查ACE 6.5.0的源码没有发现有依赖的x86架构的so文件。工具获取地址:http://3ms.huawei.com/km/groups/2351/blogs/details/10361837?l=en_US&moduleId=614273918841663488 5依赖库暂无6编译安装1、从ACE官网下载源码并解压wget http://download.dre.vanderbilt.edu/previous_versions/ACE-6.5.0.tar.gztar zxvf ACE-6.5.0.tar.gz2、进入解压目录mv ACE_wrappers /usr/local/cd /usr/local/ACE_wrappers/3、配置ACE环境变量cat >/etc/profile.d/ace.sh <<'EOF'export ACE_ROOT=/usr/local/ACE_wrappersexport LD_LIBRARY_PATH=$ACE_ROOT:$LD_LIBRARY_PATHEOFsource /etc/profile.d/ace.shcat /etc/profile.d/ace.sh4、ACE编译前配置echo '#include "ace/config-linux.h"' > $ACE_ROOT/ace/config.hecho 'include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU' > $ACE_ROOT/include/makeinclude/platform_macros.GNUecho 'INSTALL_PREFIX = /usr/local' >> $ACE_ROOT/include/makeinclude/platform_macros.GNU#如果需要生成静态库,需要加入static_libs = 1(该命令根据实际需求选择是否执行)echo 'static_libs = 1' >> $ACE_ROOT/include/makeinclude/platform_macros.GNU5、进入$ACE_ROOT/ace目录进行ACE编译安装cd $ACE_ROOT/acemake && make install6、回到$ACE_ROOT目录进行ACE编译安装(可选)cd $ACE_ROOT/make –j64make install7验证1、编译验证使用checkSo工具检查编译后的/usr/local/ACE_wrappers/路径中是否不再含有依赖的x86架构的so文件,检查方法参考工具中的 《CheckSo使用说明.docx》,如果还有依赖的x86架构的so文件,则需要继续完成对应jar包的编译,直到无依赖的x86架构的so文件后,再次编译该组件并通过checkSo工具检查确认,编译后的组件包不再有依赖的x86架构的so文件则表明编译成功。工具获取地址:http://3ms.huawei.com/km/groups/2351/blogs/details/10361837?l=en_US&moduleId=6142739188416634882、功能验证暂无8参考信息1、http://download.dre.vanderbilt.edu/ 9FAQ1. Make install 报错/usr/bin/env: “perl\r”: 没有那个文件或目录make[1]: *** [GNUmakefile.ACE:529:install] 错误 127make[1]: 离开目录“/usr/local/ACE_wrappers/ace”make: *** [GNUmakefile:31:install] 错误 2解决:sed -i 's/\r$//' /usr/local/ACE_wrappers/MPC/prj_install.pl
-
1介绍MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品,MariaDB还提供了许多更好的新特性。2环境要求2.1硬件要求项目说明服务器TaiShan 200 服务器(型号2280)CPU鲲鹏920处理器磁盘分区进行性能测试时,数据目录需使用单独硬盘,即一个系统盘,一个数据盘,至少两块硬盘。非性能测试时,直接在系统盘上建数据目录即可。具体硬盘数量根据实际需求配置。网络可访问外网 2.2操作系统项目版本银河麒麟V10 3 配置编译环境3.1 配置代理3.1.1 打开/etc/profile文件vim /etc/profile3.1.2 在/etc/profile文件中增加以下内容(根据实际情况填写)。export http_proxy="http://用户名:密码@代理IP:代理端口"export https_proxy=$http_proxyexport no_proxy=127.0.0.1,.huawei.com,localhost,local,.local3.1.3 使代理生效。source /etc/profile 3.2 配置yum源3.2.1 配置源文件#mv /etc/yum.repos.d/ /etc/yum.repos.d-bak#mkdir /etc/yum.repos.d#echo -e "[local]\nname=local\nbaseurl=file:///mnt\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/local.repo3.2.2 挂载OS镜像文件至“/mnt”目录下mount /root/CentOS-7-aarch64-Everything-1810.iso /mnt3.2.3 使yum源生效yum clean allyum makecacheyum list3.3 安装依赖包yum -y install readline-devel zlib-devel openssl* git perl* bison wget4 编译和安装4.1 下载MariaDB 10.3.8源码包cd /root/wget https://archive.mariadb.org//mariadb-10.3.8/source/mariadb-10.3.8.tar.gz --no-check-certificate4.2 解压源码包tar zxvf mariadb-10.3.8.tar.gz4.3 进入解压目录cd mariadb-10.3.84.4 执行编译cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/data/mariadb/data -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/data/mariadb/run/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci部分的路径参数说明如表1所示,请根据实际情况修改。表1 关键路径说明路径说明-DCMAKE_INSTALL_PREFIX软件安装路径-DMYSQL_DATADIR数据文件路径-DSYSCONFDIR配置文件路径-DMYSQL_UNIX_ADDRsock文件路径 4.5 执行安装make -j 64 && make install说明:-j 64参数充分利用多核CPU优势,加快编译速度。编译命令参数-j后数字为CPU核数,可用“cat /proc/cpuinfo | grep processor | wc -l”进行查看,此数值应小于等于CPU核数。4.6 查看安装目录ls /usr/local/mariadb/4.7 查看数据库版本/usr/local/mariadb/bin/mysqld --version
yd_296558940 发表于2022-03-14 11:09:43 2022-03-14 11:09:43 最后回复 yd_296558940 2022-03-14 11:09:43
1001 0 -
简介鲲鹏BoostKit分布式存储数据压紧算法(以下简称“数据压紧算法”)部署在开源分布式存储集群Ceph上,通过消除补零对齐操作带来的数据浪费问题,结合压紧封装、空间计数分配、粒度分流、聚合提交、批量回调等手段提升数据缩减率并提升系统整体IOPS,实现成本性能双收益。本文指导用户如何在Ceph上使能数据压紧算法。安全加固声明建议关注Ceph官网和Ceph官方Github上的漏洞信息,按照需求及时地进行漏洞修复。环境要求说明:由于数据压紧算法是华为自研闭源算法,算法仅支持在华为鲲鹏处理器上使用。硬件要求项目描述CPU型号鲲鹏920处理器服务器型号TaiShan 200服务器(型号2280)软件要求项目描述OSopenEuler 20.03 LTS SP1GCCGCC version 7.3.0CephCeph 14.2.8Ceph合入数据压紧功能1. 下载源码。源码下载链接:https://download.ceph.com/tarballs/2. 将源码包放入服务器“/home”目录下解压。cd /home tar zxvf ceph-14.2.8.tar.gz3. 合入数据压紧插件。获取patch放入“/home/ceph-14.2.8”目录。下载链接:https://github.com/kunpengcompute/ceph/releases/tag/datacompaction 2. 合入patch。cd /home/ceph-14.2.8 patch -p2 < ceph-14.2.8-compaction.patch4. 将数据压紧软件包下载至目录“/home/ceph-14.2.8”。方式一:华为企业网BoostKit-compaction_1.0.0.zip方式二:华为运营商网BoostKit-compaction_1.0.0.zip5. 获取软件校验工具。下载地址:https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL10000000546. 参见5中下载的《OpenPGP签名验证指南》进行软件包完整性检查。7. 解压安装包。cd /home/ceph-14.2.8/ unzip BoostKit-compaction_1.0.0.zip生成boostKit-compaction-1.0.0-1.aarch64.rpm文件。8. 安装RPM包。rpm -ivh boostKit-compaction-1.0.0-1.aarch64.rpm
上滑加载中