【技术实现步骤摘要】
一种隐藏异构编程多线程的关联结构及其映射方法
[0001]本专利技术涉及计算机编程语言
,特别涉及一种隐藏异构编程多线程的关联结构及其映射方法
。
技术介绍
[0002]在多线程编程中,线程和计算资源之间的关联结构对程序的性能有着重要的影响
。
传统的多线程编程模型中,线程和计算资源之间的关联结构是显式的,即程序员需要手动指定线程和计算资源之间的映射关系
。
这种显式的关联结构存在着以下缺点:一方面,程序员需要具备较高的编程能力和经验,才能设计出高效的映射关系;另一方面,显式的关联结构会导致程序的可移植性较差,因为在不同的计算平台上,映射关系需要重新设计和实现
。
技术实现思路
[0003]本专利技术的目的在于提供一种隐藏异构编程多线程的关联结构及其映射方法,以解决上述
技术介绍
中提出的问题
。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种隐藏异构编程多线程的关联结构,所述关联结构包括线程池
、
任务队列
、
资源管理器和隐式关联结构;
[0005]所述线程池用于管理线程的创建和销毁,以及线程的调度和执行;
[0006]所述任务队列用于存储需要执行的任务,线程从任务队列中获取任务并执行;
[0007]所述资源管理器用于监测和管理计算资源,包括
CPU、GPU
和
FPGA
,以及它们之间的数据传输;
[0008]所述隐式关联 ...
【技术保护点】
【技术特征摘要】
1.
一种隐藏异构编程多线程的关联结构,其特征在于,所述关联结构包括线程池
、
任务队列
、
资源管理器和隐式关联结构;所述线程池用于管理线程的创建和销毁,以及线程的调度和执行;所述任务队列用于存储需要执行的任务,线程从任务队列中获取任务并执行;所述资源管理器用于监测和管理计算资源,包括
CPU、GPU
和
FPGA
,以及它们之间的数据传输;所述隐式关联结构用于描述不同任务之间的依赖关系,以及任务和计算资源之间的映射关系
。2.
根据权利要求1所述的一种隐藏异构编程多线程的关联结构,其特征在于,所述线程池包括线程池管理器
、
工作队列
、
线程池线程;所述线程池管理器用于线程池的创建
、
销毁和管理操作;所述工作队列用于存放需要执行的任务;所述线程池线程为线程池中的工作线程,用于执行工作队列中的任务
。3.
根据权利要求2所述的一种隐藏异构编程多线程的关联结构,其特征在于,所述线程池的表现形式包括固定大小线程池
、
可变大小线程池和定时线程池
。4.
根据权利要求1所述的一种隐藏异构编程多线程的关联结构,其特征在于,所述任务队列包括任务单元
、
队列头指针和队列尾指针以及任务队列锁;所述任务单元包含待执行的任务及其相关的元数据;所述队列头指针指向任务队列中的第一个任务单元,所述队列尾指针指向任务队列中的最后一个任务单元;所述用于保护任务队列的访问,防止多个线程同时对任务队列进行修改
。5.
根据权利要求4所述的一种隐藏异...
【专利技术属性】
技术研发人员:董贇,张丽媛,艾徐华,银源,刘凯杰,谭期文,杨崇富,
申请(专利权)人:广西电网有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。