DP读书:鲲鹏处理器 架构与编程(十)鲲鹏软件生态与云服务


鲲鹏处理器作为全方面兼容 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会授权合作厂商使用自己的架构,方便其根据自己的需要来设计处理器。

#mermaid-svg-2IATYz4Z6Tppizg8 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-2IATYz4Z6Tppizg8 .error-icon{fill:#552222;}#mermaid-svg-2IATYz4Z6Tppizg8 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-2IATYz4Z6Tppizg8 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-2IATYz4Z6Tppizg8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-2IATYz4Z6Tppizg8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-2IATYz4Z6Tppizg8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-2IATYz4Z6Tppizg8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-2IATYz4Z6Tppizg8 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-2IATYz4Z6Tppizg8 .marker.cross{stroke:#333333;}#mermaid-svg-2IATYz4Z6Tppizg8 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-2IATYz4Z6Tppizg8 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-2IATYz4Z6Tppizg8 .cluster-label text{fill:#333;}#mermaid-svg-2IATYz4Z6Tppizg8 .cluster-label span{color:#333;}#mermaid-svg-2IATYz4Z6Tppizg8 .label text,#mermaid-svg-2IATYz4Z6Tppizg8 span{fill:#333;color:#333;}#mermaid-svg-2IATYz4Z6Tppizg8 .node rect,#mermaid-svg-2IATYz4Z6Tppizg8 .node circle,#mermaid-svg-2IATYz4Z6Tppizg8 .node ellipse,#mermaid-svg-2IATYz4Z6Tppizg8 .node polygon,#mermaid-svg-2IATYz4Z6Tppizg8 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-2IATYz4Z6Tppizg8 .node .label{text-align:center;}#mermaid-svg-2IATYz4Z6Tppizg8 .node.clickable{cursor:pointer;}#mermaid-svg-2IATYz4Z6Tppizg8 .arrowheadPath{fill:#333333;}#mermaid-svg-2IATYz4Z6Tppizg8 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-2IATYz4Z6Tppizg8 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-2IATYz4Z6Tppizg8 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-2IATYz4Z6Tppizg8 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-2IATYz4Z6Tppizg8 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-2IATYz4Z6Tppizg8 .cluster text{fill:#333;}#mermaid-svg-2IATYz4Z6Tppizg8 .cluster span{color:#333;}#mermaid-svg-2IATYz4Z6Tppizg8 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-2IATYz4Z6Tppizg8 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
架构授权
处理器授权
POP授权
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. 鲲鹏软件栈资源

鲲鹏软件栈资源是指基于鲲鹏处理器的软件栈及相关资源。主要包括以下几部分:

  1. 鲲鹏BoostKit:这是鲲鹏计算产业的开发工具集,包括编译器、开发库、虚拟化、并行框架等,旨在提升基于鲲鹏处理器的应用程序性能。
  2. 鲲鹏DevKit:这是鲲鹏计算产业的开发者工具集,提供适用于鲲鹏处理器的开发环境和工具,包括编译器、调试器、性能分析工具等。
  3. 鲲鹏编译工具链:这是鲲鹏计算产业的编译工具链,提供针对鲲鹏处理器的优化编译功能,以提高应用程序的执行效率。
  4. 鲲鹏数据库:这是基于鲲鹏处理器的数据库系统,包括分布式存储、分布式分析、高性能计算等数据库产品。
  5. 鲲鹏虚拟化:这是基于鲲鹏处理器的虚拟化技术,提供虚拟化操作系统和虚拟化解决方案,支持多种应用场景。
  6. 鲲鹏机密计算:这是基于鲲鹏处理器的机密计算技术,提供安全的计算环境和计算框架,保障数据和应用程序的安全性。
  7. 鲲鹏高性能计算:这是基于鲲鹏处理器的计算框架,提供高效率、高可靠性的计算能力,适用于科学计算、人工智能等领域。
  8. 鲲鹏HPC集群管理与调度软件:这是基于鲲鹏处理器的集群管理和调度软件,提供高效、稳定、易用的集群管理解决方案。

