DP读书:鲲鹏处理器 架构与编程(十)鲲鹏软件生态与云服务
十秒带你了解鲲鹏软件生态与云服务
- 鲲鹏软件生态与云服务
- ARM授权机制
- 在传统的PC领域,半导体厂商的业务类型主要分为两种:
- 在移动领域,
- ARM服务器生态
- 鲲鹏服务器软件生态
- 1. 鲲鹏计算产业
- 2. 鲲鹏软件生态兼容性
- 3. openEluer操作系统
- 4. 鲲鹏软件栈资源
鲲鹏处理器作为全方面兼容 ARMv8-AA64位体系结构的通用服务器芯片,支持ARM+Linux生态
鲲鹏软件生态与云服务
鲲鹏作为通用的 ARMv8 处理器,属于全球ARM生态之中。当前鲲鹏不再仅仅局限于鲲鹏系列服务器芯片,更是包含了完整的 服务器软硬件生态和全栈的云服务生态。
生态汇集了 芯片、服务器、操作系统、虚拟化容器、应用软件、云服务,利用多个水平解决方案及垂直行业解决方案等。
鲲鹏软件生态与云服务
ARM授权机制
在传统的PC领域,半导体厂商的业务类型主要分为两种:
一种是像Intel一样,垂直的集成芯片设计和制造公司。
还有一种就是像NVIDIA、AMD,一样的公司自己只设计芯片 称为 无晶圆厂(Fabless)模式,物理制造则交给代工厂,如台积电、三星电子、UMC联电、GlobalFoundries等。无晶圆厂的半成品方式可以极大的降低成本,但设计最终还是由代工厂决定。
在移动领域,
主应用处理器的成本很容易就低于设备总成本的10%,ARM公司由此形成了不一样的业务类型:他不向市场直接出售芯片,而是将ARM公司设计的IP(指令集架构、微处理器、图形核心、互联架构),将许可给任何想使用他的客户,然后由ARM决定是否制造与销售芯片。
ARM公司提供三种不一样的许可证类型,分别为:POP(Progressor Optimization Park,处理器优化包/物理IP包)授权、处理器授权、架构指令集授权。他们的授权等级依次增高,但正是这种授权方式降低了研发成本以及研发风险,形成一种风险共担、利益共享的模式
ARM的授权机制包括三种授权方式:处理器授权、POP授权和架构授权。
处理器授权指授权合作厂商使用ARM设计好的处理器,对方不能改变原有设计,但可以根据自己的需要调整产品的频率、功耗等。
POP授权是ARM出售优化后的处理器给授权合作厂商,方便其在特定的工艺下设计、生产出性能有保证的处理器。
架构授权是ARM会授权合作厂商使用自己的架构,方便其根据自己的需要来设计处理器。
POP(Processor Optimization Pack)授权是ARM的一项服务,它允许授权合作厂商使用ARM优化后的处理器设计,以便在特定的工艺下设计、生产出性能有保证的处理器。POP授权实际上是一套完整的处理器设计和优化工具包,其中包括ARM处理器核心、内存编译器、系统编译器和调试工具等。通过POP授权,授权合作厂商可以使用ARM的先进技术,以更快的速度和更高的效率设计出高性能、低功耗的处理器。POP授权对于那些希望在自己的产品中集成高性能ARM处理器的厂商来说是非常有价值的。
架构授权是ARM的一种授权方式,允许授权合作厂商使用ARM的架构,自行设计和生产处理器。这种授权方式被广泛应用于芯片设计领域,许多知名的芯片设计公司都使用了ARM的架构授权,如苹果、高通、三星、华为等。这些公司在获得ARM的架构授权后,可以根据自己的需求和设计理念,设计和生产出高性能、低功耗的处理器,满足各种不同的应用需求。
ARM服务器生态
在移动端,服务器芯片市场需要长期的技术投资与软硬件系统的广泛支持,因此ARM联合了全产业链的厂家(包括芯片供应商、OEM厂商、ODM厂商、独立硬件供应商、云基础设施供应商等),共同制定了SBSA规范最低硬件要求、SBBR规范的最低固件要求,利用该标准创建了新的应用规范。
graph TB A[移动端服务器芯片市场] B[需要长期的技术投资与软硬件系统的广泛支持] C[ARM联合全产业链的厂家] D[包括芯片供应商、OEM厂商、ODM厂商、独立硬件供应商、云基础设施供应商等] E[共同制定SBSA规范最低硬件要求] F[SBBR规范的最低固件要求] G[利用该标准创建新的应用规范] A --> B B --> C C --> D C --> E C --> F E --> G F --> G
基础软件,如操作系统、工具链(编程语言和开发工具)、云基础软件(虚拟化和容器) 等在Lina日哦等开源生态社区及各ARM服务器厂商的努力下达到了对ARM的完全支持。
主流的操作系统软件发行版(CentOS、OpenSuse、Ubuntu等) 都依赖于统一开放的硬件架构标准,都对ARM64支持。
工具链也是基础软件生态的关键环节。 目前主流的编译器(GCC、LLVM等)以及编程语言(C、C++、Python、Java、Go等)都提供了对ARM64的支持, 并且在性能与稳定性方面都具备了商用能力。
云基础软件主要包括虚拟化软件和容器。目前主流的开源虚拟化软件KVM(基于内核的虚拟机)和X嗯(一款开源的Hypervisor)都提供了对ARM64的商用支持。
在开源软件领域,开源的应用软件主要包含所有主流数据中心业务场景,例如云计算服务(OpenStack、Ceph、Spark等),高性能计算业务(OpenHPC),数据库(MySQL等)等。以Linaro为首的ARM64开源社区,构建了ERP(Enterprise Reference Palatform)
graph LR
A(基础软件)
B(操作系统、工具链)
C(云基础软件)
D(主流的操作系统软件发行版)
E(工具链)
F(云基础软件主要包括虚拟化软件和容器)
G(开源软件领域)A --> B
A --> C
B --> D
B --> E
C --> F
C --> G
鲲鹏服务器软件生态
1. 鲲鹏计算产业
鲲鹏计算产业是指基于鲲鹏处理器的计算产业。
鲲鹏处理器是由华为研发的服务器芯片,属于ARM V8架构的64位处理器。鲲鹏计算产业是广东省政府和华为合作推进的重大项目,旨在打造基于鲲鹏处理器的计算产业生态系统,加速其推广和应用。鲲鹏计算产业涉及硬件、软件和应用等多个方面,包括服务器、存储、网络、软件平台、应用解决方案等。
目前,已有多个厂商推出了基于鲲鹏处理器的服务器和解决方案,包括华为、宝德、联想、浪潮等。同时,鲲鹏计算产业也在积极推动产业合作,包括成立行业联盟、建设开源平台、培养人才等,以促进产业发展和应用推广。
2. 鲲鹏软件生态兼容性
鲲鹏软件生态兼容性是指基于鲲鹏处理器的硬件平台与软件系统之间的兼容性。在鲲鹏计算产业中,软件生态兼容性是非常重要的一环,关系到整个生态系统的稳定性和发展。
为了确保软件生态兼容性,鲲鹏计算产业采取了多种措施。首先,鲲鹏处理器通过了多项国际和国内权威认证测试,包括EAL4、CCEAL5+、Iinux一致性测试 等,确保了处理器的稳定性和可靠性。其次,鲲鹏计算产业与众多操作系统、数据库、中间件等软件厂商进行了合作,共同开发和优化基于鲲鹏处理器的软件应用,以确保在鲲鹏处理器上的运行效率和性能。
graph LR
A(鲲鹏软件生态兼容性)
B(鲲鹏处理器通过多项认证测试)
C{处理器稳定可靠吗?}
D[鲲鹏计算产业与软件厂商合作]
E{软件应用运行效率和性能好吗?}A --> B
B --> C
C -- 是 --> D
C -- 否 --> A
D --> E
此外,鲲鹏计算产业还建立了一系列的兼容性和标准化测试机制,包括鲲鹏应用兼容性测试实验室、鲲鹏标准符合性实验室等,为软件厂商提供测试和验证服务,确保软件产品在鲲鹏处理器上的稳定性和兼容性。通过这些措施,鲲鹏计算产业致力于打造一个兼容开放、多样化且富有生命力的生态体系,为各行业提供安全、高效的计算解决方案,推动数字化转型和智能化升级。
3. openEluer操作系统
openEuler是一款开源操作系统,它的目的是为数字基础设施提供安全、稳定、易用的操作系统。
这款操作系统适用于服务器、云计算、边缘计算、嵌入式等应用场景,并且支持多样性计算,可以满足OT领域应用及OT与ICT的融合需求。openEuler通过为应用提供确定性保障能力,可以支持OT领域应用及OT与ICT的融合。同时,openEuler的开源社区通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系,孵化支持多种处理器架构、覆盖数字设施全场景,推动企业数字基础设施软硬件、应用生态繁荣发展。
graph TB A[openEuler是一款开源操作系统] B[为数字基础设施提供安全、稳定、易用的操作系统] C[适用于服务器、云计算、边缘计算、嵌入式等应用场景] D[支持多样性计算] E[满足OT领域应用及OT与ICT的融合需求] F[为应用提供确定性保障能力] G[开源社区与全球开发者共同构建开放、多元、架构包容的软件生态体系] H[孵化支持多种处理器架构、覆盖数字设施全场景] I[推动企业数字基础设施软硬件、应用生态繁荣发展] A --> B A --> C A --> D A --> E A --> F C --> G E --> H F --> I
4. 鲲鹏软件栈资源
鲲鹏软件栈资源是指基于鲲鹏处理器的软件栈及相关资源。主要包括以下几部分:
- 鲲鹏BoostKit:这是鲲鹏计算产业的开发工具集,包括编译器、开发库、虚拟化、并行框架等,旨在提升基于鲲鹏处理器的应用程序性能。
- 鲲鹏DevKit:这是鲲鹏计算产业的开发者工具集,提供适用于鲲鹏处理器的开发环境和工具,包括编译器、调试器、性能分析工具等。
- 鲲鹏编译工具链:这是鲲鹏计算产业的编译工具链,提供针对鲲鹏处理器的优化编译功能,以提高应用程序的执行效率。
- 鲲鹏数据库:这是基于鲲鹏处理器的数据库系统,包括分布式存储、分布式分析、高性能计算等数据库产品。
- 鲲鹏虚拟化:这是基于鲲鹏处理器的虚拟化技术,提供虚拟化操作系统和虚拟化解决方案,支持多种应用场景。
- 鲲鹏机密计算:这是基于鲲鹏处理器的机密计算技术,提供安全的计算环境和计算框架,保障数据和应用程序的安全性。
- 鲲鹏高性能计算:这是基于鲲鹏处理器的计算框架,提供高效率、高可靠性的计算能力,适用于科学计算、人工智能等领域。
- 鲲鹏HPC集群管理与调度软件:这是基于鲲鹏处理器的集群管理和调度软件,提供高效、稳定、易用的集群管理解决方案。
这些资源都是基于鲲鹏处理器开发的,旨在为开发者提供更好的开发环境和工具,推动基于鲲鹏处理器的应用程序的发展和普及。
相关文章:

