用于为计算资源提供粒度化服务质量的装置、方法和设备制造方法及图纸

技术编号:15060234 阅读:60 留言:0更新日期:2017-04-06 09:53
公开了一种用于为计算系统中的计算资源提供粒度化服务质量(QoS)的系统、装置、方法及设备。装置包括:处理器,该处理器包括多个处理器核;以及存储器,该存储器存储能够由处理器执行的代码,其中,处理器被配置为能够执行所述代码以进行如下操作:识别属于计算进程的线程;识别与线程关联的一个或更多个线程级标记;基于一个或更多个线程级标记来确定线程的计算需求;及基于计算需求将线程分配给处理器核中的一个处理器核。在某些实施方式中处理器能够执行用于基于进程内优先级将硬件资源分配给线程的代码,其中,从被分配给计算进程的一组硬件资源分配硬件资源。

【技术实现步骤摘要】

本文所公开的主题涉及计算资源的服务质量(QoS),并且更具体地涉及为计算系统中的计算资源提供粒度化QoS。
技术介绍
当今的计算机全速执行线程,而不考虑其需求。计算机这样做是因为程序没有办法告诉系统其需要什么资源或在资源需求方面的期望。尽管有许多先进的调度算法,还是没有办法在同一应用下给予一个线程优先于另一线程的优先级。在应用程序内没有真正的方法在单个核上分离单个线程。频繁的CPU状态变化浪费电力并且增加延迟。
技术实现思路
公开了一种用于为计算系统中的计算资源提供粒度化服务质量(QoS)的装置。方法和计算机程序产品也执行装置的功能。装置包括:处理器,该处理器包括多个处理器核;以及存储器,该存储器存储能够由处理器执行的代码。存储器包括能够由处理器执行用于识别属于计算进程的线程的代码。存储器包括能够由处理器执行用于识别与线程关联的一个或更多个线程级标记的代码。存储器包括能够由处理器执行用于基于一个或更多个线程级标记来确定线程的计算需求的代码。存储器还包括能够由处理器执行用于基于计算需求将线程分配给处理器核中的一个处理器核的代码。在某些实施方式中存储器包括能够由处理器执行用于基于一个或更多个线程级标记来确定线程的进程内优先级的代码。存储器还可以包括够由处理器执行用于基于进程内优先级分配硬件资源的代码,其中,从被分配给计算进程的一组硬件资源分配硬件资源。在一些实施方式中,存储器还包括能够由处理器执行用于识别属于计算进程的多个线程之间的线程依赖关系的代码,其中,确定线程的进程内优先级包括基于线程依赖关系来分配进程内优先级。在又一实施方式中,存储器可以包括能够由所述处理器执行用于基于一个或更多个进程级标记来确定计算进程的进程外优先级的代码,其中,基于进程外优先级将一组硬件资源分配给计算进程。在一些实施方式中,多个处理器核包括以第一处理器速度操作的第一组处理器核和以第二处理器速度操作的第二组处理器核,第二处理器速度小于第一处理器速度。存储器可以包括能够由处理器执行用于进行下述操作的代码:基于一个或更多个线程级标记来确定线程的速度需求;以及基于第二处理器速度来确定线程完成时间。在一些实施方式中,基于计算需求将线程分配给处理器核中的一个处理器核包括响应于线程完成时间小于速度需求将线程分配给第二组处理器核中的处理器核。在某些实施方式中,存储器包括能够由所述处理器执行用于识别装置的电力状态的代码,其中,还基于电力状态将线程分配给处理器核中的一个处理器核。在一些实施方式中,基于电力状态将线程分配给处理器核中的一个处理器核包括:响应于电力状态为使用电池电力将线程分配给具有较低处理器速度的处理器核,以及响应于所述电力状态为使用外部电力将所述线程分配给具有较低处理器速度的处理器核。在某些实施方式中,识别属于计算进程的至少一个线程包括识别主工作线程,并且其中,将主工作线程分配给处理器核中的一个处理器核包括将主工作线程分配给保留用于所述主工作线程的处理器核。在一些实施方式中,存储器包括能够由所述处理器执行用于基于一个或更多个进程级标记来确定计算进程的时间需求的代码。存储器还可以包括能够由处理器执行用于确定本地执行计算进程的成本的代码。存储器还可以包括能够由处理器执行用于基于时间需求和本地执行计算进程的成本将计算进程卸载至远程计算设备的代码。方法包括:通过使用处理器识别属于计算进程的至少一个线程;识别与线程关联的一个或更多个标记;基于一个或更多个标记来确定线程的计算需求;以及基于计算需求将线程分配给处理器核中的一个处理器核。方法还可以包括识别执行计算进程的计算机系统的系统属性,其中,还基于系统属性将线程分配给处理器核中的一个处理器核。在一些实施方式中,识别属于计算进程的至少一个线程包括识别多个线程。方法可以包括基于一个或更多个标记来确定每个线程的进程内优先级。方法还可以包括识别被分配给计算进程的一组硬件资源。方法还可以包括基于进程内优先级将来自所述一组硬件资源的硬件资源分配给每个线程。在某些实施方式中,识别属于计算进程的至少一个线程包括识别主工作线程,并且将主工作线程分配给处理器核中的一个处理器核包括使主工作线程与所述主工作线程自身的处理器核分离。在一些实施方式中,基于一个或更多个标记来确定线程的计算需求包括基于所述一个或更多个标记来确定所述线程的时间敏感水平,并且基于所述时间敏感水平将进程内优先级分配给所述线程。在某些实施方式中,基于一个或更多个标记来确定线程的计算需求包括识别线程的存储器缓存需求,其中,基于所述计算需求将线程分配给处理器核中的一个处理器核包括基于所述存储器缓存需求来选择处理器核。在又一实施方式中,基于计算需求将线程分配给处理器核中的一个处理器核还包括基于存储器缓存需求禁用所选择的处理器核上的超线程。在一些实施方式中,基于一个或更多个标记来确定线程的计算需求包括识别所述线程的速度需求。在又一实施方式中,基于计算需求将线程分配给处理器核中的一个处理器核包括基于速度需求来选择处理器核。计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质存储能够由处理器执行的代码,可执行代码包括用于进行下述操作的代码:识别属于计算进程的至少一个线程;识别与线程关联的一个或更多个标记;基于一个或更多个标记来确定线程的计算需求;以及基于计算需求将线程分配给处理器核中的一个处理器核。在某些实施方式中,代码还用于进行下述操作:基于一个或更多个标记将硬件资源分配给线程,其中,从被分配给计算进程的一组资源分配所述硬件资源。在一些实施方式中,代码还用于进行下述操作:识别未标记线程,其中,所述未标记线程未与任何标记关联;将所述未标记线程与一个或更多个线程简档进行比较;以及基于所述比较将一个或更多个标记与所述未标记线程进行关联。根据本公开,提供一种用于为计算系统中的计算资源提供粒度化服务质量的装置,包括:处理器,所述处理器包括多个处理器核;以及存储器,所述存储器存储能够由所述处理器执行的代码,其中,所述处理器被配置为能够执行所述代码以进行如下操作:识别属于计算进程的线程;识别与所述线程关联的一个或更多个线程级标记;基于所述一个或更多个线程级标记来确定所述线程的计算需求;及基于所述计算需求将所述线程分配给所述处理器核中的一个处理器核。根据本公开,还提供一种用于为计算系统中的计算资源提供粒度化服务质量的方法,包括:通过使用处理器识别属于计算进程的至少一个线程;识别与所述线程关联的一个或更多个标记;基于所述一个或更多个标记来确定所述线程的计算需求;以及基于所述计算需求将所述线程分配给所述处理器核中的一个处理器核。根据本公开,还提供一种用于为计算系统中的计算资源提供粒度化服务质量的设备,包括:用于识别属于计算进程的至少一个线程的模块;用于识别与所述线程关联的一个或更多个标记的模块;用于基于所述一个或更多个标记来确定所述线程的计算需求的模块;以及用于基于所述计算需求将所述线程分配给所述处理器核中的一个处理器核的模块。附图说明通过参考在附图中例示的特定实施方式,将会呈现如上简要描述的实施方式的更为具体的描述。要理解的是,这些附图仅仅描绘一些实施方式,并且因此不被认为是限制范围。将通过使用附图,利用其他特征和细节来描述和说明上述实施方式。在附图中:图本文档来自技高网...

