-
本期精彩看点:如何分析解决鲲鹏技术疑难问题?鲲鹏文档指引:https://www.hikunpeng.com/document?data=guide上一篇:鲲鹏软件迁移系列基础知识有哪些,如何获取?下一篇:如何获取鲲鹏编程与调优指南?
-
【功能模块】华为鲲鹏920 Robox【操作步骤&问题现象】1、根据步骤搭建好环境2、./robox -v start 1【截图信息】【日志信息】(可选,上传日志内容或者附件)root@ubuntu-arm:/home/huawei/robox-master# ./robox -v start 11: Attempting to start instance instance11: 1: STARTING Frame Buffer1: The Xorg service has been created 1: STARTING Session Managertaskset -c 4-7 anbox session-manager --run-multiple=1 --standalone --experimental --single-window --window-size=720,12801: FAILED to start the Session Manager 1: Stopping1: Attempting to stop instance instance11: NOT stopping Docker, it's not running1: NOT stopping Session Manager, it's not running1: Attempting to start instance instance11: 1: STARTING Frame Buffer1: The Xorg service has been created 1: STARTING Session Managertaskset -c 4-7 anbox session-manager --run-multiple=1 --standalone --experimental --single-window --window-size=720,12801: FAILED to start the Session Manager 1: Stopping1: Attempting to stop instance instance11: NOT stopping Docker, it's not running1: NOT stopping Session Manager, it's not running1: Attempting to start instance instance11: 1: STARTING Frame Buffer1: The Xorg service has been created 1: STARTING Session Managertaskset -c 4-7 anbox session-manager --run-multiple=1 --standalone --experimental --single-window --window-size=720,12801: FAILED to start the Session Manager 1: Stopping1: Attempting to stop instance instance11: NOT stopping Docker, it's not running1: NOT stopping Session Manager, it's not running1: Attempting to start instance instance11: 1: STARTING Frame Buffer1: The Xorg service has been created 1: STARTING Session Managertaskset -c 4-7 anbox session-manager --run-multiple=1 --standalone --experimental --single-window --window-size=720,12801: FAILED to start the Session Manager 1: Stopping1: Attempting to stop instance instance11: NOT stopping Docker, it's not running1: NOT stopping Session Manager, it's not running1: Attempting to start instance instance11: 1: STARTING Frame Buffer1: The Xorg service has been created 1: STARTING Session Managertaskset -c 4-7 anbox session-manager --run-multiple=1 --standalone --experimental --single-window --window-size=720,12801: FAILED to start the Session Manager 1: Stopping1: Too many stop loops (try restarting dockerd) giving up! 1: Too many stop loops (try restarting dockerd) giving up! root@ubuntu-arm:/home/huawei/robox-master# root@ubuntu-arm:/home/huawei/robox-master#
-
你好有没有编译好的 frocksdbjni-5.17.2-ververica-2.1.jar 或者编译文档还有 frocksdbjni-5.17.2-ververica-2.1.jar和frocksdb-5.17.2-artisans-1.0.jar是什么关系呢 应该编译哪个包呢
-
1 Istio介绍Istio-proxy是可在客户端和服务器端使用的微服务代理,并形成微服务网格。Proxy引用了微服务代理Envoy的源码,并在此基础上做了扩展,结合istio本身做处理。它支持很多功能。客户端功能:1)发现和负载平衡。代理可以使用几种标准服务发现和负载平衡API来有效地将流量分配给服务。2)凭证注入。代理可以通过连接隧道或特定于协议的机制(例如HTTP请求的JWT令牌)注入客户端身份。3)连接管理。代理管理与服务的连接,处理运行状况检查,重试,故障转移和流控制。4)监视和记录。代理可以报告客户端指标并记录到混合器。服务器端功能:1)速率限制和流量控制。代理可以防止后端系统过载,并提供客户端感知的速率限制。2)协议翻译。代理是gRPC网关,提供JSON-REST和gRPC之间的转换。3)认证和授权。代理支持多种身份验证机制,并且可以使用客户端身份通过混合器执行授权检查。4)监视和记录。代理可以报告服务器端指标并记录到混合器。2 软硬件环境要求类别子项版本硬件CPU鲲鹏920OSCentOS7.6软件GCC7.3.0Go1.13.4Clang9.0.1OpenJDK1.8.0_282Bazel3.3.1Istio-proxy/Istio1.5.0网络需连外网需连外网 3 配置编译环境3.1 安装gcc 7.3通常centos自带的版本是gcc4.8.5,在此基础上进行升级即可。执行以下命令:wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gztar -xvf gcc-7.3.0.tar.gzcd gcc-7.3.0./contrib/download_prerequisitesmkdir gcc-build-7.3.0cd gcc-build-7.3.0../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usrmake -j16make install 确保依赖库存在:cd /usr/lib64ll |grep libstdc++.soll |grep libstdc++.so.6.0.24gcc --version 3.2 源码编译安装llvm+clang安装依赖软件:yum install cmake gcc g++ libffi libffi-dev -y其中cmake需要安装3.8以上版本,如果yum源中没有,执行以下命令安装:wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gztar zxvf cmake-3.9.2.tar.gzcd cmake-3.9.2./bootstrapmake -j32make install如果yum源中没有libffi,可以使用源码安装,执行以下命令即可:wget https://github.com/libffi/libffi/releases/download/v3.3/libffi-3.3.tar.gztar xf libffi-3.3.tar.gz cd libffi-3.3./configure --prefix=/usr/local/libffimake -j12make install 安装llvm+clang,下载源码:cd /optwget https://github.com/llvm/llvm-project/archive/llvmorg-9.0.1.tar.gztar -xf llvmorg-9.0.1.tar.gz执行编译安装命令:cd llvm-project-llvmorg-9.0.1rm -rf buildmkdir build && cd buildcmake -G "Unix Makefiles" ../llvm \ -DCMAKE_INSTALL_PREFIX=/opt/llvm \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_FFI=ON \ -DLLVM_BUILD_LLVM_DYLIB=ON \ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ -DLLVM_TARGETS_TO_BUILD="host;AArch64" \ -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;libcxx;libcxxabi;lld" \ -DLLVM_ENABLE_LIBCXX=OFF \-DLLVM_ENABLE_LLD=OFF \-DFFI_INCLUDE_PATH=/usr/local/libffi/include/ \-DFFI_LIBRARY_PATH=/usr/local/libffi/ \-Wno-devmake -j20make install配置环境变量:export PATH=/opt/llvm/bin:$PATHexport LD_LIBRARY_PATH=/opt/llvm/lib:$LD_LIBRARY_PATHexport LIBRARY_PATH=$LD_LIBRARY_PATHexport C_INCLUDE_PATH=/opt/llvm/include:$C_INCLUDE_PATHexport CXX_INCLUDE_PATH=$C_INCLUDE_PATHclang --version 3.3 源码编译安装bazel确保已经安装了jdk8,推荐使用毕昇jdk。下载毕昇jdk并且安装: wget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-8u282-linux-aarch64.tar.gztar -zxf bisheng-jdk-8u282-linux-aarch64.tar.gzvim /etc/profile #在文件末尾添加以下内容export JAVA_HOME=/opt/bisheng-jdk1.8.0_282/export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarsource /etc/profile 确保已经设置好了JAVA_HOME环境变量。下载bazel-3.3.1源码:wget https://github.com/bazelbuild/bazel/releases/download/3.3.1/bazel-3.3.1-dist.zipunzip bazel-3.3.1-dist.zip -d bazel-3.3.1cd bazel-3.3.1执行编译安装命令:env EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" bash ./compile.shcp output/bazel /usr/bin/bazel --version 3.4 源码编译安装gn安装依赖包:yum install ninja-build -ywget -c https://github.com/ninja-build/ninja/archive/refs/tags/v1.10.1.zip -O ninja-1.10.1.zipunzip ninja-1.10.1.zipcd ninja-1.10.1./configure.py --bootstrapcp ninja /usr/bin/编译安装gn:git clone https://github.com/timniederhausen/gn.git -b 2020.03cd gnpython build/gen.pyninja -C outcp out/gn /usr/bin/gn --version3.5 安装gowget https://dl.google.com/go/go1.13.4.linux-arm64.tar.gztar -xf go1.13.4.linux-arm64.tar.gz -C /opt/配置环境变量:export PATH=/opt/go/bin:$PATHexport GO111MODULE=onexport GOROOT="/opt/go"export GOBIN=$GOROOT/binexport GOHOME="/home/gopath"export GOARCH="arm64"go version 4 软件移植分析4.1 Istio-proxyIstio-proxy是通过bazel工具构建,主要根据WORKSPACE和BUILD文件的规则来编译。从这些文件以及Makefile/Makefile.core.mk中可以发现,istio-proxy的编译主要是build和build_envoy,而实际尝试后,build和build_envoy的区别是,build规则不仅会编译得到envoy可执行文件,还会构建istio-envoy的docker镜像,而build_envoy只会得到envoy文件。由于在istio的编译中只需要envoy文件即可,所以当前只编译build_envoy。4.2 IstioIstio的编译包括生成二进制和构建docker镜像。编译二进制时,由于Istio的编译依赖于envoy,而默认配置下会从网络下载amd64架构的envoy。这不符合要求,所以需要加USE_LOCAL_PROXY=1,指定本地已经编译好的envoy。需要注意的是envoy和istio的源码路径在同级目录。 5 Istio编译5.1 Istio-proxy1.5.0编译依赖组件安装:yum install libtool automake autoconf make virtualenv -y下载源码:git clone https://github.com/istio/proxy.git -b 1.5.0cd proxyGN=/usr/bin/gn \NINJA=/usr/bin/ninja \make build_envoy VERBOSE=1 SHELL="/bin/bash -x" BAZEL_BUILD_ARGS="-s --sandbox_debug --verbose_failures --cpu aarch64" -j20第一次编译会失败,报错如下:该报错显示proxy不支持arm64,但实际上代码已经做了arm64的兼容因为根据WORKSPACE定义的规则,会从github下载envoy-wasm.xxx.tar.gz的源码,而envoy-wasm中有个wee8.genrule_cmd的文件,完整路径是它不支持aarch64,需要打patch,patch的内容包括增加对aarch64架构的支持,以及默认使用本地的gn、ninja文件。新建一个patch文件vi wee.patch添加以下内容:diff --git a/bazel/external/wee8.genrule_cmd b/bazel/external/wee8.genrule_cmdindex 9103dfb4d..39353a02b 100644--- a/bazel/external/wee8.genrule_cmd+++ b/bazel/external/wee8.genrule_cmd@@ -2,9 +2,9 @@ set -e -# This works only on Linux-x86_64 and macOS-x86_64.-if [[ ( `uname` != "Linux" && `uname` != "Darwin" ) || `uname -m` != "x86_64" ]]; then- echo "ERROR: wee8 is currently supported only on Linux-x86_64 and macOS-x86_64."+# This works only on Linux-x86_64, Linux-aarch64 and macOS-x86_64.+if [[ ( `uname` != "Linux" && `uname` != "Darwin" ) || ( `uname -m` != "x86_64" && `uname -m` != "aarch64" ) ]]; then+ echo "ERROR: wee8 is currently supported only on Linux-x86_64, Linux-aarch64 and macOS-x86_64." exit 1 fi @@ -28,6 +28,8 @@ fi export AR=$${AR:-ar} export NM=$${NM:-nm}+export GN=$${GN-buildtools/linux64/gn}+export NINJA=$${NINJA:-third_party/depot_tools/ninja} # Hook sanitizers. if [[ $${ENVOY_ASAN-} == "1" ]]; then@@ -75,9 +77,9 @@ WEE8_BUILD_ARGS+=" v8_enable_shared_ro_heap=false" if [[ `uname` == "Darwin" ]]; then buildtools/mac/gn gen out/wee8 --args="$$WEE8_BUILD_ARGS" else- buildtools/linux64/gn gen out/wee8 --args="$$WEE8_BUILD_ARGS"+ $${GN} gen out/wee8 --args="$$WEE8_BUILD_ARGS" fi-third_party/depot_tools/ninja -C out/wee8 wee8+$${NINJA} -C out/wee8 wee8 # Move compiled library to the expected destinations. popd 执行命令:patch -p /root/.cache/bazel/_bazel_root/9b0ca638054cfa0772ed292a93825682/external/envoy/bazel/external/wee8.genrule_cmd wee.patch其中9b0ca638054cfa0772ed292a93825682需要根据实际情况进行修改:另外envoy.bazelrc文件需要添加-Wno-error:执行以下命令:cd proxyvim envoy.bazelrc在33行后面添加如下内容:build --action_env=GNbuild --action_env=NINJA并将105行修改为build:libc++ --action_env=CXXFLAGS="-stdlib=libc++ -Wno-error"再次编译。如果出现以下错误:这个报错是因为没有生成bytecodes-builtins-list.h文件。先将toolchain.ninja文件复制出来备用,执行命令:cp /root/.cache/bazel/_bazel_root/9b0ca638054cfa0772ed292a93825682/sandbox/linux-sandbox/5088/execroot/io_istio_proxy/external/com_googlesource_chromium_v8/wee8/out/wee8/toolchain.ninja /opt路径中的5088需要根据实际情况进行修改。修改wee8.genrule_cmd文件:vim /root/.cache/bazel/_bazel_root/9b0ca638054cfa0772ed292a93825682/external/envoy/bazel/external/wee8.genrule_cmd添加如下内容,并注释clang编译分支:export BAZEL_COMPILER=gccexport BAZEL_CXXOPTS='-static-libstdc++'export CXXFLAGS='-static-libstdc++ -Wno-error'export LDFLAGS='-static-libstdc++'export CC=gccexport CXX=g++编译之后会出现报错:这是因为编译过程中,后续编译链接过程中没有使用gcc,仍然是使用clang的原因导致,不过前面报错无法生成的文件这个时候已经生成了,先将生成的文件复制出来备用:cp -r /root/.cache/bazel/_bazel_root/9b0ca638054cfa0772ed292a93825682/sandbox/linux-sandbox/5089/execroot/io_istio_proxy/external/com_googlesource_chromium_v8/wee8/out/wee8/gen/ /opt注意这里的5089是编译时自动生成的沙箱编号,需要查看编译信息进行对应修改。将wee8.genrule_cmd修改回去并添加以下两行shell代码:cp /opt/toolchain.ninja out/wee8/cp -r /opt/gen out/wee8/编辑/opt/toolchain.ninja并将51、77、86行修改为command=pwd:因为这几个地方的文件都不能正常生成,所以将这几个shell命令修改成pwd,需要生成的文件wee8.genrule_cmd中配置了使用复制的方式。再次编译,成功。在proxy目录下执行:bazel-bin/src/envoy/envoy -help进行验证。5.2 Istio1.5.0编译如果需要代理访问外网,则编辑docker/Dockerfile.base文件,添加docker代理:env http_proxy " http://<USER>:<PASSWORD>@172.30.68.94:8080"env https_proxy "http:// <USER>:<PASSWORD>@172.30.68.94:8080"env ftp_proxy "http:// <USER>:<PASSWORD>@172.30.68.94:8080"还需要执行以下命令:mkdir -p /etc/systemd/system/docker.service.d/cat > /etc/systemd/system/docker.service.d/proxy.conf <<EOF[Service]Environment="http_proxy=..."Environment="https_proxy=..."Environment="no_proxy=localhost,.local,.svc,..."EOF重启docker:systemctl daemon-reloadsystemctl restart docker编辑Makefile.core.mk文件,添加对aarch64的支持:else ifeq ($(LOCAL_ARCH),aarch64) TARGET_ARCH ?= arm64编辑bin/init.sh,将所有的amd64修改为arm64。然后执行以下命令:sed -i 's/x86_64/aarch64/g' pilot/docker/Dockerfile.proxyv2sed -i 's/gcr.io\/distroless/discolix/g' $(find . -name Dockerfile.*)编辑tools/istio-docker.mk,删掉不需要的docker:docker.app docker.app_sidecar docker.test_policybackend docker.kubectl下载源码并且编译(需要先安装docker):git clone https://github.com/istio/istio.git -b 1.5.0BUILD_WITH_CONTAINER=0 USE_LOCAL_PROXY=1 make build V=1TAG=1.5.0 BUILD_WITH_CONTAINER=0 USE_LOCAL_PROXY=1 make docker.baseTAG=1.5.0 BUILD_WITH_CONTAINER=0 BASE_VERSION=1.5.0 USE_LOCAL_PROXY=1 make docker BUILD_WITH_CONTAINER=0 USE_LOCAL_PROXY=1 make build V=1执行完成后会有一个out目录。后面两个docker编译完成后可通过docker images命令查看。6 1.4.7版本编译6.1 Istio-proxy-1.4.7下载源码:git clone https://github.com/istio/proxy.git -b 1.4.7cd proxyGN=/usr/bin/gn \NINJA=/usr/bin/ninja \make build_envoy VERBOSE=1 SHELL="/bin/bash -x" BAZEL_BUILD_ARGS="-s --sandbox_debug --verbose_failures --cpu aarch64" -j20编译报错如下:提示不支持aarch64架构,查看Makefile文件,可以看到其实是支持arm64的,编辑Makefile文件,添加:else ifeq ($(LOCAL_ARCH),aarch64) TARGET_ARCH ?= arm64后续编译步骤和修改参照istio-proxy-1.5.0的即可。6.2 Istio-1.4.7下载源码并且编译(需要先安装docker):git clone https://github.com/istio/istio.git -b 1.4.7cd istio如果需要代理访问外网,则编辑docker/Dockerfile.base文件,添加docker代理:env http_proxy ""env https_proxy ""env ftp_proxy ""重启docker:systemctl daemon-reloadsystemctl restart docker编辑Makefile文件,添加对aarch64的支持:else ifeq ($(LOCAL_ARCH),aarch64) TARGET_ARCH ?= arm64编辑Makefile.core.mk文件,添加对aarch64的支持:else ifeq ($(LOCAL_ARCH),aarch64)GOARCH_LOCAL := arm64编辑bin/init.sh,将所有的amd64修改为arm64。然后执行以下命令:sed -i 's/x86_64/aarch64/g' pilot/docker/Dockerfile.proxyv2sed -i 's/gcr.io\/distroless/discolix/g' $(find . -name Dockerfile.*)编辑tools/istio-docker.mk,删掉不需要的docker:docker.app docker.app_sidecar docker.test_policybackend docker.kubectl执行编译命令:BUILD_WITH_CONTAINER=0 USE_LOCAL_PROXY=1 make build V=1TAG=1.4.7 BUILD_WITH_CONTAINER=0 USE_LOCAL_PROXY=1 make docker.baseTAG=1.4.7 BUILD_WITH_CONTAINER=0 BASE_VERSION=1.4.7 USE_LOCAL_PROXY=1 make docker执行第一个编译命令会要求输入git账号密码:编辑go.mod,删除下图所示内容:replace istio.io/operator => github.com/istio-private/operator v0.0.0-20200323204721-49487c6ada25需要注意一下第一条编译命令生成的out目录的位置:如果找不到可以尝试使用find命令进行搜索。
-
【功能模块】华为鲲鹏920处理器所在服务器上编译内核源码问题【操作步骤&问题现象】1、参考步骤https://support.huaweicloud.com/prtg-robox-kunpengcps/kunpengrobox920_02_0009.html2、下载其中的linux_4.15.0.orig.tar.gz、linux_4.15.0-65.74.diff.gz、linux_4.15.0-65.74.dsc三个源码文件,放到“/home/compiler/”目录。3、当前目录下生成源码目录linux-4.15.0。执行命令出错:dpkg-source -x linux_4.15.0-65.74.dsc【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
鲲鹏加速库 压缩库 使用鲲鹏硬件加速模块或鲲鹏指令对业界主流的开源压缩库(zlib、gzip、zstd、snappy等)进行性能优化,优化后压缩库通过鲲鹏社区发布 加解密库?? 使用鲲鹏硬件加速模块及鲲鹏指令对openssl库进行性能优化,支持硬加速与指令加速的自动协同、应用逻辑无需修改即可使用加解密加速库 image.png 系统库 基于鲲鹏微架构特点,使用鲲鹏指令对系统通用的基础库进行性能优化,以及传统平台的指令函数映射到鲲鹏平台的公共模块 媒体库 基于鲲鹏加速指令提供高性能媒体原语库及视频编解码库 image.png Tuning Kit性能分析 一、简介 Tuning Kit是针对TaiShan服务器的性能分析和优化工具,能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到瓶颈点及热点函数。 华为鲲鹏性能优化工具支持的功能特性如下: 支持采集整个系统或指定进程(包括运行中的进程或直接启动的进程)的CPU Cycles性能事件,能够快速定位到热点函数,包括应用程序函数、模块函数与内核函数,甚至能够定位到热点指令。 支持热点函数按照CPU核/线程/模块进行分组,支持查看热点函数调用栈。 支持通过火焰图查看热点函数及其调用栈。 支持代码映射功能,即查看函数内的热点指令及该指令对应的高级语言文件及行号。 支持显示汇编代码的控制流图。 支持分析Java代码的热点函数及热点指令。
-
鲲鹏原指华为海思在今年1月初发布的一款兼容ARM指令集的服务器芯片鲲鹏920,性能强悍,配备了64个物理核心,单核实力从CPU算力benchmark的角度对比,大约持平于同期X86的主流服务器芯片,整体多核多线程算力较同期的X86芯片更强大。 但是鲲鹏的含义已经有所延伸,鲲鹏不再仅仅局限于鲲鹏系列服务芯片,更是包含了服务器软件在新的计算架构平台上的完整软硬件生态和云服务生态。我们看看这个生态里都有些什么: ### 芯片 **Q:鲲鹏芯片是一个ARM芯片吗?** A:鲲鹏芯片兼容了ARMv8指令集,对于已有的大部分已经支持ARM64的操作系统和软件而言,鲲鹏仍然是一个架构为arm64或者aarch64的芯片。 指令集的兼容是表现,但是鲲鹏系列芯片的内里是有革命性改变的。 面对计算子系统的单核算力问题,自主开发处理器内核,针对每个核进行了优化设计,采用多发射、乱序执行、优化分支预测,采用了3级cache,采用了自研mesh互联Fabric,典型主频2.6GHz。整形计算能力,业界标准benchmark SPECint_rate_base2006@GCC 7.3.0 -O2评分超过930。 面对服务器领域的挑战,集成了64个自研核,将DRAM的通道数从主流的6通道提升至8通道,DRAM的典型主频从2666MHz提升至2933MHz,总带宽达187GB/s;集成PCIe 4.0,CCIX等高速接口;集成2个100G RoCE端口。 从这个角度看,鲲鹏芯片已经重新定义了服务器的算力平台。 ### 服务器 **Q:现在鲲鹏芯片应用于哪些服务器呢?** A:有,泰山2280,泰山5280,泰山X6000等型号。当然,像我这样的个人开发者,直接使用一台泰山服务器用于代码编译也确实奢侈了一些,此时华为云提供的使用鲲鹏芯片的ECS弹性云服务器就会变成一个好的选择。现在已经有若干款RC3实例正在公测,而性能更好的一代产品即将公测,我们一起期待吧。 ### 操作系统 **Q:鲲鹏芯片有什么操作系统可以使用?** **A:**理论上所有可以支持ARMv8指令集的操作系统都可以兼容鲲鹏芯片。截止到2019-7月,经过华为云实际测试并且上线供鲲鹏生态使用的操作系统主要有华为自研的EulerOS 2.8,ubuntu18.04,CentOS7.5。当然,EulerOS 2.8作为华为多年研发投入的产品,自然针对鲲鹏芯片做了相当多的底层优化,可以更有效的发挥鲲鹏920的性能。 ### 软件 **Q:鲲鹏是否具备软件生态?他的发展情况如何。** **A:**理论上所有兼容ARMv8指令集的软件都可以运行在鲲鹏服务器上。 **Q:有哪些软件能兼容鲲鹏呢,我的软件是否能运行?** **A:**现在的软件行业已经不再处于靠自己造轮子的时代,通常一款完整的软件由自编码软件部分、开源软件部分、商用软件部分等三个部分组成。 因此一个完整软件要可以完整运行起来,是需要分别考察这三部分和鲲鹏的兼容性。 - 自编码软件 软件是由所有者采用了一种或多种编程语言,通过编译或解释使其可以运行。 针对这类软件,目前鲲鹏已经支持的语言包含: 编译型:c、c++、golang>=1.5 解释器:jvm>=1.7(java语言),perl,python2/3,shell,node.js - 开源软件 软件是由开源社区运营,社区所有贡献者共同提交代码完成软件实现。这类软件大多是由源码加前面的编译器、解释器一并完成业务功能。理论上,如果开源社区的源代码属于上述若干种语言,那么通过社区分发的源代码包,经过一定量的编译、安装、解释运行等过程就可以在鲲鹏社区上运行起来。 实际上现在有相当多的社区(据我个人统计,有大约9000个社区)已经直接提供aarch64/arm64架构对应的发布版本包,我们可以直接从这些社区获取官方发布包,按照标准的指导就可以运行起来。 - 商用软件 许多企业或者用户其实并没有能力自研或者集成软件,选择采购软件公司的商用软件。这部分商用软件不开放源代码,通常与行业或者解决方案深度嵌合,比如医疗His系统、金融财务软件、ERP、商用数据库等等。这些软件必须通过软件公司提供兼容ARMv8指令集的二进制软件包才能运行在鲲鹏中。 华为云正在大力与重要行业中的ISV进行深度合作,未来可以运行在鲲鹏上的商业软件将会越来越多。 ### 云服务与解决方案 华为云已经在使用鲲鹏构建自己的云服务,未来华为云的全部基础服务和大量的主要服务都会基于鲲鹏来构建。 华为云在鲲鹏生态的角色,既是优质产品和内容的提供者也是内容的消费者。 **Q:华为云已经发布了哪些鲲鹏云服务?分别给客户带来什么额外价值?** **A:**截止到2019-7月,已经发布了5款鲲鹏云服务。 1. 鲲鹏弹性云服务器(ECS)。基础云服务之一,也是用户可以直接感知到鲲鹏的最重要的服务。用户可以用过ECS直接购买鲲鹏云服务器,为云服务器添加磁盘、网络等资源,使其成为开发环境或者生产业务集群的一部分。 2. 鲲鹏裸金属服务器(BMS)。直接从华为云上购买裸金属服务器,用户可以得到一台专属的泰山服务器,并可以为这台泰山服务器添加磁盘、网络等资源。 3. 鲲鹏云手机服务(CloudPhone)。可以直接从华为云上购买一台运行Android操作系统的云主机,由于直接运行与ARMv8指令集,因此无使用模拟器带来的性能损失,能够提供手机应用测试、应用自动运行等能力。 4. 鲲鹏云容器引擎(CCE)。一种云中间件,直接提供基于鲲鹏的云容器,其中包含的基础库均为aarch64版本。 5. 鲲鹏分布式缓存服务(Redis)。一种云中间件,直接提供基于鲲鹏的Redis接口。用户并不能直接感受到它和运行在X86上的Redis的明显区别,但是可以基于鲲鹏的性能和成本优势,感知到明显的性价比差距。 **Q:华为云鲲鹏已经在哪些行业有解决方案了?** **A:**目前主要集中在对安全有特殊要求、对国产自主化有一定要求或者对算力性价比有较高要求的行业,如金融、政府、媒体与娱乐、游戏、生命科学等等。 **Q:华为云可以提供哪些成熟的水平解决方案?** **A:**截止到2019-7月,已经发布了5个水平解决方案。 1. 全栈专属云(HCSO)。全称是Huawei Cloud Stack Online,基于华为成熟的数据中心技术,可以为客户提供近距离的专属华为云。 2. 云手机。云手机既是华为云的一款云服务,也同时是一个解决方案。市场上有多家云手机提供商,使用的是华为云云手机解决方案。 3. 高性能计算(HPC)。主要通过鲲鹏的性能优势和成本优势,将鲲鹏HPC的性价比优势发挥到极致。 4. 大数据。同样也是能发挥性价比的主要场景。 5. 企业核心应用。基于鲲鹏上华为云对企业核心应用的积累,提供一系列完备的场景和解决方案。 转自https://bbs.huaweicloud.com/blogs/113665
-
华为云鲲鹏论坛3月热门问题汇总 1. 【云市场】【东方通中间件】完成了华为鲲鹏云适配完成并有相应测试报告,请问测试报告可以从哪里看问题链接 问题链接:https://bbs.huaweicloud.com/forum/thread-183750-1-1.html 2. 基于鲲鹏应用使能套件进行NUMA亲和性实践 问题链接:https://bbs.huaweicloud.com/forum/thread-183614-1-1.html 3. 如何实现华为弹性云定时开关机 问题链接:https://bbs.huaweicloud.com/forum/thread-183072-1-1.html 4. 在ECS上安装部署openGauss数据库时,创建openGauss omm用户互信出错 问题链接:https://bbs.huaweicloud.com/forum/thread-182919-1-1.html 5. ECS安装Gauss数据库,无法创建操作系统omm用户 问题链接:https://bbs.huaweicloud.com/forum/thread-182837-1-1.html 6. 如何CentOS 8.0 64bit with ARM服务器上搭建指定版本的mysql数据库 问题链接:https://bbs.huaweicloud.com/forum/thread-182558-1-1.html 7. 【鲲鹏ecs产品】【spark编译】编译集成hadoop3.2.2,hive3.1.2的spark3.0.3的时候 执行报错 问题链接:https://bbs.huaweicloud.com/forum/thread-182384-1-1.html 8. 华为鲲鹏服务器(ARM架构) CentOS8.0 安装Docker失败 问题链接:https://www.google.com.hk/webhp?hl=zh-CN&sourceid=cnhp&gws_rd=ssl 9. openEuler21.03部署ceph14.2.10失败 问题链接:https://bbs.huaweicloud.com/forum/thread-181572-1-1.html 10. RSA-demo源码获取 问题链接:https://bbs.huaweicloud.com/forum/thread-181064-1-1.html 11. 【鲲鹏ECS】【编译适配hudi-0.10.0】编译打包报错问题 问题链接:https://bbs.huaweicloud.com/forum/thread-180933-1-1.html 12. 【PostgreSQL】【绑核功能】PostgreSQL 13.3如何绑核 问题链接:https://bbs.huaweicloud.com/forum/thread-180806-1-1.html 13. speccpu2006的speed模式怎样运行的? 问题链接:https://bbs.huaweicloud.com/forum/thread-180824-1-1.html 14. openEuler的软件所仓库oepkg里面的目录层级是什么样的,最近想用,完全不知道该如何配置,感觉是个大杂烩? 问题链接:https://bbs.huaweicloud.com/forum/thread-182753-1-1.html 15. 【鲲鹏ecs产品】【spark编译】编译集成hadoop3.2.2,hive3.1.2的spark3.0.3的时候 执行报错 问题链接:https://bbs.huaweicloud.com/forum/thread-182384-1-1.html 16. 基于鲲鹏应用使能套件实现Spark算法优化 实验执行报错 问题链接:https://bbs.huaweicloud.com/forum/thread-183625-1-1.html 17. 鲲鹏 银河麒麟系统安装docker 问题链接:https://bbs.huaweicloud.com/forum/thread-183240-1-1.html 18. 【云服务器产品】arm64查看不了具体cpu型号 问题链接:https://bbs.huaweicloud.com/forum/thread-182672-1-1.html 19. 【鲲鹏920麒麟linux】【valgrind】使用不了,有glibc-debuginfo可以安装吗? 问题链接:https://bbs.huaweicloud.com/forum/thread-181503-1-1.html 20. openEuler21.03部署ceph14.2.10失败 问题链接:https://bbs.huaweicloud.com/forum/thread-181572-1-1.html
-
![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20223/30/1648641714389972231.png)
-
【功能模块】搭建robox容器方案平台【操作步骤&问题现象】1、按照说明安装ubuntu18.04.1 (https://support.huaweicloud.com/prtg-robox-kunpengcps/kunpengrobox920_02_0002.html)2、挂载虚拟cdrom,引导到了这个界面,按回车后,就一直黑屏了,等很长一段时间还是黑屏,【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
如题。其实不止是这个中间件,其他的关于这些适配的测试报告,是否有地方查看?谢谢~~
-
【功能模块】【操作步骤&问题现象】手册上说openstak也可以单机部署 一台设备上跑 那么这个是指在一台服务器上起3个虚拟机 然后这三个虚拟机分别承担这几个节点的作用,还是说直接把这几个节点全部安装在这一台设备上,这台设备就是这四个节点?【截图信息】【日志信息】(可选,上传日志内容或者附件)yd_299783642 发表于2022-03-30 10:50:51 2022-03-30 10:50:51 最后回复 chuangzhijian@汪汪队 2022-03-30 14:15:56395 2
-
鲲鹏认证的九云图DocSDK智能文档格式转换系统(九云图DocSDK Server,www.docsdk.com ),是一个服务器软件,提供了开发接口(API),能够解决各类文档格式转换问题。用户通过部署该产品,可以在软件产品中,快速实现涉及文档格式转换的相关功能,提高研发效率。下面是一个“通用文档全文检索系统”产品技术方案架构示意图: 该方案部署了九云图DocSDK Server,用来支持非结构化文档。主要作用如下:1. 格式解析。对所支持的Office/WPS/ODF/CAD/PDF等各类文档进行格式解析,将文档的非结构化信息解析成结构化的 JSON 格式,用于建立索引;2. 版面重建。一些绝对定位的文档中,缺少准确的段落描述,比如有的文档的豆腐块版式,文本PDF,文字是以零散方式描述的位置信息。这种方式预览阅读时没有问题,视觉效果上具有段落区分。但程序在进行全文检索时,就会出现错漏情况。九云图DocSDK通过智能算法,根据文字位置、字体、内容的相关信息,准确划分段落,实现版面重建;3. 表格识别。表格里的信息天然具备结构化特征,很多情况检索时需要利用这类特征。但有些文档表面看起来是表格,实际并没有行列关系的描述,这时就需要通过表格识别算法,将行列关系还原出来;4. 在线展现。检索结果需要在线展现,九云图DocSDK对各类文档提供了三种在线展现形式,图片、传统HTML和HTML5。图片方式通用性好,但缩放时存在不清晰现象。传统HTML可以支持交互,能实现内容标注、编辑等需求。但由于描述能力限制,展现复杂格式存在不完全兼容的情况。HTML5兼容性好,通过嵌入字库子集,在移动端缺少字库的情况下,也能准确展现出各种字体效果。九云图DocSDK系统运行需求是4核32G,最大支持500M文档,每秒钟能处理5~10页内容。采用多线程技术,可同时处理20个文档,超过20个时自动排队。对于高并发场景,可部署集群,集群方案采用MongoDB做中间件,支持负载均衡。
-
基于鲲鹏应用使能套件实现Spark算法优化实验-华为云 (huaweicloud.com) 该实验到这一步时提示错误,请问是怎么回事,是按照文档一步一步执行的
上滑加载中
推荐直播
-
华为云AI入门课:AI发展趋势与华为愿景
2024/11/18 周一 18:20-20:20
Alex 华为云学堂技术讲师
本期直播旨在帮助开发者熟悉理解AI技术概念,AI发展趋势,AI实用化前景,了解熟悉未来主要技术栈,当前发展瓶颈等行业化知识。帮助开发者在AI领域快速构建知识体系,构建职业竞争力。
去报名 -
华为云软件开发生产线(CodeArts)10月新特性解读
2024/11/19 周二 19:00-20:00
苏柏亚培 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线10月发布的新特性,并在直播过程中为您答疑解惑。
去报名
热门标签