一种用于配置中的多线程的动态启用的计算机实施的方法、计算机系统及计算机可读介质技术方案

技术编号:14032285 阅读:59 留言:0更新日期:2016-11-20 04:17
各实施例涉及多线程的动态启用。根据一方面,一种计算机系统包括具有能在单线程(ST)模式与多线程(MT)模式之间配置的核心的配置。所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程。所述计算机系统亦包括被配置为控制所述配置以执行一种方法的多线程工具。所述方法包括以所述ST模式在所述主要线程中执行MT模式设定指令。从由所述MT模式设定指令指定的位置获得所请求线程的数目。基于判定所请求线程的所述数目指示多个线程,启用所述MT模式以执行包括所述主要线程及所述一个或多个次要线程的所述多个线程。

Dynamic multithreading enabled

Each of the embodiments involves dynamic multithreading. According to one aspect, a computer system includes a configuration that can be configured between a single thread (ST) mode and a multithreaded (MT) mode. The ST mode processes a primary thread, and the MT mode processes one or more secondary threads on the primary thread and the shared resources on the core. The computer system also includes a multithreaded tool configured to control the configuration to perform a method. The method comprises the following steps of executing the MT mode setting instruction in the main thread in the ST mode. The number of requests to be obtained from the location specified by the MT mode setting instruction. A plurality of threads are identified based on the number of threads to be determined, and the MT mode is enabled to execute a plurality of threads including the main thread and the one or more secondary threads.

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
本专利技术一般地涉及一种支持多个线程的计算机系统,且更具体言之,涉及计算机系统中的多线程的动态启用。当计算机系统的处理器速度在过去数十年内增加时,可存取此类计算机系统的存储器所藉以的速度未成比例增加。因此,处理器的周期时间愈快,等待数据自存储器中取回的延迟愈明显。藉由各种级别的缓存且在最新处理器中藉由多线程(MT)减轻此类延迟的影响。MT允许处理器的各种核心资源由多个指令流(称为线程)共享。核心资源可包括执行单元、高速缓存、转换后备缓冲器(TLB)及其类似者,其可一般统称为核心。在由高速缓存未命中所产生的延时或一个线程中的其他延迟期间,一个或多个其他线程可利用核心资源,因此增加核心资源的利用率。在超标量处理器同时多线程(SMT)实施中,多个线程可同时由一个或多个核心的核心资源来服务。在现代硬件平台中,MT通常以对在MT硬件上运行的操作系统(OS)透明的方式实施。此特性的一个方面为OS不需要修改以利用MT硬件。然而,相对于OS的透明MT操作可导致响应时间、容量供应、容量规划及计费的高可变性。此可变性可出现是因为OS不感知其任务是否具有核心的独占性控制,或其任务是否作为共享核心的线程执行。借助设计,当在核心在使用中时存在高平均线程密度时,可获得具MT能力的硬件上的存储器密集工作负荷的最高容量。额外容量可归因于由MT提供的增加的高速缓存利用。如果OS不一致地维持所利用核心的高平均线程密度,则由MT提供的额外总吞吐量容量将不可用。举例而言,如果当存在低计算利用率时硬件每核心执行单一MT线程且当存在高计算利用率时以高线程密度执行,则其可非常难以判定多少总MT计算容量可用于工作负荷。MT线程利用的此硬件可变性可以以类似于先前关于容量所描述的方式导致事务响应时间及计费两者的可变性。
技术实现思路
各实施例包括一种用于多线程的动态启用的系统、方法及计算机程序产品。根据一方面,一种计算机系统包括具有能在单线程(ST)模式与多线程(MT)模式之间配置的核心(core)的配置。所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程。所述计算机系统亦包括被配置为控制所述配置以执行一种方法的多线程工具。所述方法包括以所述ST模式在所述主要线程中执行MT模式设定指令。从由所述MT模式设定指令指定的位置获得所请求线程的数目。基于判定所请求线程的所述数目指示多个线程,启用所述MT模式以执行包括所述主要线程及所述一个或多个次要线程的所述多个线程。根据另一方面,提供一种用于配置中的多线程的动态启用的计算机实施的方法。所述配置包括能够在ST模式与MT模式之间配置的核心,其中所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程。所述方法包括以所述ST模式在所述主要线程中执行MT模式设定指令。从由所述MT模式设定指令指定的位置获得所请求线程的数目。基于判定所请求线程的所述数目指示多个线程,启用所述MT模式以执行包括所述主要线程及所述一个或多个次要线程的所述多个线程。另一方面包括一种用于实施配置中的多线程的动态启用的计算机程序产品。所述配置包括能在ST模式与MT模式之间配置的核心,其中所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程。所述计算机程序产品包括具有程序指令的计算机可读存储介质,其中所述计算机可读存储介质并非信号。所述程序指令可由处理电路读取以使所述处理电路执行一种方法。所述方法包括在所述配置的所述核心上以所述ST模式在所述主要线程中执行MT模式设定指令。从由所述MT模式设定指令指定的位置获得所请求线程的数目。基于判定所请求线程的所述数目指示多个线程,启用所述MT模式以执行包括所述主要线程及所述一个或多个次要线程的所述多个线程。附图说明当本说明书完结时在权利要求中特定地指出且清楚地要求保护被视为实施例的主题。实施例的前述及其他特征及优点自结合附图而进行的以下详细描述显而易见,在附图中:图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)、通用寄存器、浮点寄存器及浮点控制寄存器、向量寄存器、控制寄存器、存取寄存器、前缀寄存器、当天时间(TOD)可编程寄存器及用于时钟比较器及CPU定时器的寄存器。此寄存器集合可被称为CPU的架构式寄存器上下文。在配置中的每一CPU可提供对TOD时钟的存取,TOD时钟可由配置中的所有CPU共享。本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/201580015815.html" title="一种用于配置中的多线程的动态启用的计算机实施的方法、计算机系统及计算机可读介质原文来自X技术">用于配置中的多线程的动态启用的计算机实施的方法、计算机系统及计算机可读介质</a>

