[发明专利]一种多线程并行处理方法、装置及存储介质在审
申请号: | 202210051613.2 | 申请日: | 2022-01-17 |
公开(公告)号: | CN114416364A | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 李森;孙路遥 | 申请(专利权)人: | 深圳星云智联科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 李光金 |
地址: | 518000 广东省深圳市龙华区民*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 并行 处理 方法 装置 存储 介质 | ||
本申请实施例提供一种多线程并行处理方法、装置及存储介质,所述方法包括:启动线程池,线程池包括管理线程和多个工作线程;获取任务列表,任务列表包括多个待执行任务;通过管理线程将任务列表中的至少一个待执行任务分配给多个工作线程中的第一工作线程;触发多个工作线程,通过第一工作线程执行至少一个待执行任务,以及,通过多个工作线程之间并行执行多个待执行任务;当第一工作线程的至少一个待执行任务执行完毕时,通过管理线程将第一工作线程回收至线程池中。通过所述方法,将原有单核循环控制方式扩展成可以部署在多核系统上的并行机制,减少了任务执行周期循环过程中因线程切换带来的巨大开销,从而提升系统仿真效率。
技术领域
本发明涉及及通信技术领域,具体涉及一种多线程并行处理方法、装置及存储介质。
背景技术
SystemC是一种基于C++设计的开源电子系统级(Electronic System Level,ESL)建模语言,利用SystemC可以很方便地构建事务级建模(Trans a ctionLevelModeling,TLM)、时序近似(Cycle Approximate,CX)和时序精确(Cycle Accurate,CA)等各级别的ESL模型,并基于这些ESL模型构建片上系统(System on Chip,SoC),以完成芯片架构探索、验证和支持软件早期开发等工作。
现有的SystemC内核在仿真过程中,采用单核绑定的串行调度训话策略,一方面,不同任务之间的串行存在线程安全的的问题;另一方面,无法享受到日益普及的多核处理器(MPSoC)性能优势,尤其是面对仿真运算量大、吞吐量大、时钟频率高的IP模型,这个局限性极大地降低了仿真效率,成为仿真应用的支撑更多场景的阻碍。
发明内容
本申请的一个目的在于提供一种多线程并行处理方法,所述方法是基于同步并行仿真模型的加速技术,将原有的单核串行循环调度方式扩展成可以部署在多核系统上的同步并行机制,并利用基于核绑定技术实现的主从模型实现了线程池化机制;并且,配合仿真任务并行分配策略:通过邻近性、相关性、负载均衡等策略进行仿真任务并行分配,达成线程安全、消除并行同步的最长等待以及仿真精度下降问题,减少了执行期循环过程中因线程切换带来的巨大开销,从而提升系统仿真效率。
本申请的另一个目的在于提供一种多线程并行处理装置。
本申请的另一个目的在于提供一种计算机可读存储介质。
本申请的另一个目的在于提供一种计算机程序产品。
为达到上述目的,本申请第一方面实施例提供一种多线程并行处理方法,所述方法包括:
启动线程池,所述线程池包括管理线程和多个工作线程;
获取任务列表,所述任务列表包括多个待执行任务;
通过所述管理线程将所述任务列表中的至少一个待执行任务分配给所述多个工作线程中的第一工作线程;
通过所述管理线程触发所述多个工作线程,通过所述第一工作线程执行所述至少一个待执行任务,以及,通过所述多个工作线程之间并行执行所述多个待执行任务;
当所述第一工作线程的所述至少一个待执行任务执行完毕时,通过所述管理线程将所述第一工作线程回收至所述线程池中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳星云智联科技有限公司,未经深圳星云智联科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210051613.2/2.html,转载请声明来源钻瓜专利网。