主页 分类 关于

鲲鹏微认证(日后会更新)

鲲鹏微认证笔记

C/C++代码迁移

编译型语言

  • 典型的如C/C++/Go语言, 都属于编译型语言, 编译型语言开发的程序从x86处理器迁移到鲲鹏处理器时, 必须经过重新编译才能运行
  • 从源码到程序的过程
    • 源码需要由编译器, 汇编器翻译成机器指令, 再通过链接器链接库函数生成机器语言程序

源码  --------->  预处理  --------->  预编译文件  --------->  编译  --------->  汇编代码    ----------->  汇编  --------->  目标文件  --------->  链接  --------->  可执行文件

testc gcc -E testc -o testi texti gcc -S testio tests texts gcc -S testso testo testo gcc -S testso testo text

C/C++代码需要迁移的原因

  • 架构差异:
    • x86和鲲鹏处理器(aarch64)属于不同架构
  • 指令极差异:
    • x86属于复杂指令集
    • 鲲鹏处理器(aarch64)属于精简指令集
  • 向量寄存器的差异:
    • x86和鲲鹏处理器(aarch64)使用向量寄存器不同, 向量指令集也存在差异

C/C++代码构建编译过程

C/C++代码工程主要包括两类文件:

  • 编译构建脚本
    • Makefile CmakeListstxt Configure autogensh bootstrapsh等等
  • C/C++源码
    • src examples tests等等

可能涉及到的移植项

  • 编译构建脚本类文件
    • 编译选项的移植(指定数据类型, 生成代码特性, 目标执行器架构, 处理器硬件加速功能等)
  • C/C++代码类文件
    • 编译宏移植(用户自定义宏移植, 编译器自定义宏移植)
    • 编译器自带builtin函数移植
    • 内联汇编移植
    • SSE intrinsic函数移植(MMX/SEE类函数移植, AVX函数移植)

直接真题 CTRL+F

判断题

yum和rpm安装方式本质都是基于RPM包来安装软件

交叉编译是在一个平台 上生成另一个平台上可执行的代码

BenchmarkSQL使用GCC编译进行编译安装 ×

Dockerfile中的每一条指令 都分别对应镜像的每一层

C/C++语言属于编译型语言, 其编译后得到的可执行程序执行时依赖的指令是与CPU架构不相关的, 因此此类应用程序不需要移植 ×

Centos是开源的操作系统, Debian不属于开源操作系统 ×

Tai Shan服务器的CPU是ARM架构的

华为鲲鹏云服务产品发布前, 需要先加入鲲鹏凌云伙伴计划并通过鲲鹏云服务兼容性认证

通过”ps -ef | grep PostgreSQL “命令可以确认数据库进程是否启动 ×

为方便客户业务的统一部署, 镜像服务建立起了镜像与弹性云服务器之间 镜像与裸金属服务器之间 以及镜像与外部文件之间的直接联系

一个弹性公网IP能同时给多个弹性云服务器使用 ×

华为鲲鹏性能优化工具支持分析C/C+ +和Java Mixed-Mode两种应用程序类型

对于Java类应用程序进行性能分析时, 由于受java的jit编译的限制, 函数分析结果中只能查看到对应的源码, 无法查看汇编和代码流图

HiBench支持在编译时指定编译模块

docker的基础镜像中包含父镜像 ×

华为鲲鹏云服务可提供KC1型ECS和KS1型BMS

Tai Shan服务器必须使用特殊的专有内存和硬盘 x

Java/Python的虚拟机不支撑再鲲鹏上源码编译, 只能使用yum方式安装 x

单选题

类RedHat系统提供了什么命令来安装, 卸载和升级rpm软件包 (A)
A rpm
B dpkg
C tar
D apt-get

下面哪个工具不属于鲲鹏开发套件? (A)
A 分析扫码工具
B 代码迁移工具
C 性能调优工具
D Vtune

使用命令rpmbuild -bb XX spec (XX表示文件名)制作RPM包时, RPM包生成在什么目录下? (C)
A BUILD B SOURCE C RPMS D SPEC

在BenchmarkSQL执行以下哪个脚本, 可以对表中写入数据? (A)
A runLoader sh B runBenchmark sh C runDatabaseBuild sh D runDatabaseDestroy Sh

