一种隐藏异构并行编程中的多线程的关联结构及其映射方法技术

技术编号:39320211 阅读:10 留言:0更新日期:2023-11-12 16:01
本发明专利技术公开了一种隐藏异构并行编程中的多线程的关联结构及其映射方法,包括多线程关联系统,多线程关联系统包括多线程控制系统、多线程任务系统、多线程线池系统和多线路实体系统,多线程任务系统包括父线任务模块、子线任务模块、交汇处理模块、并联运行模块、串联运动模块和线程列队模块,串联运动模块包括子线选入模块、运行方向模块、子线插入模块、位置插入模块和计算规划模块。本发明专利技术利用一种隐藏异构并行编程中的多线程的关联结构及其映射方法,其通过多线程控制系统、多线程任务系统、多线程线池系统和多线路实体系统配合工作,从而多线程关联系统通过将任务清晰地分配到不同的线程中,提供了高效的任务处理。提供了高效的任务处理。提供了高效的任务处理。

【技术实现步骤摘要】
一种隐藏异构并行编程中的多线程的关联结构及其映射方法


[0001]本专利技术涉及多线程领域,特别涉及一种隐藏异构并行编程中的多线程的关联结构及其映射方法。

技术介绍

[0002]最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态,从程序设计语言的角度看,多线程操作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器,程序在逻辑意义上被分割为数个线程,假如机器本身安装了多个处理器,那么程序会运行得更快,无需作出任何特殊的调校,如果有多个线程同时运行,而且它们试图访问相同的资源。
[0003]但是对个线程同时运行会遇到一个问题,两个线程不能将信息同时发送给一台设备,为解决这个问题,对那些可共享的资源来说,它们在使用期间必须进入锁定状态,所以一个线程可将资源锁定,不便于对两个交互的线程进行合并运行。

技术实现思路