DP读书:鲲鹏处理器 架构与编程(十)鲲鹏软件生态与云服务
十秒带你了解鲲鹏软件生态与云服务 鲲鹏软件生态与云服务ARM授权机制在传统的PC领域,半导体厂商的业务类型主要分为两种:在移动领域, ARM服务器生态鲲鹏服务器软件生态1. 鲲鹏计算产业2. 鲲鹏软件生态兼容性3. openEluer操作系统4. 鲲鹏软件栈…...

CSS_IOS适配状态栏和IOS底部安全区域
状态栏 var(--status-bar-height)计算属性 height: calc(var(--status-bar-height) 343px);底部安全区 先constant再env constant(safe-area-inset-bottom) env(safe-area-inset-bottom)计算属性 height: calc(132px constant(safe-area-inset-bottom)); height: calc(1…...

中央仓库更新失败,IDEA报错repository is non-nexus repo, or does not indexed
某个仓库未被识别为 Nexus 仓库,或者没有被正确地索引。导致引入依赖一直爆红,找不到。只有本地仓库的依赖没报错,因为下载过了,添加新的依赖就需要到远程仓库找就爆红。 解决 去阿里云Maven官网看了一下,发现阿里云…...

设计模式--代理模式
笔记来源:尚硅谷Java设计模式(图解框架源码剖析) 代理模式 1、代理模式的基本介绍 1)代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象2)这样做的好处是…...