这些资源都是基于鲲鹏处理器开发的,旨在为开发者提供更好的开发环境和工具,推动基于鲲鹏处理器的应用程序的发展和普及。

#mermaid-svg-KSMpmSTdqXSslUOj {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-KSMpmSTdqXSslUOj .error-icon{fill:#552222;}#mermaid-svg-KSMpmSTdqXSslUOj .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-KSMpmSTdqXSslUOj .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-KSMpmSTdqXSslUOj .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-KSMpmSTdqXSslUOj .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-KSMpmSTdqXSslUOj .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-KSMpmSTdqXSslUOj .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-KSMpmSTdqXSslUOj .marker{fill:#333333;stroke:#333333;}#mermaid-svg-KSMpmSTdqXSslUOj .marker.cross{stroke:#333333;}#mermaid-svg-KSMpmSTdqXSslUOj svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-KSMpmSTdqXSslUOj .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-KSMpmSTdqXSslUOj .cluster-label text{fill:#333;}#mermaid-svg-KSMpmSTdqXSslUOj .cluster-label span{color:#333;}#mermaid-svg-KSMpmSTdqXSslUOj .label text,#mermaid-svg-KSMpmSTdqXSslUOj span{fill:#333;color:#333;}#mermaid-svg-KSMpmSTdqXSslUOj .node rect,#mermaid-svg-KSMpmSTdqXSslUOj .node circle,#mermaid-svg-KSMpmSTdqXSslUOj .node ellipse,#mermaid-svg-KSMpmSTdqXSslUOj .node polygon,#mermaid-svg-KSMpmSTdqXSslUOj .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-KSMpmSTdqXSslUOj .node .label{text-align:center;}#mermaid-svg-KSMpmSTdqXSslUOj .node.clickable{cursor:pointer;}#mermaid-svg-KSMpmSTdqXSslUOj .arrowheadPath{fill:#333333;}#mermaid-svg-KSMpmSTdqXSslUOj .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-KSMpmSTdqXSslUOj .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-KSMpmSTdqXSslUOj .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-KSMpmSTdqXSslUOj .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-KSMpmSTdqXSslUOj .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-KSMpmSTdqXSslUOj .cluster text{fill:#333;}#mermaid-svg-KSMpmSTdqXSslUOj .cluster span{color:#333;}#mermaid-svg-KSMpmSTdqXSslUOj div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-KSMpmSTdqXSslUOj :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
鲲鹏BoostKit
鲲鹏DevKit
鲲鹏编译工具链
鲲鹏数据库
鲲鹏虚拟化
鲲鹏机密计算
鲲鹏高性能计算
鲲鹏HPC集群管理与调度软件
#mermaid-svg-mtYYcwJ0IEUEjBu0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .error-icon{fill:#552222;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .marker.cross{stroke:#333333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .cluster-label text{fill:#333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .cluster-label span{color:#333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .label text,#mermaid-svg-mtYYcwJ0IEUEjBu0 span{fill:#333;color:#333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .node rect,#mermaid-svg-mtYYcwJ0IEUEjBu0 .node circle,#mermaid-svg-mtYYcwJ0IEUEjBu0 .node ellipse,#mermaid-svg-mtYYcwJ0IEUEjBu0 .node polygon,#mermaid-svg-mtYYcwJ0IEUEjBu0 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .node .label{text-align:center;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .node.clickable{cursor:pointer;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .arrowheadPath{fill:#333333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .cluster text{fill:#333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 .cluster span{color:#333;}#mermaid-svg-mtYYcwJ0IEUEjBu0 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-mtYYcwJ0IEUEjBu0 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
鲲鹏计算产业
鲲鹏BoostKit
鲲鹏DevKit
鲲鹏编译工具链
鲲鹏数据库
鲲鹏虚拟化
鲲鹏机密计算
鲲鹏高性能计算
鲲鹏HPC集群管理与调度软件