多线程计算机系统中的线程上下文保留技术方案

技术编号:14026094 阅读:43 留言:0更新日期:2016-11-19 02:41
根据一个方面,一种计算机系统包括配置,其具有能在单线程(ST)模式与多线程(MT)模式之间配置的核心。所述ST模式处理主要线程,且所述MT模式处理所述主要线程及一个或多个次要线程。所述计算机系统还包括多线程工具,其被配置为控制所述配置的利用以执行一种方法。基于由处于所述MT模式的所述核心确定待停用MT,所述MT模式切换到所述ST模式,其中所述MT模式的所述主要线程被保持作为所述ST模式的所述主要线程。使所述一个或多个次要线程的线程上下文不可由程序存取。基于所述切换,执行以下操作中的任意一者:清除所述程序可存取寄存器值,或者保留所述程序可存取寄存器值。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
本专利技术一般地涉及支持多个线程的计算机系统,且更具体言之,涉及多线程计算机系统中的线程上下文保留。当计算机系统的处理器速度在过去数十年内增加时,可存取此类计算机系统的存储器所藉以的速度未成比例增加。因此,处理器的周期时间愈快,等待数据自存储器中取回的延迟愈明显。藉由各种级别的缓存且在最新处理器中藉由多线程(MT)减轻此类延迟的影响。MT允许处理器的各种核心资源由多个指令流(称为线程)共享。核心资源可包括执行单元、高速缓存、转换后备缓冲器(TLB)及其类似者,其可一般统称为核心。在由高速缓存未命中所产生的延时或一个线程中的其他延迟期间,一个或多个其他线程可利用核心资源,因此增加核心资源的利用率。在超标量处理器同时多线程(SMT)实施中,多个线程可同时由一个或多个核心的核心资源来服务。在现代硬件平台中,MT通常以对在MT硬件上运行的操作系统(OS)透明的方式实施。此特性的一个方面为OS不需要修改以利用MT硬件。然而,相对于OS的透明MT操作可导致响应时间、容量供应、容量规划及计费的高可变性。此可变性可出现是因为OS不感知其任务是否具有核心的独占性控制,或其任务是否作为共享核心的线程执行。借助设计,当在核心在使用中时存在高平均线程密度时,可获得具MT能力的硬件上的存储器密集工作负荷的最高容量。额外容量可归因于由MT提供的增加的高速缓存利用。如果OS不一致地维持所利用核心的高平均线程密度,则由MT提供的额外总吞吐量容量将不可用。举例而言,如果当存在低计算利用率时硬件每核心执行单一MT线程且当存在高计算利用率时以高线程密度执行,则其可非常难以判定多少总MT计算容量可用于工作负荷。MT线程利用的此硬件可变性可以以类似于先前关于容量所描述的方式导致事务响应时间及计费两者的可变性。
技术实现思路
各实施例包括一种用于多线程计算机系统中的线程上下文保留的系统、方法和计算机程序产品。根据一个方面,一种计算机系统包括配置,其具有能在单线程(ST)模式与多线程(MT)模式之间配置的核心(core)。所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程。所述计算机系统还包括多线程工具,其被配置为控制所述配置的利用以执行一种方法。基于由处于所述MT模式中的所述核心确定待停用MT,从所述MT模式切换到所述ST模式,其中所述MT模式的所述主要线程被保持作为所述ST模式的所述主要线程。使所述一个或多个次要线程的包括程序可存取寄存器值及程序计数器值的线程上下文不可由程序存取。基于所述切换,执行以下操作中的任意一者:清除所述程序可存取寄存器值或者保留所述程序可存取寄存器值。根据另一个方面,提供一种用于配置中的线程上下文保留的计算机实施的方法,所述配置包括能在ST模式与MT模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程。基于由处于所述MT模式中的所述核心确定待停用MT,从所述MT模式切换到所述ST模式,其中所述MT模式的所述主要线程被保持作为所述ST模式的所述主要线程。使所述一个或多个次要线程的包括程序可存取寄存器值及程序计数器值的线程上下文不可由程序存取。基于所述切换,执行以下操作中的任意一者:清除所述程序可存取寄存器值或者保留所述程序可存取寄存器值。另一方面包括一种用于配置中的线程上下文保留的计算机程序产品。所述配置包括能在ST模式与MT模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程。所述计算机程序产品包括具有程序指令的计算机可读存储介质,其中所述计算机可读存储介质并非信号。所述程序指令能由处理电路读取以使所述处理电路执行一种方法。基于由处于所述MT模式中的所述核心确定待停用MT,从所述MT模式切换到所述ST模式,其中所述MT模式的所述主要线程被保持作为所述ST模式的所述主要线程。使所述一个或多个次要线程的包括程序可存取寄存器值及程序计数器值的线程上下文不可由程序存取。基于所述切换,执行以下操作中的任意一者:清除所述程序可存取寄存器值或者保留所述程序可存取寄存器值。附图说明当本说明书完结时在权利要求中特定地指出且清楚地要求保护被视为实施例的主题。实施例的前述及其他特征及优点自结合附图而进行的以下详细描述显而易见,在附图中:图1A描绘可根据一个实施例实施的计算环境;图1B描绘可根据一个实施例实施的计算环境;图2描绘可根据一个实施例实施的核心的处理电路;图3描绘可根据一个实施例实施的计算环境;图4描绘可根据一个实施例实施的计算环境中的系统管理程序(hypervisor)上下文保持的一个实例;图5描绘根据一个实施例的用于多线程的动态启用的过程流;图6A描绘根据一个实施例的CPU地址扩展过程的一个实例;图6B描绘根据一个实施例的CPU地址缩短过程的一个实例;图7描绘根据一个实施例的用于设定多线程命令(order)的过程流;图8描绘根据一个实施例的存储多线程能力信息的一个实例;图9描绘根据一个实施例的用于确定多线程能力的过程流;图10描绘根据一个实施例的各种线程上下文位置的一个实例;图11描绘根据一个实施例的多线程寄存器保留的一个实例;图12描绘根据一个实施例的用于多线程寄存器保留的过程流;图13描绘根据一个实施例的多线程寄存器恢复的一个实例;图14描绘根据一个实施例的用于多线程寄存器恢复的过程流;及图15描绘根据一个实施例的计算机可读介质。具体实施方式例示性实施例提供支持单线程及多线程操作模式的计算机系统中的多线程操作。如本文所使用,逻辑线程是指单一指令流及其相关联状态。亦即,在架构级别处,每一逻辑线程表示独立中央处理单元(CPU)或处理器。在硬件级别处,当分派线程时,线程为与客体状态的维持组合的与逻辑线程相关联的指令流的执行。因此,本文中可互换地使用术语“线程”与“CPU”。在一个例示性实施例中,CPU含有用于指令执行、中断动作、时序功能、初始程序加载及其他机器相关功能的定序及处理工具。CPU定义可映射至多种基础物理实施的逻辑功能。CPU在执行指令时可处理固定长度的二进制整数及浮点数(例如,二进制、十进制及十六进制)、可变长度的十进制整数,及固定或可变长度的逻辑信息。处理可为并行或串行的。处理元素的宽度、移位路径的多重性及执行不同类型算术中的同时性程度可在不影响逻辑结果的情况下在CPU的一个模型与另一模型之间不同。CPU执行的指令可包括多个指令类别,诸如通用、十进制、浮点支持(FPS)、二进制浮点(BFP)、十进制浮点(DFP)、十六进制浮点(HFP)、控制及I/O指令。通用指令可用于执行二进制整数算术运算及逻辑、分支及其他非算术运算。十进制指令对十进制格式的数据进行运算。BFP、DFP及HFP指令分别对BFP、DFP及HFP格式的数据进行运算,同时FPS指令独立于格式对浮点数据进行运算或自一种格式转换至另一种格式。特权控制指令及I/O指令可在CPU在监督状态下时被执行,且半特权控制指令可在经历适当授权机制的情况下在问题状态下执行。CPU提供可用于程序但在主存储装置中不具有可寻址表示的寄存器。寄存器可包括(例如)当前程序状态字组(PSW)本文档来自技高网
...
多线程计算机系统中的线程上下文保留