链路聚合原理
文章目录 一、定义二、功能三、负载分担四、分类五、常用命令 首先可以看下思维导图,以便更好的理解接下来的内容。 一、定义 在网络中,端口聚合是一种将连接到同一台交换机的多个物理端口捆绑在一起,形成一个逻辑端口的技术。通过端口聚合&…...

el-table表尾添加合计行,自动合计,且特殊列自定义计算展示
效果如图 1.element-ui的table表格有合计功能,但是功能却不完善,会有不显示和计算出现错误的问题,项目中有遇到,所以记录下 show-summary:自动合计 getSummaries():对合计行进行特…...

uview ui 1.x ActonSheet项太多,设置滚动(亲测有效)
问题:ActionSheet滚动不了。 使用uview ui :u-action-sheet, 但是item太多,超出屏幕了, 查了一下文档,并没有设置滚动的地方。 官方文档:ActionSheet 操作菜单 | uView - 多平台快速开发的UI框架 - uni-a…...

STM32 Cubemx 同名外设中断及回调
文章目录 前言示例工程个人理解 前言 最近在学习STM32,采用HAL库开发方式。记录一下同名外设中断及回调。 这里提及的同名外设指USART1/2之类的相同外设,但不是同一个instance。 示例工程 以使用cubemx配置两个同名外设EXTI0/EXT4为例。 在NVIC配置…...