【技术保护点】
一种计算机系统,其包括:配置,其包括能在单线程(ST)模式与多线程(MT)模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程;及多线程工具,其被配置为控制所述配置以执行一种方法,所述方法包括:以所述ST模式在所述主要线程中执行MT模式设定指令;从由所述MT模式设定指令指定的位置获得所请求线程的数目;及基于判定所请求线程的所述数目指示多个线程,启用所述MT模式以执行包括所述主要线程及所述一个或多个次要线程的所述多个线程。

【技术特征摘要】
【国外来华专利技术】2014.03.27 US 14/226,8811.一种计算机系统,其包括:配置,其包括能在单线程(ST)模式与多线程(MT)模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程;及多线程工具,其被配置为控制所述配置以执行一种方法,所述方法包括:以所述ST模式在所述主要线程中执行MT模式设定指令;从由所述MT模式设定指令指定的位置获得所请求线程的数目;及基于判定所请求线程的所述数目指示多个线程,启用所述MT模式以执行包括所述主要线程及所述一个或多个次要线程的所述多个线程。2.如权利要求1所述的计算机系统,其中所述MT模式设定指令为来自操作系统的信号处理器(SIGP)指令,所述SIGP指令包括与所请求线程的所述数目相关联的设定MT命令及程序指定最大线程id(PSMTID)。3.如权利要求2所述的计算机系统,其进一步包括:基于使用所述PSMTID的非0值来执行所述设定MT命令而启用所述MT模式;及保持处于所述ST模式中且防止基于使用所述PSMTID的0值来执行所述设定MT命令而启用所述MT模式。4.如权利要求3所述的计算机系统,其中提供错误指示,且基于判定使用以下各者中的一者或多者来发出所述设定MT命令而防止所述MT模式的启用:无效命令、不正确状态,及无效参数。5.如权利要求2所述的计算机系统,其中基于所述配置的重设或去激活而停用所述MT模式,且针对非清除重设而保留一个或多个次要线程上下文及最后设定PSMTID,或针对清除重设而使最后设定PSMTID归0。6.如权利要求5所述的计算机系统,其中在所述配置的所述重设或所述去激活或激活后,所述配置缺省为所述ST模式。7.如权利要求1所述的计算机系统,其中基于对服务调用(SERVC)指令或存储系统信息(STSI)指令的响应而向执行程序提供最大线程id的指示。8.如权利要求1所述的计算机系统,其进一步包括多个配置,其中所述计算机系统的所述配置中的每一者能被配置有不同数目个最大线程id,以在所述配置中的每一者处支持同时启用的不同数目个线程。9.一种用于配置中的多线程的动态启用的计算机实施的方法,所述配置包括能在单线程(ST)模式与多线程(MT)模式之间配置的核心,所述ST模式处理主要线程,且所述MT模式处理所述主要线程及所述核心的共享资源上的一个或多个次要线程,所述方法包括:以所述ST模式在所述主要线程中执行MT模式设定指令;从由所述MT模式设定指令指定的位置获得所请求线程的数目;及基于判定所请求线程的所述数目指示多个线程,启用所述MT模式以执行包括所述主要线程及所述一个或多个次要线程的所述多个线程。10.如权利要求9所述的方法,其中所述MT模式设定指令为来自操作系统的信号处理器(SIGP)指令,所述SIGP指令包括与所请求线程的所述数目相关...

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

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

1