[发明专利]用于集成的线程调度的计算设备和方法有效
申请号: | 201680048794.6 | 申请日: | 2016-09-20 |
公开(公告)号: | CN107924330B | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | J·迪南;M·弗拉伊斯利克;T·圣约翰 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 集成 线程 调度 计算 设备 方法 | ||
用于集成的线程调度的技术包括具有网络接口控制器(NIC)的计算设备。NIC被配置为检测和挂起正被一个或多个通信操作阻塞的线程。NIC的线程调度引擎被配置为将挂起的线程从系统线程调度器的运行队列移动到线程调度引擎的未决队列。线程调度引擎还被配置为在确定任何依赖和/或阻塞通信操作已经完成时,将挂起的线程从未决队列移动到线程调度引擎的就绪队列。描述和要求保护其他实施例。
政府权利条款
本发明是在政府支持下根据国防部授予的合同号H98230-13-D-0124进行的。政府对本发明有一定的权利。
相关申请的交叉引用
本申请要求于2015年9月26日提交的标题为“TECHNOLOGIES FOR INTEGRATEDTHREAD SCHEDULING”的序号为14/866,572的美国专利申请的优先权。
技术领域
本申请总体上涉及计算机系统领域,并且更具体地涉及用于集成的线程调度的计算设备和方法。
背景技术
现代计算设备已成为个人、商业和社会用途的无处不在的工具。因此,许多现代计算设备能够连接到各种数据网络,包括因特网和企业内联网,以通过各种数据网络以不同的速率发送和接收数据通信。为了促进远程定位的计算设备之间的通信,数据网络通常包括一个或多个网络计算设备(例如,网络交换机、网络路由器、服务器、其他计算和/或存储计算设备等)以通过数据网络处理和路由网络通信(即,网络分组)。诸如数据中心之类的某些网络基础设施可以包括以并行和/或分布式计算架构(例如高性能计算(HPC)网络架构)部署的数万或更多的这样的计算设备,其能够实现高速、低延迟的互连,例如集群计算网络架构和/或网格计算网络架构(例如,结构计算网络架构)。
例如在等待本地发出的通信操作完成或者在等待数据作为远程执行的通信操作的结果到达的同时,运行在这样的巨大网络基础设施上的应用(即,线程、进程等)可能被阻塞。阻塞的线程可以由调度器(即系统线程/进程调度器)取消调度,该调度器然后可以调度就绪的线程以依靠先前被取消调度的阻塞的线程占用的资源执行。线程调度的常规方法利用软件调度器,其通常使用软件技术来确定未决线程是否已准备好执行。附加的软件技术可以利用轮询、存储器监视或基于中断的通知来指示通信操作已经完成或者数据已经被写入计算设备的本地存储器。然而,这样的软件技术会在计算设备的存储器中产生显著的软件归属开销和/或影响局部性。
发明内容
本公开的一个方面涉及一种用于集成的线程调度的计算设备,所述计算设备包括:网络接口控制器,其包括具有存储于其中的多个指令的数据存储设备,所述指令当由所述网络接口控制器执行时,使所述网络接口控制器用于:检测所述计算设备的线程的处理是否被一个或多个通信操作阻塞;响应于检测到所述线程的所述处理被阻塞而挂起所述线程;将挂起的线程从所述计算设备的系统线程调度器移动到所述计算设备的网络接口控制器的线程调度引擎;识别所述线程是否具有一个或多个依赖;确定所述一个或多个通信操作中的每一个通信操作是否已经完成;响应于确定所述线程具有所述一个或多个依赖,确定所述一个或多个依赖是否已经被满足;以及响应于确定(i)所述一个或多个通信操作中的每一个通信操作已经完成并且(ii)所述一个或多个依赖中的每一个依赖已经被满足,将所述线程从所述线程调度引擎移动到所述系统线程调度器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680048794.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种节能环保道路压电发电装置
- 下一篇:双自由度圆弧型压电能量收集器