BenchmarkSQL执行以下哪个脚本加载数据? (B)
A runBenchmark sh B runDat abaseBuild sh C runDat abaseDestroy sh D runLoader sh

代码扫描工具Dependency Advisor是部署在哪种架构的服务器或者弹性云服务器上? (D)
A ARM B 鲲鹏 C Power D x86

以下哪个不属于镜像管理特性? (D)
A 修改镜像 B 删除镜像 C 镜像导出 D 查询镜像

Hi Bench是什么? (C)
A 大数据开发框架 B 大数据可视化平台 C 大数据基准测试套件 D 大数据分析工具

关于容器的删除操作, 以下哪项是正确的? (C)
A 可通过”docker rm <容器ID>”删除正在运行的容器
B 可通过”docker rmi <容器ID>”删除已停止的容器
C 可通过”docker rm <容器ID>”删除已停止的容器
D 可通过”docker rmi <容器ID>”删除正在运行的容器

关于华为鲲鹏迁移工具分析报告提供的依赖库so文件的操作建议, 以下哪项是不正确的? (A)
A 目前不存在鲲鹏平台无法识别的依赖库So文件
B 鲲鹏平台不支持该类依赖库S0文件,需要用户自行处理
C 如果依赖库so文件已经过鲲鹏平台验证, 但无二进制安装包,则需要用户下载依赖库源码, 然后上传至目标服务器进行编译安装
D 如果依赖库S0文件已经过鲲鹏平台验证, 且已有二进制安装包,则用户可以直按将工具提供的开源版本依赖库安装包下载到本地, 然后上传至目标服务器进行安装使用

以下关于web界面访问华为鲲鹏代码迁移工具的方式,描述正确的是 (A)
A 单用户单任务访问
B 多用户多任务并发访间
C 多用户同时访问
D 单用户多任务访问

以下哪个选项不是iSula通用容器引辈的特点? (C)
A 升级不中断业务 B 增强安全性和调测特性 C 大幅提升容器性能 D 快速灵活

在修改BenchmarkSQL连接PostereSQL的配置文件时, 关于runMins和runTxnsPerTerminal这两个参数的设置, 以下哪项是正确的? (A)
A 必须有一个设定为0 B 必须相等 C 均为0 D 必须不相等, 且均不为0

扫描工具Dependency Advi sor支持以下哪种使用模式? (A)
A web B make C test D name

如果要放开外部对弹性云服务器的8080端口访问, 可以通过配置以下哪项功能实现? (C)
A 弹性公网IP带宽 B 主机组 C 安全组 D VPC子网

系统盘镜像类型不包含以下哪个 (A)
A 机架服务器系统盘镜像 B 普通云服务器系统盘镜像 C GPU加速云服务器系统盘镜像 D 裸金属云服务器系统盘镜像

私有镜像通过以下哪个功能可以实现本地业务部署和公有云业务部署的统一化持久化? (A)
A 镜像导出 B 镜像市场 C 镜像复制 D 镜像共享

以下哪个命令表示只生成rpm源代码的命令? (B)
A rpmbuild -ba B rpmbuild- bs C rpmbuild -bc D rpmbuild -bb

以下哪个不是使用rpm工具安装软件? (A)
A 自动安装依赖包 B 全自动安装 C 能够进行数据库的记载 D 自定义安装路径

提供预装操作系统 应用环境和各类软件的优质第三方镜像是属于以下哪种镜像? (C)
A 共享镜像 B 私有镜像 C 市场镜像 D 公共镜像

ssh协议默认端口号是什么? (C)
A 9600 B 23 C 22 D 513

关于容器相关概念的描述, 以下哪项是错误的? (C)
A 标签:可用于识别不同的变体或版本
B 仓库: 一个软件库, 存储了可下载并安装在系统中的软件包
C 镜像:容器的运行实例
D 容器:image的运行实例

使用gcc编译时, 编译选项-march的作用是什么? (A)
A 指定指令集
B 指定cpu型号
C 指定流水线
D 提升兼容性

下列哪个是华为鲲鹏生态兼容的非国产操作系统? (C)
A BCLinux
B openEuler
C Ubuntu
D Kylin

谁是Linux之父? (D)
A Richard Matthew Stal lman B Andrew Morton C Bill Gates D LimusTorval ds