【技术保护点】
一种用于为计算系统中的计算资源提供粒度化服务质量的装置,包括:处理器,所述处理器包括多个处理器核;以及存储器,所述存储器存储能够由所述处理器执行的代码,其中,所述处理器被配置为能够执行所述代码以进行如下操作:识别属于计算进程的线程;识别与所述线程关联的一个或更多个线程级标记;基于所述一个或更多个线程级标记来确定所述线程的计算需求;及基于所述计算需求将所述线程分配给所述处理器核中的一个处理器核。

【技术特征摘要】
2015.09.30 US 14/871,1821.一种用于为计算系统中的计算资源提供粒度化服务质量的装置,包括:处理器,所述处理器包括多个处理器核;以及存储器,所述存储器存储能够由所述处理器执行的代码,其中,所述处理器被配置为能够执行所述代码以进行如下操作:识别属于计算进程的线程;识别与所述线程关联的一个或更多个线程级标记;基于所述一个或更多个线程级标记来确定所述线程的计算需求;及基于所述计算需求将所述线程分配给所述处理器核中的一个处理器核。2.根据权利要求1所述的装置,其中,所述处理器还被配置为能够执行所述代码以进行如下操作:基于所述一个或更多个线程级标记来确定所述线程的进程内优先级;以及基于所述进程内优先级将硬件资源分配给所述线程,其中,从被分配给所述计算进程的一组硬件资源中分配所述硬件资源。3.根据权利要求2所述的装置,其中,所述处理器还被配置为能够执行所述代码以识别属于所述计算进程的多个线程之间的线程依赖关系,其中,确定所述线程的进程内优先级包括基于所述线程依赖关系来分配所述进程内优先级。4.根据权利要求2所述的装置,其中,所述处理器还被配置为能够执行所述代码以基于一个或更多个进程级标记来确定所述计算进程的进程外优先级,其中,基于所述进程外优先级将所述一组硬件资源分配给所述计算进程。5.根据权利要求1所述的装置,其中,所述多个处理器核包括以第一处理器速度操作的第一组处理器核和以第二处理器速度操作的第二组处理器核,所述第二处理器速度小于所述第一处理器速度,其中,所述处理器被配置为能够执行所述代码以进行如下操作:基于所述一个或更多个线程级标记来确定所述线程的速度需求;以及基于所述第二处理器速度来确定线程完成时间,其中,基于所述计算需求将所述线程分配给所述处理器核中的一个处理器核包括响应于所述线程完成时间小于所述速度需求将所述线程分配给所述第二组处理器核中的处理器核。6.根据权利要求1所述的装置,其中,所述处理器还被配置为能够执行所述代码以识别所述装置的电力状态,其中,还基于所述电力状态将所述线程分配给所述处理器核中的一个处理器核。7.根据权利要求6所述的装置,其中,基于所述电力状态将所述线程分配给所述处理器核中的一个处理器核包括:响应于所述电力状态为使用电池电力将所述线程分配给具有较低处理器速度的处理器核,以及响应于所述电力状态为使用外部电力将所述线程分配给具有较高处理器速度的处理器核。8.根据权利要求1所述的装置,其中,识别属于计算进程的至少一个线程包括识别主工作线程,并且其中,将所述主工作线程分配给所述处理器核中的一个处理器核包括将所述主工作线程分配给保留用于所述主工作线程的处理器核。9.根据权利要求1所述的装置,其中,所述处理器还被配置为能够执行所述代码以进行如下操作:基于一个或更多个进程级标记来确定所述计算进程的时间需求;确定本地执行所述计算进程的成本;以及基于所述...

【专利技术属性】
技术研发人员:布赖恩·洛伊德·扬约翰·斯科特·克罗珍妮弗·李巴伦纳林·J·彼得森埃米·利·罗斯
申请(专利权)人:联想新加坡私人有限公司
类型:发明
国别省市:新加坡;SG

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

1