【技术保护点】
一种计算机系统,包括:配置,其包括能在单线程(ST)模式与多线程(MT)模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程;及多线程工具,其被配置为控制所述配置的利用以执行一种方法,所述方法包括:基于由处于所述MT模式中的所述核心确定待停用MT,从所述MT模式切换到所述ST模式,其中所述MT模式的所述主要线程被保持作为所述ST模式的所述主要线程,其中使所述一个或多个次要线程的包括程序可存取寄存器值及程序计数器值的线程上下文不可由程序存取;以及基于所述切换,执行以下操作中的任意一者:清除所述程序可存取寄存器值或者保留所述程序可存取寄存器值。

【技术特征摘要】
【国外来华专利技术】2014.03.27 US 14/226,8951.一种计算机系统,包括:配置,其包括能在单线程(ST)模式与多线程(MT)模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程;及多线程工具,其被配置为控制所述配置的利用以执行一种方法,所述方法包括:基于由处于所述MT模式中的所述核心确定待停用MT,从所述MT模式切换到所述ST模式,其中所述MT模式的所述主要线程被保持作为所述ST模式的所述主要线程,其中使所述一个或多个次要线程的包括程序可存取寄存器值及程序计数器值的线程上下文不可由程序存取;以及基于所述切换,执行以下操作中的任意一者:清除所述程序可存取寄存器值或者保留所述程序可存取寄存器值。2.如权利要求1所述的计算机系统,其中所述确定待停用MT进一步包括:基于非清除操作,确定保留所述程序可存取寄存器值;以及基于清除操作,确定清除所述程序可存取寄存器。3.如权利要求1所述的计算机系统,其中所述线程上下文包括:程序通用寄存器、浮点寄存器、控制寄存器、存取寄存器、前缀寄存器、以及当天时间(TOD)可编程寄存器。4.如权利要求3所述的计算机系统,其中所述线程上下文进一步包括每个线程的程序状态字。5.如权利要求4所述的计算机系统,其中基于最后成功执行的信号处理器指令来设定最后设定程序指定最大线程标识符。6.如权利要求1所述的计算机系统,其中基于切换至所述MT模式,根据对应次要线程被重新启用,使所述程序可存取寄存器值可由程序存取。7.如权利要求1所述的计算机系统,其中在所述ST模式和所述MT模式两者中,所述主要线程的包括程序可存取寄存器值和程序计数器值的主要线程上下文可由程序存取。8.如权利要求1所述的计算机系统,其中所述线程上下文被保持在以下任一者中:状态描述块、锚定到存储器中的所述状态描述块的卫星块、或上下文寄存器。9.一种用于配置中的线程上下文保留的计算机实施的方法,所述配置包括能在单线程(ST)模式与多线程(MT)模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程,所述方法包括:基于由处于所述MT模式中的所述核心确定待停用MT,从所述MT模式切换到所述ST模式,其中所述MT模式的所述主要线程被保持作为所述ST模式的所述主要线程,其中使所述一个或多个次要线程的包括程序可存取寄存器值及程序计数器值的线程上下文不可由程序存取;以及基于所述切...

【专利技术属性】
技术研发人员:D·格雷纳M·法雷尔D·L·奥西塞克D·W·施密特F·Y·布萨巴J·P·库巴拉J·D·布拉德伯里L·C·海勒T·斯莱格尔C·小盖尼
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1