DevKit是鲲鹏原生开发工具集,可以帮助广大用户实现从x86端到鲲鹏端一键式迁移应用
DevKit开发套件通过部署在服务器端,用户可以通过浏览器访问工具界面,简单快捷的使用代码迁移工具和性能分析工具
DevKit开发套件插件模式支持的IDE是
VS Code
Eclipse
Tomcat
IntelliJ
从计算机技术栈看,计算机由软件和硬件组成。其中微架构位于两者之间,是沟通的桥梁
通过编译一行简单的c语言代码“c=a+b”,我们可以发现从x86迁移编译型语言编写的应用程序到鲲鹏平台,必须要重新编译
编译型语言开发的程序从x86迁移到鲲鹏必须经过重新编译,那么从源码到可执行程序的过程有哪些
预处理
编译
汇编
链接
以下选项中,gcc -c test.s -o test.o描述正确的是
该命令将test.s编译成预处理文件
该命令将test.s编译成汇编代码
该命令将test.s编译成二进制机器码文件
该命令将test.s编译成可执行二进制文件
编译型语言迁移过程常见的问题有哪些
鲲鹏平台char类型默认是无符号数
编译器自带的builtin函数需要替换成aarch64版本
编译选项需要替换为-mabi=lp64
编译宏需要替换为_ARM_64_
解释型语言开发的程序无论如何都不需要重新编译
以下哪种语言属于解释型语言
C/C++
Fortran
Go
Python
源码迁移时需要上传的源码路径是以下哪一个
/opt/portadv/portadmin/sourcecode/
/opt/portadv/portadmin/package/
/opt/portadv/portadmin/data/
/opt/portadv/portadmin/packagerebuild/
RPMBuild工具的作用是
构建源码工程
构建rpm包
生成rpm源码文件
发布rpm源码包
关于鲲鹏代码迁移工具以下描述正确的是
源码迁移:检查分析C/C++/ASM/Fortran/解释型语言等源码文件,定位出需要迁移代码并给出迁移指导,支持迁移编辑及一键代码替换功能
软件迁移评估:自动扫描分析软件包(非源码包)、已安装的软件,提供可迁移性评估报告
软件包重构:在鲲鹏平台上,分析待迁移软件包构成,重构并生成鲲鹏平台兼容的软件包,或者直接提供已迁移的软件包
专项软件迁移:在鲲鹏平台上,对部分常用的解决方案专项软件源码,进行自动化迁移修改、编译并构建生成鲲鹏平台兼容的软件包
编译器是一种计算机程序,可以将高级编程语言转换成底层的汇编语言或者机器码语言
毕昇编译器、毕昇JDK、鲲鹏GCC都是基于鲲鹏处理器进行优化的编译器,分别是基于()、()、()这三个开源框架上进行优化和改进提升
LLVM、OpenJDK、GCC
LLVM、GCC、OpenJDK
GCC、OpenJDK、LLVM
OpenJDK、GCC、LLVM
毕昇编译器不支持编译以下哪种语言编写的代码
C
C++
Fortran
Go
使用毕昇编译器对C/C++程序进行编译时,编译命令是哪一个
flang hello.c -o hello.o
flang hello.o -o hello.c
clang hello.o -o hello.c
clang hello.c -o hello.o
鲲鹏GCC使用的编译命令是哪些
clang
flang
gcc
gfortran
鲲鹏GCC的关键特性有哪些
-mcmodel=medium
-DAARCH64_QUADMATH
-lmathlib
-ftree-vectorize
目前毕昇JDK支持8和11两个LTS版本
进程是操作系统分配资源的基本单位,是执行中的程序实例。线程则是进程内的具体执行单元,多个线程之间共享系统内存资源。
在冯诺依曼架构中,计算机由输入设备、输出设备、存储器以及运算器和控制器所组成。
磁盘预取是基于局部性原理来优化的
通过CacheLine对齐,以及将读写频繁的变量放入不同的CacheLine中,可以避免伪共享
鲲鹏920处理器的L3 CacheLine的大小是多少字节
32
64
128
256
以下哪一项是SMP架构的特点
不同的核访问不同内存时间不同
每个核都是对等的,所有的核通过总线访问
内存在物理上是分布式的
非统一内存访问
NUMA-Aware亲和性规划是为了
让所有的CPU共享内存
仅使用一根总线来控制内存访问
仅保留一个内存访问控制器
让CPU与内存距离更短
关于鲲鹏920 内部存储结构的说法哪个不正确
L1、L2、L3 Cache都由各个CPU Core独享
L1的指令和数据Cache大小都是64KB
L2和L3 Cache都不区分指令或数据
Kunpeng 920具有L1、L2、L3共三级Cache
性能优化的主要方向有哪些
CPU/内存
网卡
磁盘
应用
增加网卡中断触发频率可能会导致哪些现象
数据包接发收时延减少
数据包接发收时延提高
业务吞吐量减少
业务吞吐量增加
常见的磁盘IO调度算法有哪些
LIFO
CFQ
DeadLine
NOOP
多线程中对共享资源的控制访问,为了减少资源抢占,提升并行度,可以采用哪些方法
无锁编程:避免使用传统锁,减少死锁和提高性能
大锁变小锁:减少锁的颗粒度,减少竞争提高并发性
小锁变大锁:增加锁的颗粒度,减少竞争提高并发性
原子操作命令:提供不可切割的原子化操作,确保线程安全性
在调试锁长期等待实验中,我们使用了鲲鹏性能分析工具的哪些功能
全景分析
进程/线程分析
资源调度分析
热点函数分析
二进制翻译是一种直接翻译可执行二进制程序的技术,能够把一种处理器上的二进制程序翻译到另外一种处理器上执行
假设已经通过exagear命令进入ExaGear for CentOS 的guest shell中,以下哪种操作是不被允许的
通过yum安装x86程序
直接运行x86程序
从guest系统中运行host服务
以上操作都可以运行
ExaGear工具的优势有
支持支持多种部署方式: 物理机、虚拟机、容器
部署简单:一键式快速安装,x86应用部署和运行与迁移前保持一致
支持多版本Linux OS:目前支持openEuler、CentOS,并且根据用户需求,未来可定制支持更多Linux OS发行版
低损耗: 大多数场景的应用,损耗在20%以内