一种面向众核系统的多线程调度方法及系统技术方案

技术编号:15791753 阅读:50 留言:0更新日期:2017-07-09 21:57
本发明专利技术公开了一种面向众核系统的多线程调度方法,所述方法包括:获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价;获取预设的第一多线程集合中每两个线程之间的第一通信量;根据所述第一通信量,获取单个线程的第二通信量,其中,所述第二通信量为所述线程到所述第一多线程集合中每个线程的通信量与所述第一多线程集合中每个线程到所述线程的通信量之和;根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中。本发明专利技术提供的多线程调度方法及系统解决了现有技术中的采用片上网络的互连结构实现的众核系统存在任务执行效率低、执行时间长技术问题。

【技术实现步骤摘要】
一种面向众核系统的多线程调度方法及系统
本专利技术涉及计算机
,尤其涉及一种面向众核系统的多线程调度方法及系统。
技术介绍
随着计算机技术的发展,多核处理器也得到了较大的发展,早期的对称多处理器(SMP)多是采用在同一计算机上汇集一组CPU的方式,它们之间共享内存子系统以及总线结构。之后由于纳米级制造工艺的引入,SMP开始转变为单芯片多处理器(ChipMultiprocessor,CMP),即在同一芯片上集成多个处理核心,形成了现在我们所说的多核处理器。多核心之间直接共享缓存以及总线结构,可以降低线延迟,提高通讯效率。当多核系统中的处理器核持续增加时,就出现了众核系统。众核系统中具有更多的处理器核。目前片上高效通信机制通常包括基于共享总线的cache结构和基于片上网络的互连结构。基于共享总线的cache结构是指每个处理核拥有共享的二级或三级cache,用于保存比较常用的数据,并通过总线进行通信。这种系统的优点是结构简单,通信速度快;缺点是可扩展性差。共享总线显然无法满足大规模系统的需要。把互连网络用于片上系统设计,解决片上组件之间的通讯问题,这就是片上网络。片上网络(NetworkOnChip,NoC)技术以其支持同时访问、可靠性高、可重用性高等特点被认为是更加理想的大规模CMP互连技术。片上网络克服了总线结构可扩展性差的缺点,为10亿晶体管时代提供了一种可行的片上系统通讯机制。本申请专利技术人在实现本专利技术的技术方案时,发现现有技术中至少存在如下问题:在目前的众核系统中,由于处理器核的数量多,使得多核多线程的并行性极大提升,急剧增加了核间的通信量,使得处理器由“计算密集型”转为“通信密集型”,现有的众核系统的通信方法一般考虑的是具体的体系结构特性,基于片上网络的互连结构虽然在一定程度上克服了总线结构可扩展性差,但是并未针对众核系统中运行的多线程任务进行分析,由于众核系统的利用效率低,导致任务执行效率低、执行时间长。可见,现有技术中的采用片上网络的互连结构实现的众核系统存在任务执行效率低、执行时间长技术问题。
技术实现思路
本专利技术实施例提供一种面向众核系统的多线程调度方法及系统,用以解决现有技术中的采用片上网络的互连结构实现的众核系统存在任务执行效率低、执行时间长技术问题。第一方面,本专利技术公开了一种面向众核系统的多线程调度方法,所述方法包括:获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价,其中,所述第一处理器核、第二处理器核为处理器核集合中的任意两个处理器核;获取预设的第一多线程集合中每两个线程之间的第一通信量;根据所述第一通信量,获取单个线程的第二通信量,其中,所述第二通信量为所述线程到所述第一多线程集合中每个线程的通信量与所述第一多线程集合中每个线程到所述线程的通信量之和,所述线程为所述第一多线程集合中的任意线程;根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中。可选的,所述获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价,包括:获取所述第一处理器核到所述第二处理核的第一通信代价;获取所述第二处理器核到所述第一处理核的第二通信代价;以所述第一通信代价与所述第二通信代价的总和作为所述通信代价。可选的,所述获取所述第一处理器核到所述第二处理核的第一通信代价,包括:获取所述第一处理器核到所述第二处理核之间的物理通路数;获取所述第一处理器核到所述第二处理核之间每条物理通路的第三通信代价;对所述第三通信代价求和,获取第三通信代价总和;以所述第三通信代价总和与所述物理通路数的比值作为所述第一通信代价。可选的,所述根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中,包括:根据所述通信代价所有处理器核进行排序,获得通信代价集合;根据所述第二通信量对所有线程进行排序,获得第二多线程集合;将所述第二多线程集合中第二通信量最大的线程调度到所述通信代价集合中通信代价最小的处理器核中。可选的,在所述将所述第二多线程集合中第二通信量最大的线程调度到所述通信代价集合中通信代价最小的处理器核中之前,还包括:如果所述第二多线程集合不为空,且所述通信代价集合不为空;判断所述通信代价集合中通信代价最小的处理器核是否被分配;如果所述处理器核未被分配,则将所述线程调度到所述处理器核中。可选的,在所述将所述第二多线程集合中第二通信量最大的线程调度到所述通信代价集合中通信代价最小的处理器核中之后,还包括:删除所述通信代价集合中通信代价最小的处理器核;删除所述第二线程集合中第二通信量最大的线程。基于同样的专利技术构思,本专利技术还提供了一种面向众核系统的多线程调度系统,所述系统包括:第一获取模块,用于获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价,其中,所述第一处理器核、第二处理器核为处理器核集合中的任意两个处理器核;第二获取模块,用于获取预设的第一多线程集合中每两个线程之间的第一通信量;第三获取模块,用于根据所述第一通信量,获取单个线程的第二通信量,其中,所述第二通信量为所述线程到所述第一多线程集合中每个线程的通信量与所述第一多线程集合中每个线程到所述线程的通信量之和,所述线程为所述第一多线程集合中的任意线程;调度模块,用于根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中。可选的,所述第一获取模块还用于:获取所述第一处理器核到所述第二处理核的第一通信代价;获取所述第二处理器核到所述第一处理核的第二通信代价;以所述第一通信代价与所述第二通信代价的总和作为所述通信代价。可选的,所述获取所述第一处理器核到所述第二处理核的第一通信代价,包括:获取所述第一处理器核到所述第二处理核之间的物理通路数;获取所述第一处理器核到所述第二处理核之间每条物理通路的第三通信代价;对所述第三通信代价求和,获取第三通信代价总和;以所述第三通信代价总和与所述物理通路数的比值作为所述第一通信代价。可选的,所述调度模块还用于:根据所述通信代价所有处理器核进行排序,获得通信代价集合;根据所述第二通信量对所有线程进行排序,获得第二多线程集合;将所述第二多线程集合中第二通信量最大的线程调度到所述通信代价集合中通信代价最小的处理器核中。本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请实施例提供的面向众核系统的多线程调度方法及系统,首先获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价;并获取预设的第一多线程集合中每两个线程之间的第一通信量;然后根据所述第一通信量,获取单个线程的第二通信量,最后根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中,本申请从多线程任务执行流的角度来分析并进行优化,从处理器核之间的通信代价和线程之间的通信量进行分析,可以提高众核系统的利用效率,从而缩短多线程任务的执行时间,提高执行的速度。解决了现有技术中的采用片上网络的互连结构实现的众核系统存在任务执行效率低、执行时间长技术问题。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和本文档来自技高网
...
一种面向众核系统的多线程调度方法及系统

