发布日期:2026-01-28 浏览次数:
本发明公开一种基于异构众核处理器的并行编程模型及其构建方法,包括:基于非对称的容器方案进行构建,得到一初始主处理器和若干初始从处理器;在初始主处理器和若干初始从处理器上,基于非对称的对象操作系统方案进行构建,得到一主处理器和若干从处理器,以使并行编程模型既考虑了综合电子系统应用中主处理器与从处理器的工作负载,又考虑了主处理器与从处理器的使用方式;既能支持任务并行,又能支持处理器静态分配与流水线并行。本发明用于解决现有基于异构众核处理器的并行编程模型,无法解决综合电子系统应用中存在的静态与动态之间
1.一种基于异构众核处理器的并行编程模型的构建方法,其特征在于,包括以下步骤:
提供一包含多个容器的单核处理器和若干包含多个容器的多核处理器,并基于非对称
在所述初始主处理器和所述若干初始从处理器上,基于非对称的对象操作系统方案进
行构建,得到一主处理器和若干从处理器,以使所述并行编程模型既考虑了综合电子系统
应用中所述主处理器与所述从处理器的工作负载,又考虑了所述主处理器与所述从处理器
让所述单核处理器中的多个容器分时共用所述单核处理器,让所述多核处理器中的单
在所述初始主处理器上采用基于对象模型的单处理器单操作系统,在所述若干初始从
处理器上采用基于对象模型的对称多处理操作系统,并让所述初始主处理器和所述若干初
2.根据权利要求1所述的基于异构众核处理器的并行编程模型的构建方法,其特征在
通过配置容器流水线属性,使所述容器按照时间窗静态调度,遵循固定、循环的准则实
现容器间流水线所述的基于异构众核处理器的并行编程模型的构建方法,其特征在
其中,所述软件的属性包括:软件的应用类型、物理需求;所述编译期的任务规划包括:
4.根据权利要求3所述的基于异构众核处理器的并行编程模型的构建方法,其特征在
将每次编译的软件功能抽象为一个函数,并将支撑所述函数运行的所述若干从处理器
当所述主处理器在对所述若干从处理器有预设的并行计算需求时,通过直接启用相应
5.根据权利要求1‑4任一项所述的基于异构众核处理器的并行编程模型的构建方法,
通过所述主处理器运行基于容器/对象的操作系统,为所述操作系统提供空间集成、时
6.根据权利要求1‑4任一项所述的基于异构众核处理器的并行编程模型的构建方法,
获取信号处理类,并通过所述静态分配部分为所述信号处理类的应用分配固定的从核
处理器集合,以长期稳定的处理信号数据,并在软件层面封装成一个容器,通过所述对称多
在所述对称多处理操作系统的统一管理下,通过所述动态调度部分为由并行任务编译
其中,所述信号处理类包括:雷达信号处理类、摄像信号处理类以及传感器信号处理
7.根据权利要求1‑4任一项所述的基于异构众核处理器的并行编程模型的构建方法,
当某一对象需要使用众核提供的高性能并行计算服务时,通过调用事先已经预编译成
函数的并行任务,并通过所述单处理器单操作系统进行资源分配、计算,最后获得计算结
8.根据权利要求1‑4任一项所述的基于异构众核处理器的并行编程模型的构建方法,
通过为所述若干从处理器的静态分配容器内设置唯一对象抽象,用于与其他对象进行
通过所述单处理器单操作系统的容器静态调度进行所述主处理器内容器的运行调度,
提供对象间通信机制用于支持各容器内各个对象间的数据交互,并同时支持各对象与所述
一主处理器,其通过在一包含多个容器的单核处理器上基于非对称的容器方案进行构
建,得到一初始主处理器后,再通过在所述初始主处理器上基于非对称的对象操作系统方
若干从处理器,其通过在若干包含多个容器的多核处理器上基于所述非对称的容器方
案进行构建,得到若干初始从处理器后,再通过在所述若干初始从处理器上基于非对称的
让所述单核处理器中的多个容器分时共用所述单核处理器,让所述多核处理器中的单
在所述初始主处理器上采用基于对象模型的单处理器单操作系统,在所述若干初始从
处理器上采用基于对象模型的对称多处理操作系统,并让所述初始主处理器和所述若干初
始从处理器的对象模型保持一致,以使所述并行编程模型既考虑了综合电子系统应用中所
述主处理器与所述从处理器的工作负载,又考虑了所述主处理器与所述从处理器的使用方
所述并行编程模型由编译器负责核内向量并行,由操作系统负责核间任务并行和流水
线并行,所述任务并行包括:操作系统内的多任务并行、基于函数和协处理器的任务并行,
所述流水线并行包括:非对称容器按照时间窗静态调度的容器间流水线所述的基于异构众核处理器的并行编PG中国电子技术有限公司程模型,其特征在于,所述并
行编程模型通过配置容器流水线属性,使所述容器按照时PG中国电子技术有限公司间窗静态调度,遵循固定、循环的
[0001]本发明涉及并行编程模型构建技术领域,具体涉及一种基于异构众核处理器的并
[0002]虽然处理器一直在遵循着摩尔定律快速发展,但是目前计算机系统的计算能力仍
然不能满足人类社会的需求,在气象预报、石油勘探、材料合成、药物研究、地球模拟等众多
领域仍然亟需更快的计算速度来进行科学研究。高性能计算已经成为继理论研究、科学实
验之后的第三大科学手段,并且发挥的作用越来越重要。传统的单核处理器主要依靠提高
主频来获得更快的计算速度,但是由于主频提高后带来的功耗和散热等问题的限制,主频
已很难继续提高。因此,增加计算资源成为提高计算速度的主要方式,在单个芯片上集成更
多的处理器核心已经成为当前处理器设计的主流。目前处理器核心的数目增长很快,尤其
是面向高性能计算领域的处理器已经进入众核时代。相比通用的多核处理器,众核处理器
在片上集成了超出数量级的简化核心,可以提供更高的计算能力、计算密度和性能功耗比。
众核已被业界视为继单核、多核之后处理器发展的第三个时代,它为在今后的一段时间内
继续维持摩尔定律提供了可能。2016年6月,我国自主研制的“神威太湖之光”计算机发布,
其峰值性能、持续性能、性能功耗比3顼关键指标均居世界第一,“太湖之光”的核心器件之
一便是自主设计的SW26010众核处理器。按照集成处理器核种类的不同,众核处理器主要分
为两类:同构众核处理器和异构众核处理器。同构众核处理器是在一个芯片内集成了多个
结构相同、地位对等的处理器核。异构众核处理器则是在一个芯片内集成了多个不同结构
的处理器核。目前,主流的商用众核处理器多为同构众核结构,如Intel的至强Phi协处理器
和NVIDIA公司的GPGPU系列的产品。同构众核主要作为加速器,与通用CPU一起构成高性能
计算系统,对应用的计算密集部分进行加速。但这种方式存在一些不足:CPU与众核处理器
通过PCI‑E接口连接,二者之间的数据传输有较大的延迟,并且数据传输带来了额外的功
耗,松耦合的系统架构降低了高性能计算系统的组装密度。异构众核处理器则在同一芯片
内集成了具有控制管理功能的通用处理器核心和大量用于加速计算的精简计算核心,能够
实现较高的性能功耗比和计算密度,弥补了上述同构众核的不足。首先在处理器内部采用
异构结构的是索尼、东芝和IBM等公司联合开发的Cell处理器。目前各主要处理器厂商已经
开始异构众核处理器的开发或研究工作,如AMD公司的APU、NVIDIA公司牵头的Echolen项
目、Intel公司牵头的Runnemede项目等,采用异构众核处理器是未来构建高性能计算系统
的重要趋势。异构众核架构虽然具有诸多优势,但在单个计算节点内集成大量不同类型的
处理器核心,使得体系结构更加复杂,这给程序设计和编译优化都带来了更大的挑战。从程
序设计和编译优化的角度看,异构众核处理器结构主要有以下特点:一是异构众核处理器
内集成了更多的处理器核心,能够提供更多的计算资源,需要发掘出应用程序中更多的并
行性;二是异构众核处理器为了控制功耗,大多使用了软件管理的SPM(scratchpad
memory),编程时需要用户程序管理SPM空间,显式地控制数据在通用核心和加速计算核心
之间的传输;三是异构众核处理器的SPM由软件管理,不同于以往的硬件Cache,传统的面向
Cache结构的编译优化技术不再适用.这种结构上的复杂性使得在异构众核处理器上的并
[0003]为了解决异构众核处理器的并行编程问题,人们提出了并行编程模型。并行编程
模型是底层体系结构与上层应用程序之间的桥梁,向上隐蔽并行处理器的细节,提供给程
[0004]但是现有基于异构众核处理器的并行编程模型,无法协调统一地表达粗粒度并行
[0005]为了克服现有技术的不足,本发明提供一种基于异构众核处理器的并行编程模型
及其构建方法,用于解决现有基于异构众核处理器的并行编程模型,无法解决综合电子系
统应用中存在的静态与动态之间的矛盾、并行运行与次序依赖之间的矛盾、数据并行与任
务并行之间的矛盾以及独立研发与统一集成之间的矛盾,从而达到为综合电子系统提供良
[0007]一种基于异构众核处理器的并行编程模型的构建方法,包括以下步骤:
[0008]提供一包含多个容器的单核处理器和若干包含多个容器的多核处理器,并基于非
[0009]在所述初始主处理器和所述若干初始从处理器上,基于非对称的对象操作系统方
案进行构建,得到一主处理器和若干从处理器,以使所述并行编程模型既考虑了综合电子
系统应用中所述主处理器与所述从处理器的工作负载,又考虑了所述主处理器与所述从处
理器的使用方式;既能支持任务并行,又能支持处理器静态分配与流水线]其中,在基于非对称的容器方案进行构建时,包括:
[0011]让所述单核处理器中的多个容器分时共用所述单核处理器,让所述多核处理器中
[0013]在所述初始主处理器上采用基于对象模型的单处理器单操作系统,在所述若干初
始从处理器上采用基于对象模型的对称多处理操作系统,并让所述初始主处理器和所述若
干初始从处理器的对象模型保持一致,以使非对称的对象操作系统支持任务并行。
[0015]通过配置容器流水线属性,使所述容器按照时间窗静态调度,遵循固定、循环的准
则实现容器间流水线]作为本发明优选的实施方式,在非对称的对象操作系统支持任务并行时,包括:
[0018]其中,所述软件的属性包括:软件的应用类型、物理需求;所述编译期的任务规划
[0020]将每次编译的软件功能抽象为一个函数,并将支撑所述函数运行的所述若干从处
[0021]当所述主处理器在对所述若干从处理器有预设的并行计算需求时,通过直接启用
[0023]通过所述主处理器运行基于容器/对象的操作系统,为所述操作系统提供空间集
[0024]其中,所述单处理器单操作系统为所述基于容器/对象的操作系统。
[0027]获取信号处理类,并通过所述静态分配部分为所述信号处理类的应用分配固定的
从核处理器集合,以长期稳定的处理信号数据,并在软件层面封装成一个容器,通过所述对
[0028]在所述对称多处理操作系统的统一管理下,通过所述动态调度部分为由并行任务
[0029]其中,所述信号处理类包括:雷达信号处理类、摄像信号处理类以及传感器信号处
[0031]当某一对象需要使用众核提供的高性能并行计算服务时,通过调用事先已经预编
译成函数的并行任务,并通过所述单处理器单操作系统进行资源分配、计算,最后获得计算
[0033]通过为所述若干从处理器的静态分配容器内设置唯一对象抽象,用于与其他对象
[0034]通过所述单处理器单操作系统的容器静态调度进行所述主处理器内容器的运行
调度,提供对象间通信机制用于支持各容器内各个对象间的数据交互,并同时支持各对象
[0036]一主处理器,其通过在一包含多个容器的单核处理器上基于非对称的容器方案进
行构建,得到一初始主处理器后,再通过在所述初始主处理器上基于非对称的对象操作系
[0037]若干从处理器,其通过在若干包含多个容器的多核处理器上基于所述非对称的容
器方案进行构建,得到若干初始从处理器后,再通过在所述若干初始从处理器上基于非对
[0039]让所述单核处理器中的多个容器分时共用所述单核处理器,让所述多核处理器中
[0041]在所述初始主处理器上采用基于对象模型的单处理器单操作系统,在所述若干初
始从处理器上采用基于对象模型的对称多处理操作系统,并让所述初始主处理器和所述若
干初始从处理器的对象模型保持一致,以使所述并行编程模型既考虑了综合电子系统应用
中所述主处理器与所述从处理器的工作负载,又考虑了所述主处理器与所述从处理器的使
用方式;既能支持任务并行,又能支持处理器静态分配与流水线]所述并行编程模型由编译器负责核内向量并行,由操作系统负责核间任务并行和
流水线并行,所述任务并行包括:操作系统内的多任务并行、基于函数和协处理器的任务并
行,所述流水线并行包括:非对称容器按照时间窗静态调度的容器间流水线]作为本发明优选的实施方式,所述并行编程模型通过配置容器流水线属性,使所
述容器按照时间窗静态调度,遵循固定、循环的准则实现容器间流水线]相比现有技术,本发明的有益效果在于:
[0045](1)本发明针对异构众核处理器构建操作系统与编译器的并行编程模型,总体模
型是由编译器负责核内向量并行,由操作系统负责核间任务并行与流水线并行,并且在本
发明所提供的并行编程模型中,由于编译器具备核内SIMD并行能力,故只需构建操作系统
负责核间任务并行和流水线)本发明所提供的并行编程模型能够协调统一地表达粗粒度并行和细粒度并
行、任务并行和数据并行、并行和串行执行,并且统筹考虑编程语言(编译器)和操作系统,
在编程语言中增加细粒度和数据并行支持,在操作系统中对粗粒度和任务并行提供支持,
[0048]图1是本发明所提供的基于异构众核处理器的并行编程模型的构建方法步骤图;
[0049]图2是本发明实施例的基于异构众核处理器的操作系统与编译器协同的并行编程
[0050]附图标号说明:1、主处理器;2、从处理器;3、静态分配部分;4、动态调度部分;5、
[0051]本发明所提供的基于异构众核处理器的并行编程模型的构建方法,如图1所示,包
[0052]步骤S1:提供一包含多个容器6的单核处理器和若干包含多个容器6的多核处理
器,并基于非对称的容器方案进行构建,得到一初始主处理器和若干初始从处理器;
[0053]步骤S2:在初始主处理器和若干初始从处理器上,基于非对称的对象操作系统方
案进行构建,得到一主处理器1和若干从处理器2,以使并行编程模型既考虑了综合电子系
统应用中主处理器1与从处理器2的工作负载,又考虑了主处理器1与从处理器2的使用方
式;既能支持任务并行,又能支持处理器静态分配与流水线]其中,在基于非对称的容器方案进行构建时,包括:
[0055]让单核处理器中的多个容器6分时共用单核处理器,让多核处理器中的单个容器6
[0057]在初始主处理器上采用基于对象模型的单处理器单操作系统,在若干初始从处理
器上采用基于对象模型的对称多处理操作系统,并让初始主处理器和若干初始从处理器的
[0058]具体地,在上述步骤S1中,单核处理器包括单核ARM处理器,多核处理器包括多核
[0060]通过配置容器流水线属性,使容器按照时间窗静态调度,遵循固定、循环的准则实
[0063]其中,软件的属性包括:软件的应用类型、物理需求;编译期的任务规划包括:所需
[0065]将每次编译的软件功能抽象为一个函数,并将支撑函数运行的若干从处理器2抽
[0066]当主处理器1在对若干从处理器2有预设的并行计算需求时,通过直接启用相应的
[0068]通过主处理器1运行基于容器/对象的操作系统,为操作系统提供空间集成、时间
[0072]获取信号处理类,并通过静态分配部分3为信号处理类的应用分配固定的从核处
理器集合,以长期稳定的处理信号数据,并在软件层面封装成一个容器6,通过对称多处理
[0073]在对称多处理操作系统的统一管理下,通过动态调度部分4为由并行任务编译而
[0074]其中,信号处理类包括:雷达信号处理类、摄像信号处理类以及传感器信号处理
[0076]当某一对象需要使用众核提供的高性能并行计算服务时,通过调用事先已经预编
译成函数的并行任务,并通过单处理器单操作系统进行资源分配、计算,最后获得计算结
[0078]通过为若干从处理器2的静态分配容器6内设置唯一对象抽象,用于与其他对象进
[0079]通过单处理器单操作系统的容器静态调度进行主处理器1内容器6的运行调度,提
供对象间通信机制用于支持各容器6内各个对象间的数据交互,并同时支持各对象与若干
[0080]本发明所提供的基于异构众核处理器的并行编程模型,包括:一主处理器1和若干
[0081]主处理器1,其通过在一包含多个容器6的单核处理器上基于非对称的容器方案进
行构建,得到一初始主处理器后,再通过在初始主处理器上基于非对称的对象操作系统方
[0082]若干从处理器2,其通过在若干包含多个容器6的多核处理器上基于非对称的容器
方案进行构建,得到若干初始从处理器后,再通过在若干初始从处理器上基于非对称的对
[0084]让单核处理器中的多个容器6分时共用单核处理器,让多核处理器中的单个容器6
[0086]在初始主处理器上采用基于对象模型的单处理器单操作系统,在若干初始从处理
器上采用基于对象模型的对称多处理操作系统,并让初始主处理器和若干初始从处理器的
对象模型保持一致,以使并行编程模型既考虑了综合电子系统应用中主处理器1与从处理
器2的工作负载,又考虑了主处理器1与从处理器2的使用方式;既能支持任务并行,又能支
持处理器静态分配与流水线]本发明所提供的并行编程模型由编译器7负责核内向量并行,将编译的软件功能
抽象成“函数”,将从处理器5抽象成“协处理器”,然后由主处理器1调度“协处理器”来并行
执行被抽象成“函数”的软件功能,以此来实现任务并行。此外任务并行还包括操作系统内
[0088]进一步地,本发明所提供的并行编程模型通过配置容器流水线属性,使容器按照
时间窗静态调度,遵循固定、循环的准则实现容器间流水线]以下的实施例是对本发明的进一步说明,但本发明的范围并不限制于此。
[0090]一、容器6的静态分配与流水线]在本实施例所提供的并行编程模型中,将ARM核上运行的虚拟机客户端操作系统
视为一个容器6,将分配固定的DSP从核处理器集合,在软件层面封装成一个容器6。
[0092]针对异构众核处理器特点,本实施例的并行编程模型设计了非对称的容器方案来
支持静态分配与流水线并行。在非对称的容器方案中,在主处理器1(单核ARM处理器)上采
用多个容器6分时共用一个处理器的设计,在从处理器2上(多核DSP处理器)采用一个容器6
[0093]其中,多个容器6分时共用一个处理器的设计:即采用虚拟机技术构建容器6模型,
并将虚拟机上运行的客户端操作系统视为一个容器6,然后多个容器6分时共用一个处理
[0094]一个容器6同时共用多个DSP核心5的设计:即采用在硬件层面上将多个DSP核分为
一组,在软件层面将运行在多个DSP核上的SMP系统封装成一个容器6,将该容器6看成是一
个应用软件的执行单元,以此实现一个容器6同时共用多个DSP核心5的设计。
[0095]上述设计既考虑了综合电子系统应用中主处理器1与从处理器2的工作负载,又考
虑了主处理器1与从处理器2的使用方式;既能支持静态分配与流水线并行,又能支持不同
[0096]本实施例在非对称的容器方案基础上,还设计了非对称的对象操作系统(一种支
持SMP的RTOS)方案来支持任务并行。在非对称的对象操作系统方案中,在主处理器1(单核
ARM处理器)上采用单处理器单操作系统的设计,在从处理器2上(多核DSP处理器)采用对称
多处理(SMP)操作系统设计,但两者模型保持一致。该设计既能支持任务并行,又能支持异
[0098]基于SMP的对象模型操作系统能通过多对象(可视为多线程)并行执行的形式完成
任务并行。此外编译器7根据软件的应用类型、物理需求等属性完成编译期的任务规划,包
括需要从核的数量、每一个从核的执行代码等等。在这种情况下,将每次编译的软件功能抽
象为一个“函数”,而支撑这个“函数”运行的物理环境(若干个从核)抽象为“协处理器”。在
众核异构处理器上当主核在对从核有特定并行计算的需求时,可以直接启用相应的“协处
理器”来完成配套“函数”的运行,并最终获得“函数”结果,以此种形式完成任务并行。
[0100]基于众核异构处理器的操作系统与编译器7协同的并行编程模型,如图2所示。
[0101](1)主核运行基于容器/对象概念的操作系统(一种支持SMP的RTOS),为操作系统
提供空间集成、时间隔离的机制,不同安全关键等级的软件可以集成在一套物理环境中,实
[0102](2)从核分为静态分配部分3以及动态调度部分4,其中静态分配部分3将分别针对
不同信号处理类的应用为其分配固定的从核处理器集合,长期稳定的处理该类信号数据,
并在软件层面封装成一个容器6,通过操作系统提供的通信机制与其他容器6内的对象进行
实时的数据交互;动态调度部分4则在操作系统的统一管理下,为由并行任务编译而成的
[0103]其中,不同信号处理类包括:雷达信号处理类、摄像信号处理类以及传感器信号处
[0104]雷达信号处理类来自雷达8所传输的信号流,摄像信号处理类来自摄像9所传输的
[0105](3)当某一对象需要使用众核提供的高性能并行计算服务时,则调用事先已经预
编译成“函数”的“并行任务”,通过操作系统的资源分配、计算,最后获得计算结果。
[0106](4)从核静态分配容器6内可认为只有一个对象抽象,具备与其他对象的数据交互
能力。操作系统的容器静态调度将调度主核内的容器6运行,提供的对象间通信机制将支持
各容器6内各个对象间的数据交互,并同时支持各对象与从核静态分配容器6之间的数据交
[0107]上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,
本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所
2、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问加。
3、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
4、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
基于高精度传感与智能算法的气动锚杆钻机凿岩机性能参数测试仪设计研究.docx
雷克萨斯-Lexus RX-产品使用说明书-RX450h-GYL25L-AWXGBC2-RX450hOM_OM48E57C_1510.pdf
Selected Stories of Lu Hsun By Lu Hsun 英文版鲁迅全集.doc
2025年度民主生活会“带头强化政治忠诚提高政治能力方面”五个带头常见存在问题清单.docx
原创力文档创建于2008年,本站为文档C2C交易模式,即用户上传的文档直接分享给其他用户(可下载、阅读),本站只是中间服务平台,本站所有文档下载所得的收益归上传人所有。原创力文档是网络服务平台方,若您的权利被侵害,请发链接和相关诉求至 电线) ,上传者