[0004]本专利技术的目的在于提供一种隐藏异构并行编程中的多线程的关联结构及其映射方法,以解决上述
技术介绍
中提出的问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种隐藏异构并行编程中的多线程的关联结构及其映射方法,包括多线程关联系统,所述多线程关联系统包括多线程控制系统、多线程任务系统、多线程线池系统和多线路实体系统;
[0006]所述多线程任务系统包括父线任务模块、子线任务模块、交汇处理模块、并联运行模块、串联运动模块和线程列队模块;
[0007]所述串联运动模块包括子线选入模块、运行方向模块、子线插入模块、位置插入模块和计算规划模块。
[0008]优选的,所述父线任务模块和子线任务模块分别用于确定多线程中的主线任务和子线任务;
[0009]所述交汇处理模块用于对具有交汇的主线任务和子线任务信息提出,以便于对其后续的同步运行处理;
[0010]所述并联运行模块和串联运动模块用于确定具有交汇的主线任务和子线任务运行方式。
[0011]优选的,所述子线选入模块用于选入与父线任务具有交汇的子线任务,以便于后续父线任务与子线任务交汇运行;
[0012]所述运行方向模块用于确定具有交汇任务的父线任务与子线任务运行的方向;
[0013]所述子线插入模块和位置插入模块用于确定子线任务与父线任务交汇运行时的位置以及将子线任务插入父线任务运行时指定步骤之中;
[0014]所述计算规划模块用于确定父线任务与子线任务运行时的步骤和方法。
[0015]优选的,所述多线程控制系统包括子线程模块、属性分级模块、属性输出模块、属性输入模块、ID赋值模块和线程监控模块。
[0016]优选的,所述子线程模块用于建设多个任务线程,以便于编程中的任务运行;
[0017]所述属性分级模块用于将数据分化为输入属性和输出属性,计算过程中被修改或作为计算结果的数据都被指定为输出属性,被计算过程读取而不进行修改的数据为输入属性;
[0018]所述属性输出模块和属性输入模块用于将数据输出和输入;
[0019]所述ID赋值模块用于线程运行的任务位置ID进行赋值;
[0020]所述线程监控模块用于对多线程程序运行进行监测,以保证程序的正常运行。
[0021]优选的,所述多线程线池系统包括线程创建模块、线程池组件模块、大小调节模块、多线程运行模块、数据拷贝模块和数据储存模块。
[0022]优选的,所述线程创建模块用于创建多线程运动的多个线程,从而便于多线程系统的运行;
[0023]所述线程池组件模块用于对多个线程创建模块的多个线程进行建组归类管理;
[0024]所述大小调节模块用于对线程的数量进行调节,从而改变线池组的大小,从而合理的利用数据资源;
[0025]所述数据拷贝模块和数据储存模块用于对线程运动的数据进行拷贝储存,避免数据的丢失。
[0026]优选的,所述多线程关联系统、多线程控制系统、多线程任务系统、多线程线池系统和多线路实体系统建立连接,所述多线程控制系统、子线程模块、属性分级模块、属性输出模块、属性输入模块、ID赋值模块和线程监控模块建立连接,所述多线程任务系统、父线任务模块、子线任务模块、交汇处理模块、并联运行模块、串联运动模块和线程列队模块建立连接,所述串联运动模块、子线选入模块、运行方向模块、子线插入模块、位置插入模块和计算规划模块建立连接,所述多线程线池系统、线程创建模块、线程池组件模块、大小调节模块、多线程运行模块、数据拷贝模块和数据储存模块建立连接。
[0027]一种隐藏异构并行编程中的多线程的映射方法,以下步骤:
[0028]步骤一:解析构成计算任务的数据、关联结构和计算过程,确定数据规模以及关联结构所定义的数据输入输出属性、独立的数据划分属性;
[0029]步骤二:根据数据规模确定各个独立的数据划分属性所提供的并行度,对于元素属性,其并行度为其标识的数据集的元素数量,对于子集属性,根据数据规模和处理单元的数量指定切分数量;
[0030]步骤三:确定有关联的父线任务与子线任务,并且根据其运行状态确定其关联运行状态;
[0031]步骤四:父线任务与子线任务并联时,其同步运行;
[0032]步骤五:父线任务与子线任务串联时,确定其运行方向,根据父线任务中子线任务插入的位置,将子线任务插入父线任务中进行运行;
[0033]步骤六:检查未输出属性的数据,若其划分属性为全集属性时,需要添加临界区,将数据访问原子化,在计算完成后,进行数据拷回,保证整个执行过程的正确结束。
[0034]本专利技术的技术效果和优点:
[0035]本专利技术利用一种隐藏异构并行编程中的多线程的关联结构及其映射方法,其通过多线程控制系统、多线程任务系统、多线程线池系统和多线路实体系统配合工作,从而多线程关联系统通过将任务清晰地分配到不同的线程中,提供了高效的任务处理、更快的响应速度和较高的系统吞吐量,同时多线程控制器和多线程任务队列提供了可靠的线程管理和同步机制,避免了安全问题和资源冲突。
附图说明
[0036]图1为本专利技术多线程关联系统框图。
[0037]图2为本专利技术多线程控制系统框图。
[0038]图3为本专利技术多线程任务系统框图。
[0039]图4为本专利技术串联运动模块框图。
[0040]图5为本专利技术多线程线池系统框图。
[0041]图中:1、多线程关联系统;11、多线程控制系统;111、子线程模块;112、属性分级模块;113、属性输出模块;114、属性输入模块;115、ID赋值模块;116、线程监控模块;12、多线程任务系统;121、父线任务模块;122、子线任务模块;123、交汇处理模块;124、并联运行模块;125、串联运动模块;1251、子线选入模块;1252、运行方向模块;1253、子线插入模块;1254、位置插入模块;1255、计算规划模块;126、线程列队本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种隐藏异构并行编程中的多线程的关联结构,包括多线程关联系统(1),其特征在于,所述多线程关联系统(1)包括多线程控制系统(11)、多线程任务系统(12)、多线程线池系统(13)和多线路实体系统(14);所述多线程任务系统(12)包括父线任务模块(121)、子线任务模块(122)、交汇处理模块(123)、并联运行模块(124)、串联运动模块(125)和线程列队模块(126);所述串联运动模块(125)包括子线选入模块(1251)、运行方向模块(1252)、子线插入模块(1253)、位置插入模块(1254)和计算规划模块(1254)。2.根据权利要求1所述的一种隐藏异构并行编程中的多线程的关联结构,其特征在于,所述父线任务模块(121)和子线任务模块(122)分别用于确定多线程中的主线任务和子线任务;所述交汇处理模块(123)用于对具有交汇的主线任务和子线任务信息提出,以便于对其后续的同步运行处理;所述并联运行模块(124)和串联运动模块(125)用于确定具有交汇的主线任务和子线任务运行方式。3.根据权利要求1所述的一种隐藏异构并行编程中的多线程的关联结构,其特征在于,所述子线选入模块(1251)用于选入与父线任务具有交汇的子线任务,以便于后续父线任务与子线任务交汇运行;所述运行方向模块(1252)用于确定具有交汇任务的父线任务与子线任务运行的方向;所述子线插入模块(1253)和位置插入模块(1254)用于确定子线任务与父线任务交汇运行时的位置以及将子线任务插入父线任务运行时指定步骤之中;所述计算规划模块(1254)用于确定父线任务与子线任务运行时的步骤和方法。4.根据权利要求1所述的一种隐藏异构并行编程中的多线程的关联结构,其特征在于,所述多线程控制系统(11)包括子线程模块(111)、属性分级模块(112)、属性输出模块(113)、属性输入模块(114)、ID赋值模块(115)和线程监控模块(116)。5.根据权利要求4所述的一种隐藏异构并行编程中的多线程的关联结构,其特征在于,所述子线程模块(111)用于建设多个任务线程,以便于编程中的任务运行;所述属性分级模块(112)用于将数据分化为输入属性和输出属性,计算过程中被修改或作为计算结果的数据都被指定为输出属性,被计算过程读取而不进行修改的数据为输入属性;所述属性输出模块(113)和属性输入模块(114)用于将数据输出和输入;所述ID赋值模块(115)用于线程运行的任务位置ID进行赋值;所述线程监控模块(116)用于对多线程程序运行进行监测,以保证程序的正常运行。6.根据权利要求1所述的一种隐藏异构并行编程中的多线程的关联结构,其特征在于,所述多线程线池系统(13)包括线程创建模...

【专利技术属性】
技术研发人员:董贇艾徐华蒙琦银源刘凯杰张丽媛杨崇富
申请(专利权)人:广西电网有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1