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计 ...
【技术保护点】
一种计算机系统,其包括:配置,其包括能在单线程(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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。