多选题

可以从哪些方面对Post greSQL进行性能调优? (A C)
A 数据库参数 B 硬件 C 编译参数 D 操作系统

使用BenchmarkSQL前需要进行哪些操作? (A C D)
A 配置环境变量 B 重启服务器 C 安装JDK D 使环境变量生效

关于rpm包和SRPM包的描述, 以下正确的是? (A B D)
A SRPM包含源代码而RPM不包含 B rpm包可以直接安装, SRPM包不可以 C 两者都可修改编译参数 D rpm包是已编译的程序, 而SRPM不是

镜像服务的典型应用场景有哪些? (A B C)
A 快速部署应用 B 批量复制弹性云服务器 C 传统业务上云 D 实时同步数据

镜像文件一般包括以下哪些内容? (A C)
A 预装的软件 B 数据盘 C 操作系统 D 系统盘

以下哪些不是针对spec文件的操作命令? (A B)
A cmake B makefile C make D make install

rpm安装包有哪些优点? (A B C D)
A 提供软件版本资讯, 软件名称, 软件用途等相关信息, 便于了解软件
B 内含编译程序, 免编译
C 使用数据库记录rpm文件的相关参数, 便于升级 移除 查询与验证
D 预先检查系统版本, 可避免文 件被错误安装

创建C/C++程序性能分析任务时, 以下关于分析类型, 描述正确的是? (A B C)
A Profile System,即采集整个服务器系统, 无需关注系统中有哪些类型的应用在运行, 采集时长需要配置参数控制, 适用于多业务混合运行和有子进程的场景
B Attach to Process,即该采集对象针对正在运行的应用程序, 通过关联到运行该应用程序的PID的方式, 来实时跟踪和采集该应用程序的性能数据,采集时长需要配置参数控制, 适用于某些应用需要长时间持续运行和采集的场景
C Launch Application,即采集启动的时候, 同时启动Application,采集时长受Appl ication的执行时间来控制, 适用于Application运行时间较短的场景
D C/C++程序仅支持Launch Application和Attach to Process两种分析类型

以下哪些属于Dockerfile的指令? (A B C D)
A FROM B CMD C EXPOSE D RUN

关于使用源码方式安装加速引擎软件, 以下说法正确的有哪些? (A B C D)
A 编译安装zlib加速库
B 在下载好的源码目录下, 使用make命令编译加速器
C 编译安装加速器OpenSSL引擎
D 编译安装Warpdrive驱动开发库
E 安装openssl 111a或以上版本
F 安装内核开发包kernel-devel

同一段C/C++代码, 在鲲鹏处理器与x86架构处理器上编译的可执行程序有哪些不同? (A B)
A 指令 B 指令使用的寄存器 C 功能 D 文件结构

以下关于X6000 V5描述正确的是? (A C D)
A 机框支持2个3000w电源
B 每个服务器节点支持3个半高半长标准PCIe插槽
C 支持4个半宽双路服务器节点
D 每个服务器节点支持16个DDR4 DIM插槽

以下哪些场景属于数据密集紧耦合场景? (C D)
A 基因测序
B 流体动力学
C 天气预测
D 环境预测

在PostgreSQL迁移流程中, 包含以下哪些步骤? (A D)
A 迁移分析 B 性能测试 C 环境准备 D 源码修改

通过以下哪些方式可以获取华为鲲鹏系列服务? (B C)
A 购买华为云鲲鹏弹性云服务器
B 购买基于x86架构的弹性云服务器
C 购买RH服务器
D 购买Tai shan服务器

私有镜像包含以下哪些功能? (A B C D)
A 镜像加密 B 镜像共享 C 镜像导出 D 镜像复制

在华为公有云中, 私有镜像包括? (B C)
A 市场镜像 B 系统镜像 C 数据镜像 D 共享镜像

docker run -p 6379:6379 v $PWD/data:/data -d t_arm64v8/centos_ redis:505 redis server –appendonly yes关于此命令的描述, 以下哪些是正确的? (B C D)
A “6379:6379” :将主机的6379端口映射到容器的6379端口
B “appendonly yes”, 打开持久化配置
C 该命令功能是启动容器, 并在容器启动时候执行容器内的redis-server服务
D “$PWD/data: /data” :将主机中当前目录下的data挂载到容器的/data

