[发明专利]用于执行多线程系统的子线程的方法和多线程系统有效
申请号: | 201911227804.4 | 申请日: | 2019-12-04 |
公开(公告)号: | CN111078289B | 公开(公告)日: | 2021-11-23 |
发明(设计)人: | 文兴植;付鹏 | 申请(专利权)人: | 北京奕斯伟智慧技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/48;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 杨华 |
地址: | 100744 北京市通州区北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 执行 多线程 系统 线程 方法 | ||
针对多线程系统提出了本申请的各方面,该多线程系统被配置成有效地处理动态线程增殖。在执行程序过程中,增殖子线程时,父线程可能需要使用子线程ID进行初始化。然而,要获取子线程ID,可能需要生成子线程,并且一旦子线程被生成,即使在初始化完成之前也可能立即执行该子线程,从而导致错误。本申请引入了一种有效节约内存的解决方案,该方案采用控制电路来控制何时子线程可以被执行并且仍旧使父线程能够获得子线程ID。
本申请要求于2018年12月4日提交的名称为“SYSTEM AND METHOD FOR HANDLINGDEPENDENCIES IN DYNAMIC THREAD SPAWNING FOR A MULTI-THREADING PROCESSOR”的美国临时申请16/209,663的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请的主题一般地涉及并行处理环境中的多线程处理。更具体地,本申请主题涉及用于执行多线程系统的子线程的方法和多线程系统。
背景技术
并行处理可以是计算机处理中非常强大的架构。为了提高规模,设计一种能源和资源高效的系统架构是重要的,因为低效的缺陷可能会被极大地放大到超大规模系统。
发明内容
针对多线程系统提出了本申请的各方面,该多线程系统被配置成从父线程动态地增殖子线程以操作一个或更多个软件程序。在一些实施方式中,提出了一种用于执行多线程系统的子线程的方法。该多线程系统可以包括主线程控制单元(master thread controlunit,MTCU)、多个线程控制单元(TCU)以及存储低线程父寄存器、高线程父寄存器和至少一个子ID寄存器的存储器。该方法可以包括:通过MTCU初始化第一父并行线程,该第一父并行线程具有在低线程父寄存器与高线程父寄存器之间且包括低线程父寄存器和高线程父寄存器的第一父ID值;通过MTCU初始化第二父并行线程,该第二父并行线程具有在低线程父寄存器与高线程父寄存器之间且包括低线程父寄存器和高线程父寄存器的第二ID值,该第二ID值与第一父ID值不同;通过第一TCU与所执行的第一父并行线程并行地执行第二父并行线程;通过第一TCU生成第一子并行线程,第一子并行线程具有比高线程父寄存器高一个值的第一子ID值;通过第二TCU生成第二子并行线程,第二子并行线程具有比第一子ID值高一个值的第二子ID值;将第一子ID值存储在至少一个子ID寄存器中;将第二子ID值存储在至少一个子ID寄存器中;通过第一TCU初始化第一子并行线程;通过第二TCU初始化第二子并行线程;在第一子并行线程完成初始化之前,通过第一TCU使用至少一个子ID寄存器访问第一子ID值;在第二子并行线程完成初始化之前,通过第二TCU使用至少一个子ID寄存器访问第二子ID值;在第一子并行线程或第二子并行线程已完成初始化之后,通过MTCU使高线程父寄存器递增一;通过第三TCU执行已完成初始化的第一子并行线程或第二子并行线程。
在该方法的一些实施方式中,多线程系统还包括控制电路,并且该方法还包括:通过第二TCU向控制电路发送第二子并行线程已经完成初始化的指示;通过控制电路确定第一子并行线程尚未完成初始化;以及通过控制电路防止第一子并行线程和第二子并行线程二者执行,直到控制电路接收到第一子并行线程也已经完成初始化的指示。
在一些实施方式中,该方法还包括:通过第一TCU向控制电路发送第一子并行线程已经完成初始化的指示;以及响应于第二子并行线程已经完成初始化的指示以及第一子并行线程已经完成初始化的指示的发送,通过控制电路引起第一子并行线程和第二子并行线程的执行。
在一些实施方式中,该方法还包括:在第二子并行线程已经完成初始化的指示和第一子并行线程已完成初始化的指示的发送之后,通过控制电路使高线程父寄存器再递增一,以使总增量为二。
在该方法的一些实施方式中,控制电路包括子ID向量,该子ID向量包括多个位,其中,多个位中的每一个对应于子并行线程是否被初始化的指示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奕斯伟智慧技术有限公司,未经北京奕斯伟智慧技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911227804.4/2.html,转载请声明来源钻瓜专利网。