【技术实现步骤摘要】
无锁工作窃取线程调度器
技术介绍
[0001]技术的出现导致计算系统的计算能力呈指数增长。在计算系统中使用多处理器(例如,多计算机处理单元或CPU)设备和多核处理器(包括多个核或处理器)也有助于提高计算系统的计算能力。每个核或处理器可以包括独立的缓存存储器。
附图说明
[0002]参照以下附图根据一个或多个不同的实施例详细地描述本公开。附图仅被提供用于说明性目的,并且仅描绘典型实施例或示例实施例。
[0003]图1A图示了在其内可以实施各种实施例的硬件计算系统的示例。
[0004]图1B图示了图1A的硬件计算系统中的一个处理器的示例一对多核处理系统架构。
[0005]图2A图示了根据各种实施例的示例线程调度工作流。
[0006]图2B图示了根据各种实施例的示例轮询工作流。
[0007]图3图示了根据各种实施例的能够执行用于实施线程调度的指令的示例计算部件。
[0008]图4图示了根据各种实施例的能够执行用于实施轮询的指令的示例计算部件。
[0009]图5图示了可以用其实施本文所描 ...
【技术保护点】
【技术特征摘要】
1.一种中央处理单元(CPU),包括:控制单元,所述控制单元从存储器单元提取指令,所述指令使所述控制单元:执行与所述CPU相关联的本地运行队列中保存的线程;在清空所述本地运行队列后,检查在包括所述CPU和各附加CPU的CPU群组之中共享的缓冲区;使与所述CPU或所述CPU群组中的所述各附加CPU中的一个CPU相关联的批量线程从所述缓冲区出队;将所述批量线程置于所述本地运行队列中;以及执行所述批量线程。2.如权利要求1所述的CPU,其中,所述CPU和所述一个或多个其他CPU驻留在相同的物理核中或相同的非均衡存储器访问(NUMA)插槽中。3.如权利要求2所述的CPU,其中,所述批量线程具有对所述CPU、所述物理核、或所述NUMA插槽的亲和性。4.如权利要求2所述的CPU,其中,所述指令进一步使所述控制单元在从各附加CPU的驻留在相同物理核中但不在相同NUMA插槽中的剩余子集中选择各附加CPU中的所述一个CPU之前,选择所述批量线程中与来自相同NUMA插槽中的各附加CPU中的所述一个CPU相关联的线程。5.如权利要求1所述的CPU,其中,所述指令进一步使所述控制单元在使与所述一个或多个其他CPU中的所述一个CPU相关联的批量线程出队之前,检查所述缓冲区以寻找正等待在所述CPU上运行的任何线程并执行属于所述线程的线程。6.如权利要求1所述的CPU,其中,所述指令进一步使所述控制单元随机选择所述其他CPU中的要使所述批量线程从其出队的所述一个CPU。7.如权利要求6所述的CPU,其中,所述指令进一步使所述控制单元在所述其他CPU中的被随机选择的所述一个CPU与能够使所述批量线程从其出队的至少一个准备好运行的线程不相关联的情况下,重复执行对所述其他CPU中的使所述批量线程从其出队的后续CPU进行随机选择。8.如权利要求7所述的CPU,其中,所述指令进一步使所述控制单元在达到随机选择尝试的最大次数后进入休眠状态。9.如权利要求8所述的CPU,其中,所述指令进一步使所述控制单元确定导致从所述缓冲区窃取线程失败的随机选择尝试的阀值次数是否已经出现,以发起所述休眠状态。10.如权利要求1所述的CPU,其中,所述指令进一步使所述控制单元按照优先级顺序执行所述批量线程中的每个线程。11.如权利要求1所述的CPU,其中,所述指令进...
【专利技术属性】
技术研发人员:M,
申请(专利权)人:慧与发展有限责任合伙企业,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。