储能辅助电力系统调峰的容量需求研究(matlab代码)
目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《储能辅助电力系统调峰的容量需求研究》,是一个很常规很经典的matlab优化代码,主要是对火电、风电和储能等电力设备主体进行优化调度,在调峰能力达不到时采…...

非计算机科班如何丝滑转码?(本人就是有点不丝滑)
我觉得无非三个办法可以选择(当然可能有其他方法) 自学 报班 有师傅带 但是在学习之前,你一定要明确你学习编程的目的是什么! 游戏开发?后台研发?爬虫工程师?前端程序员?数据分析师? 或者 仅仅是想做一…...

tensorrtx部署yolov5 6.0
文章目录 一. yolov5 v6.0训练模型二.训练好的yolov5模型转tensorrt引擎 一. yolov5 v6.0训练模型 官网下载yolov5 v6.0代码 下载官方预训练好的模型 安装yolov5所需要的库文件,requirements.txt在下载好的yolov5源代码中有 pip install -r C:\Users\10001540…...

用html5写一个音乐播放器
在HTML5中创建一个简单的音乐播放器时,你可以使用<audio>元素来实现。以下是一个基本的示例: html <!DOCTYPE html> <html> <head> <title>音乐播放器</title> </head> <body> <h1>音乐…...

postgresql类型转换函数
postgresql类型转换函数 简介CAST 函数to_date 函数to_timestamp 函数to_char 函数to_number 函数隐式类型转换 简介 类型转换函数用于将数据从一种类型转换为另一种类型。 CAST 函数 CAST ( expr AS data_type )函数用于将 expr 转换为 data_type 数据类型;Post…...