【技术保护点】
一种面向众核系统的多线程调度方法,其特征在于,所述方法包括:获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价,其中,所述第一处理器核、第二处理器核为处理器核集合中的任意两个处理器核;获取预设的第一多线程集合中每两个线程之间的第一通信量;根据所述第一通信量,获取单个线程的第二通信量,其中,所述第二通信量为所述线程到所述第一多线程集合中每个线程的通信量与所述第一多线程集合中每个线程到所述线程的通信量之和,所述线程为所述第一多线程集合中的任意线程;根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中。

【技术特征摘要】
1.一种面向众核系统的多线程调度方法,其特征在于,所述方法包括:获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价,其中,所述第一处理器核、第二处理器核为处理器核集合中的任意两个处理器核;获取预设的第一多线程集合中每两个线程之间的第一通信量;根据所述第一通信量,获取单个线程的第二通信量,其中,所述第二通信量为所述线程到所述第一多线程集合中每个线程的通信量与所述第一多线程集合中每个线程到所述线程的通信量之和,所述线程为所述第一多线程集合中的任意线程;根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中。2.如权利要求1所述的方法,其特征在于,所述获取预设的处理器核集合中第一处理器核与第二处理器核之间的通信代价,包括:获取所述第一处理器核到所述第二处理核的第一通信代价;获取所述第二处理器核到所述第一处理核的第二通信代价;以所述第一通信代价与所述第二通信代价的总和作为所述通信代价。3.如权利要求2所述的方法,其特征在于,所述获取所述第一处理器核到所述第二处理核的第一通信代价,包括:获取所述第一处理器核到所述第二处理核之间的物理通路数;获取所述第一处理器核到所述第二处理核之间每条物理通路的第三通信代价;对所述第三通信代价求和,获取第三通信代价总和;以所述第三通信代价总和与所述物理通路数的比值作为所述第一通信代价。4.如权利要求1所述的方法,其特征在于,所述根据所述通信代价对所有处理器核进行排序,将第二通信量最大的线程调度到通信代价最小的处理器核中,包括:根据所述通信代价所有处理器核进行排序,获得通信代价集合;根据所述第二通信量对所有线程进行排序,获得第二多线程集合;将所述第二多线程集合中第二通信量最大的线程调度到所述通信代价集合中通信代价最小的处理器核中。5.如权利要求4所述的方法,其特征在于,在所述将所述第二多线程集合中第二通信量最大的线程调度到所述通信代价集合中通信代价最小的处理器核中之前,还包括:如果所述第二多线程集合不为空,且所述通信代价集合不为空;判断所述通信代价集合中通信代价最小的处理器...

【专利技术属性】
技术研发人员:沈欢胡威唐玉馨刘小明戴文丽马梦东张凯刘俊吕晴阳刘丹
申请(专利权)人:武汉科技大学
类型:发明
国别省市:湖北,42

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

1