使用华为鲲鹏代码迁移工具对源码进行扫描分析时, 需要进行哪些方面的检查和分析? (A B C D)
A 检查x86平台与鲲鹏平台相异的编译器宏 编译选项 buildin函数 attribute函数等列表
B 对比输入的(S0文件名)列表和S0依赖库白名单
C 扫描分析用户软件目标二进制文件依赖的源文件集合
D 检查Make file中的编译链接

C/C++语言开发的源码在编译时, 以下哪些模块是不需要的? (B C)
A 汇编器 B 存储器 C 加载器 D 编译器

以下哪些是Tai Shan大数据方案使用的主要服务器型号? (A B)
A 2280均衡型 B 5280存储型 C XA320计算节点 D X6000高密型

以下关于华为鲲鹏920的特点描述正确的有哪些? (C D)
A 性能可匹配Intel Skylake(V5) 高端处理器型号
B CPU最多支持2个100GE网口, 支持RoCE特性
C 相比同等性能的Intel处理器, 功耗更低
D 支持8内存通道, 带宽高于Intel Skyl ake (V5)的6通道

BenchmarkSQL配置文件中loadWorkers指的是什么 ( )
A、并发用户数
B、数据库装载并发数
C、数据库并行数
D、数据库表的数量
答案:B
TPCC衡量标准是什么?
A、QphH
B、响应时间
C、tpmC
D、TPS
答案:C
Porting Advisor工具在移植源码过程中的作用是?
A、分析源码, 并给出移植工作量
B、分析源码, 并给出分析报告和源码修改建议
C、分析源码, 并修改源码
D、分析源码, 并给出性能优化建议
答案:B
华为鲲鹏BMS云服务器最高可提供多少核?
A、32
B、48
C、62
D、128
答案:D
IMS私有镜像类型不包括以下哪项?
A、系统盘镜像
B、整体镜像
C、数据盘镜像
D、整机镜像
答案:B
可以根据设定的寻路协议实时自动优化网络结构, 以保持客户使用的网络持续稳定、高效.这句话是关于以下哪项的描述?
A、静态BGP
B、全动态BGP
C、独享宽带
D、共享宽带
答案:B
以下哪条命令可以查看docker镜像?
A、docker images
B、docker list
C、docker container ls
D、docker -a
答案:A
以下哪个工具可以用于鲲鹏平台上进行代码迁移?
A、Tuning kit
B、Dependency Advisor
C、Porting Advisor
D、GCC
答案:C
Suse操作系统是从哪个版本开始处于Kunpeng 920的OS生态圈?
A、SLES 12.3
B、SLES 12.4
C、SLES 15
D、SLES 15.1
答案:D
以下哪项不是TaiShan服务器的优点?
A、国产化, 自主安全可控
B、多物理核心, 并发性能高
C、低功耗, 绿色节能
D、生态完备, 上层应用支持好
答案:D
以下哪个不是华为云鲲鹏生态帮助伙伴/开发者商业变现的方式?
A、华为鲲鹏严选馆:鲲鹏应用, 优先推荐, 快速商业变现
B、华为提供鲲鹏人才培养:专业培训, 完善的鲲鹏工程师认证体系
C、华为提供鲲鹏原厂认证:专业团队, 专业工具, 1对1技术支持
D、华为鲲鹏云专业服务:客户业务系统一站式搬迁服务
答案:D
金融行业的鲲鹏硬替代应用不包括以下哪项?
A、经营分析
B、核心应用
C、办公支撑
D、互联网银行
答案:B
以下哪种工具可用于制作RPM包?
A、rpm-cmake
B、rpm make
C、rpm-test
D、rpm-build
答案:D
对PostgreSQL的编译参数进行调优时需要在CFLAGS字段中添加哪些选项
A、-march= and
B、-march=armv8- a+crc+lse
C、-march=armv8-a
D、march =X86
答案:B
以下哪个是BenchmarkSQL连接PostgreSQL的配置文件?
A、props.mysq1
B、props.pg
C、props.ora
D、props.percona
答案:B
以下哪种语言的源码文件不能用Porting Advisor迁移工具进行迁移分析?
A、C++
B、C
C、Java
D、汇编
答案:C
在华为云上, 通过以下哪种方式或工具可以访问外网?
A、弹性公网IP
B、云硬盘
C、VPC
D、镜像
答案:A
在仅有x86服务器或者云服务器下, 如何编译出ARM环境下执行的程序?
A、安装交叉编译环境, 通过交叉编译环境执行编译
B、直接编译
C、使用x86下新版本gcc编译
D、修改权限编译
答案:A
关于加密镜像的描述, 以下哪项是正确的?
A、使用加密的弹性云服务器创建的镜像为加密镜像
B、使用加密镜像创建的弹性云服务器不一定被加密
C、使用加密的弹性云服务器创建的镜像密钥与加密云服务器的密钥不同
D、使用加密的弹性云服务器创建的镜像为非加密镜像
答案:A
以下关于镜像的描述, 不正确的是?
A、用户可以快速复制私有镜像, 不受region限制
B、查询镜像时, 支持通过标签过滤查询镜像
C、通过导入外部镜像文件创建镜像时, 不支持qcow2格式
D、支持key-value类型的镜像标签
答案:C
多选题
以下哪些属于华为云鲲鹏伙伴计划?
A、鲲鹏凌云伙伴计划
B、鲲鹏智数伙伴计划
C、鲲鹏展翅伙伴计划
D、鲲鹏翱翔伙伴计划
答案:ABC
以下哪些属于鲲鹏通用解决方案?
A、HCSO解决方案
B、大数据解决方案
C、HPC解决方案
D、分布式存储
答案:ABCD
华为鲲鹏性能优化工具能够提供 ( ) 方面的性能分析结果
A、分析Top热点函数
B、分析函数火焰图
C、分析热点函数代码映射
D、分析不同函数对应top-down模型的各指标值
答案:ABCD
华为鲲鹏性能优化工具支持从哪些维度分析应用的性能瓶颈?
A、C/C++
B、Java Mixed-Mode
C、Locks and Waits
D、LLC&DDR
答案:AB
下列哪些选项可能会影响WRF性能
A、网络带宽
B、并行线程数
C、内存刷新频率
D、存储读写速度
答案:ABCD
HiBench支持的框架有哪些?
A、flinkbench
B、hadoopbench
C、stormbench
D、sparkbench
答案:ABCD
弱内存序问题主要与如下那些因素相关?
A、多线程
B、多进程
C、不同CPU之间Cache同步
D、一级、二级、三级Cache间数据同步
E、不同core之间Cache同步
答案:ACE
在向鲲鹏处理器迁移软件时, 以下哪些是可能导致编译错误或告警的原因?
A、编译选项
B、数据类型不同
C、汇编指令
D、弱内存序问题
答案:ABC
关于Docker的镜像仓库, 说法正确的是?
A、实现Docker镜像的全局存储
B、提供API接口
C、提供Docker镜像的下载/推送/查询
D、可用于租户管理
答案:ABCD
关于执行命令”docker ps -a”后, 显示的标题含义描述, 正确的是?
A、CONTAINER ID:容器的唯一表示ID
B、IMAGE:创建容器时使用的镜像
C、COMMAND:容器最后运行的命令
D、CREATED:创建容器的时间
答案:ABCD
华为鲲鹏代码迁移工具能够提供 ( ) 方面的移植评估结果
A、扫描源码中有多少个安装包
B、扫描源码中有多少可以移植的依赖库SO文件
C、扫描源码中有多少行可以移植的C/C++代码、汇编代码
D、预估移植所需的工作量
答案:BC
华为鲲鹏代码迁移工具适用于以下哪些类型的应用程序?
A、C/C++
B、Java
C、汇编
D、Python
答案:AC
为什么x86架构处理器上的软件在鲲鹏处理器使用时需要移植?
A、两种处理器的指令集不同
B、源代码需要按照目标处理的指令集编译成指令才能运行
C、编译型语言由编译器静态编译成指令和数据
D、解释型语言由语言的虚拟机在运行时将源码/字节码编译成指令和数据
答案:ABCD
TaiShan 200机架服务器包含哪些型号?
A、2280
B、5280
C、2480
D、X6000
答案:ABC
华为鲲鹏920处理器内置了那些加速器?
A、.SSL加速引擎
B、加解密加速引擎
C、压缩解压缩加速引擎
D、语音识别加速引擎
答案:ABC
以下哪些关于华为鲲鹏920处理器的描述是正确的 () ?
A、最多支持64核
B、采用了7nm的制造工艺
C、支持PCIe 4.0接口, 并兼容PCIe 3.0/2.0/1.0
D、支持多种加速器
答案:ABCD
围绕鲲鹏计算产业, 华为提供 ( ) 支持
A、云服务
B、工具链
C、社区服务
D、专业服务
答案:ABCD
华为鲲鹏计算产业相关产品有哪些?
A、华为鲲鹏处理器
B、TaiShan服务器
C、华为云鲲鹏云服务
D、X86服务器
答案:ABC
以下哪些是鲲鹏社区可以提供的服务?
A、获得海量软件的迁移指导
B、了解鲲鹏解决方案
C、获取最新的鲲鹏咨询
D、直接获得社区扶持
答案:ABC
镜像有哪些类别?
A、公共镜像
B、自由镜像
C、私有镜像
D、共享镜像
答案:ACD
以下哪些子文件包含在rpmbuild文件夹的目录结构中?
A、SOURCE
B、BUILD
C、SPEC
D、SRPMS
答案:BD
以下哪些命令可以安装C语言开发环境?
A、apt-get groupinstall build-essential
B、apt-get install build-essential
C、yum install Development Tools
D、yum groupinstall Development Tools
答案:BD
关于 Dockerfile 的描述, 以下哪些是正确的?
A、Dockerfile一般包含四部分内容:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令
B、Dockerfile中, 第一条指令必须为 FROM指令
C、EXPOSE在Dockerfile中是必选的
D、完成Dockerfile编写后, 可以通过docker build命令来创建镜像
答案:ABD
华为鲲鹏云服务包括以下哪些?
A、华为鲲鹏裸金属服务器
B、鲲鹏弹性云服务器
C、鲲鹏容器
D、鲲鹏云手机
答案:ABCD
以下哪些属于华为鲲鹏920芯片的特点?
A、集成最多64个自研核
B、支持8通道DDR4控制器
C、支持CCIX接口
D、只支持GE/10GE网络
答案:ABC
以下哪些属于鲲鹏软件栈发布的五大软件领域?
A、操作系统
B、游戏软件
C、基础软件
D、应用软件
答案:ACD
在BenchmarkSQL连接PostgreSQL前, 在PostgreSQL侧需要修改哪些文件
A、pg_ident.conf
B、PosgreSQL.conf
C、pg_hba.conf
D、PostgreSQL.auto.conf
答案:BC
BenchmarkSQL可以对哪些数据库进行测试?
A、Post gresSQL
B、Oracle
C、SQL Server
D、MySQL
答案:ABCD
判断题
鲲鹏计算平台已经兼容的操作系统可通过http://support.huawei.com/onlinetoolweb/ftca/index?serise=9链接查询
华为云鲲鹏社区目前是否提供软件下载功能? √
可以执行rpmbuild -ba redis.spec生成二进制文件 ×
使用华为鲲鹏性能优化工具对C/C++应用程序进行性能分析时, 能够查看到函数源代码、汇编代码, 以及函数汇编代码basic block的控制流图 √
CPU性能和网络带宽都会影响HPC性能 √
纯Java语言开发的代码, 无依赖的SO库文件不需要编译, 可以直接在JVM (Java虚拟机) 中运行 √
鲲鹏处理器和x86处理器的add指令是一样的 ×
Tune是一种通过非侵入式系统画像的负载感知方法, 识别业务并匹配最佳资源模型, 实时响应业务特征变化的AI自动调优系统 √
Android手机应用在鲲鹏云服务上运行仍需要指令翻译器 ×
在BenchmarkSQL的测试结果中, Running Average tpmTOTAL 值和Current tpmTOTAL值越高, 表示性能越差. ×
Porting Advisor工具界面中的GCC版本需要与后台操作系统中的GCC版本保持一致 ×
rpm包中包含所有源代码文件 ×
私有镜像不能通过外部镜像文件创建 ×










作者: 我叫史迪奇
本文来自于: https://sdq3.link/Kunpeng-micro-authentication.html博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议