Go 自学:Array阵列
以下代码展示了用两种方法建立array。 package mainimport "fmt"func main() {var fruitList [4]stringfruitList[0] "Apple"fruitList[1] "Tomato"fruitList[3] "Peach"fmt.Println("Fruit list is: ", fruitList)fmt.…...

大数据平台与数据仓库的五大区别
随着大数据的快速发展,很多人难以区分大数据平台与数据仓库的区别,两者傻傻分不清楚。今天我们小编就给大家汇总了大数据平台与数据仓库的五大区别,希望有用哦!仅供参考! 大数据平台与数据仓库的五大区别 一、概念不同…...

React 钩子汇总
React 钩子 一、常用的 React 钩子: 1. useState 用于在函数式组件中添加状态管理。它返回一个状态值和一个更新状态的函数,让你可以在组件中追踪和更新状态。 2. useEffect 用于在组件渲染完成后执行副作用操作,比如数据获取、订阅等。…...

Python爬取旅游网站数据机票酒店价格对比分析
本文将介绍如何使用Python爬虫从旅游网站上获取机票和酒店的价格数据,并实现价格对比分析,帮助你做出明智的旅行决策。我们提供了完善的方案和代码,让你能够轻松操作并获得实际价值。 使用Python爬虫获取旅游网站上的机票和酒店价格数据&…...

OA项目之会议通知(查询是否参会反馈详情)
目录 会议查询 是否参会 反馈详情 讲解思路 会议通知SQL语句分析 反馈详情SQL语句分析 后台代码编写 前端代码编写 效果预览 会议查询 MeetingFeedBack.java package com.zking.oa.model;import org.lisen.mvc.util.AutoIncrement; import org.lisen.mvc.util.…...

如何维护自己的电脑的措施
维护自己的电脑可以采取以下措施: 硬件维护:定期清理电脑表面的灰尘和污垢,避免灰尘对电脑内部部件造成影响。电源插座要保持接触良好,保证电脑的电源稳定。如果使用笔记本电脑,要注意保证散热通畅,避免电…...

VS2022 Community 安装步骤
VS2022 Community 安装步骤(C语言学习) 1. 下载地址2. 安装步骤 1. 下载地址 链接: VS2022 Community下载地址 2. 安装步骤 双击图标进行安装。 点击【继续】后等待安装。 选择需要的安装包并修改安装位置,然后点击【安装】。 点击安装…...

vue3中mitt.js使用
在vue2中我们通过事件总线eventbus,来实现两个平行组件之间的通信: bus.js import Vue from vue // 创建vue实例 const Bus new Vue() export default Bus在具体的组件中: A.vue import Bus from ./bus.js // 发布一个事件 Bus.$emit(sendData, {nam…...

Redis 内存淘汰策略详解
Redis 内存淘汰策略详解 一、简介Redis内存管理问题 二、内存淘汰策略1.为什么需要内存淘汰策略2.内存淘汰策略分类(1)noeviction(2)allkeys-lru(3)allkeys-lfu(4)volatile-lru&…...

初识Redis之分布式
一.简单介绍: Redis是用来在内存中, 存储数据的, 他的初心是用来搞消息中间件(或者说消息队列 很熟悉了吧~~),但是呢用的不多,他现在主要是用来做 数据库,缓存 用来存储数据, 为什么不直接存储呢? Redis的优势就在于分布式系统 二.分布式系统 要说其分布式系统,简单想想都能…...

计算机网络-笔记-第三章-数据链路层
目录 三、第三章——数据链路层 1、数据链路层概述(帧) (1)封装成帧、差错检测、可靠传输(简单介绍) (2)CSMA/CD 2、封装成帧 (1)透明传输(…...

【1】openGL glew示例代码分析绘制一个三角形
openGL文档 > docs.gl ,可以直接查询函数的定义和使用 #include <iostream> #include <string> #include <GL/glew.h> #include <GLFW/glfw3.h>int main(void) {GLFWwindow* window;/* Initialize the library */if (!glfwInit())retu…...

android:新建工程文件介绍
一、前言当我们新建一个app时会呈现出固定的工程文件,这篇文章介绍新建工程里的文件。 二、介绍 Structure:就是你选择哪个页面就会显示那个页面的结构,就比如说我选择的是MainActivity他就会显示这个页面所使用的方法。 1-2:是android自动生…...

强化历程6-网络系列(2023.8.30)
文章目录 强化历程6-网络系列(2023.8.30)1 说一下OSI七层协议,为什么要分层?2 什么是TCP/IP协议,与OSI七层协议两者对比?3 什么是TCP协议,TCP协议和UDP协议区别?4 说一下TCP的三次握手和四次挥手5 两次握手…...

下载MedShapeNet
在 [1] 可下载 MedShapeNet 数据集,在其 Download 页,可选直接 GUI 下,或者先下一个索引文件,.txt 的,每行一条文件的下载链接,然后用 wget 逐条下。这里放下 wget 下载的 shell 脚本: 下载链索…...

根据身高重建队列【贪心算法】
根据身高重建队列 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返…...

基于Java+SpringBoot+Mybaties-plus+Vue+ElementUI 高校汉服租赁网站的 设计与实现
一.项目介绍 高校汉服租赁网站分为普通用户以及管理员两类 普通用户: 注册、登录系统、查看汉服首页发帖公告信息、 交流论坛(发帖、查看帖子、评论)、 公告咨询(查看公告以及评论)、 汉服信息(查…...