逻辑cpu划分的使用热度图表示的制作方法

文档序号:6379833阅读:209来源:国知局
专利名称:逻辑cpu划分的使用热度图表示的制作方法
逻辑CPU划分的使用热度图表示相关申请
本申请要求Christina L. Rhodes等人于2011年10月26日提交的题为“LogicalProcessors Heat Map Representation”的美国临时申请序列号61/551886的优先权,其公开全文通过引用结合于此。
背景技术
随着技术的进步,各种计算设备中使用的中央处理单元(CPU)已经从具有串行执行指令的单个指令执行核心演化为具有并行执行指令的多个指令执行核心和逻辑划分。这些计算设备也从具有单个CPU演化为具有并行执行指令的多个CPU。虽然这些进步已经提高了计算设备的处理能力,但是它们并非不存在问题。这样的问题之一在于假定计算设备中可以包括大量的逻辑CPU划分,用户会难以对跨该计算设备的所有逻辑CPU划分的活动进行监视。

发明内容
提供该发明内容而以简化形式引入以下在具体实施方式
中进一步描述的概念的选择。该发明内容并非意在标识出所请求保护主题的关键特征或必要特征,也并非意在被用来对所请求保护主题的范围进行限制。依据一个或多个方面,逻辑中央处理单元(CPU)划分管理视图在设备被显示为热度图(heat map)表示。该热度图表示包括多个单元格,其中每个单元格对应于该设备的多个逻辑CPU划分之一。作为该热度图表不方式的一部分,多个单兀格中的每一个基于相对应逻辑CPU划分的使用而以多种不同方式之一进行显示。依据一个或多个方面,如果具有多个逻辑中央处理单元(CPU)划分的设备具有小于阈值数目的逻辑CPU划分,则用于该设备的逻辑CPU划分管理视图被显示为图形表示。该图形表示包括一个或多个图形,其中每个图形标识出多个逻辑CPU划分中相对应的一个的使用。然而,如果该设备具有至少阈值数量的逻辑CPU划分,则用于该设备的逻辑CPU划分管理视图被显示为热度图表示。该热度图表示包括每一个均对应于一个逻辑CPU划分的多个单元格,并且多个单元格中的每一个基于相对应的逻辑CPU划分的使用而以多种不同方式之一进行显示。


相同附图标记贯穿附图指代同样的特征。图I是图示依据一个或多个实施例的实现逻辑CPU划分的使用热度图表示的示例设备的框图。图2图示了依据一个或多个实施例的逻辑CPU划分的管理视图的示例图形表示。图3图示了依据一个或多个实施例的逻辑CPU划分的管理视图的示例热度图表
/Jn ο
图4图示了依据一个或多个实施例的示例提示框。图5图示 了依据一个或多个实施例的逻辑CPU划分的管理视图的示例热度图表
/Jn ο图6图示了依据一个或多个实施例的逻辑CPU划分的管理视图的示例热度图表
/Jn ο图7是图示依据一个或多个实施例的用于设备实现逻辑CPU划分的使用热度图表示的示例处理的流程图。图8图示了依据一个或多个实施例的能够被配置为实现逻辑CPU划分的使用热度图表示的示例计算设备。
具体实施例方式这里对逻辑CPU划分的使用热度图表示进行讨论。计算设备包括多个逻辑CPU划分,诸如多个逻辑处理器。这些多个逻辑CPU划分的使用可以以各种方式进行显示。如果计算设备包括少于阈值数量的逻辑CPU划分,则使用图形表示,其中显示多个图形并且每个图形是相对应的逻辑CPU划分在特定时间量内的使用的图形。然而,如果计算设备包括至少阈值数量的逻辑CPU划分,则使用热度图表示,其中显示具有多个单元格的表格并且每个单元格显示相对应的逻辑CPU划分的使用。每个单元格基于相对应逻辑CPU划分的使用而以多种不同方式(诸如使用不同颜色强度)之一而进行显示。图I是图示依据一个或多个实施例的实现逻辑CPU划分的使用热度图表示的示例设备100的框图。设备100可以是各种不同类型的设备,诸如物理设备或虚拟设备。例如,设备100可以是诸如台式计算机、服务器计算机、膝上或笔记本计算机、平板或记事本计算机、移动站点、娱乐装置、通信耦接至显示设备、电视机或其它显示设备的机顶盒、蜂窝或其它无线电话、游戏操控台、车载计算机等的物理设备。设备100也可以是虚拟设备,诸如在物理设备上运行的虚拟机。虚拟机可以在任意各种不同类型的物理设备(例如,以上所列出的各种类型中的任意类型)上运行。设备100包括一个或多个中央处理单元(CPU)102和存储器104。CPU 102的每一个均可以包括多个(X)逻辑CPU划分106。每个逻辑CPU划分106是逻辑(而不是物理)划分,其允许单个CPU 102被视为多个CPU。不同CPU 102可以具有相同数量的逻辑CPU划分106和/或不同CPU 102可以具有不同数量的逻辑CPU划分106。每个CPU 102可以具有一个或多个核心,并且CPU 102的每个核心可以具有一个或多个逻辑CPU划分106。不同核心可以具有相同数量的逻辑CPU划分106和/或不同核心可以具有不同数量的逻辑CPU划分。在一个或多个实施例中,每个逻辑CPU划分是逻辑处理器。每个逻辑处理器作为单独的CPU由计算设备100上运行的操作系统(或者可替换地单独的CPU核心)进行寻址和对待,尽管多个这样的逻辑处理器可以(并且通常)由相同的CPU 102(或相同CPU 102的相同核心)所实现或者在其上实现。可替换地,每个逻辑CPU划分可以是不同的逻辑划分,诸如非统一存储器访问(NUMA)节点。每个NUMA节点包括存储器区域,并且还可以包括逻辑处理器、CPU和/或CPU核心。虽然这里的许多讨论涉及逻辑处理器,但是应当注意的是,这样的讨论也可以应用于诸如NUMA节点的其它逻辑CPU划分。
存储器104包括易失性存储器(例如,随机访问存储器(RAM))和/或非易失性存储器(例如,闪存、只读存储器(ROM))。存储器104存储由一个或多个CPU 102所执行的指令。存储器104包括操作系统112以及一个或多个处理114。各个不同的程序可以作为处理114在设备100上运行,诸如娱乐程序、游戏程序、资源程序、工具程序、生产程序等。操作系统112对处理114的运行进行管理,包括响应于用户运行程序的请求启动处理114,以及响应于用户终止处理的请求停止处理器114的执行。操作系统112包括逻辑CPU划分管理模块116,其获取与逻辑CPU划分106相关的信息。管理模块116还生成一个或 多个逻辑CPU划分管理视图,如以下更为详细讨论的,其中包括图形表示(也被称作图形视图)和热度图表示(也被称作热度图视图)。管理模块116在那些逻辑CPU划分管理视图中显示逻辑CPU划分的使用。这些逻辑CPU划分管理视图由管理模块116经由用户接口(UI)所显示或以其他方式进行呈现。各种用户输入也可以使用各种不同输入机制经由UI来提供,诸如通过按压设备100的小键盘或键盘的一个或多个按键,按压设备100的控制器的一个或多个按键,按压设备100的触摸板或触摸屏的特定部分,在设备100的触摸板或触摸屏上做出特定手势,在设备100的控制器上做出特定手势,对麦克风提供可听输入,做出图像捕捉组件所观察到的手部或其它身体部位的特定运动,等等。通过这些各种用户输入,用户能够选择特定按钮、显示部分、菜单项等。虽然图I中图示了单个管理模块116,但是应当注意的是,模块116的功能能够可替换地分布到多个模块之中。在图I所图示的示例中,设备100包括CPU 102和逻辑CPU划分管理模块116 二者,并且逻辑CPU划分的管理视图在包括CPU 102的相同设备上被生成并显示。可替换地,逻辑CPU划分管理视图可以在与包括CPU 102的相同设备上生成,并且信号被提供至在其上显示逻辑CPU划分管理视图的另一个设备。可替换地,逻辑CPU划分管理模块116可以包括在与CPU 102不同的设备上,并且因此逻辑CPU划分管理视图可以在不同于包括CPU102的设备的设备上生成(并显示)。典型地,管理模块116响应于请求显示逻辑CPU划分管理视图的用户输入而生成并显示逻辑CPU划分管理视图。可替换地,管理模块116可以响应于多种不同事件生成并显示逻辑CPU划分管理视图,事件诸如来自设备100的另一个组件或模块的请求、来自另一个设备的请求,等等。在一个或多个实施例中,模块116在设备100包括少于(或者可替换地少于或等于)阈值数量(例如,64)的逻辑CPU划分106的情况下将逻辑CPU划分管理视图显示为图形表示,并且在设备100包括至少(或者可替换地多于)阈值数量的逻辑CPU划分106的情况下将逻辑CPU划分管理视图显示为热度图表示。该阈值数量可以有所变化,并且可以任选地由设备100的用户或管理者进行设置。可替换地,显示图形表示还是热度图表示(和/或阈值数量)可以是设备100的用户或管理员所能够设定的配置设置。也可以存在针对任意数量的逻辑CPU划分开启或关闭这种令不同表示得以显示的特征的选项。该选项例如可以由设备100的用户或管理者进行选择。逻辑CPU划分的使用是指该逻辑CPU划分有多少处理能力正被用于执行处理(例如,逻辑CPU划分为繁忙而不是空闲的时间百分比)。这些处理可以包括处理114以及实现至少部分操作系统112的的处理。逻辑CPU划分的这种使用也被称作逻辑CPU划分的活动。
逻辑CPU划分的使用可以以各种不同方式来确定。在一个或多个实施例中,操作系统(例如,图I的操作系统112)包括一个或多个针对CPU 102的每个逻辑CPU划分追踪逻辑CPU划分使用量的模块。在这样的实施例中,逻辑CPU划分管理模块116从这些一个或多个模块获取针对每个逻辑CPU划分的逻辑CPU划分数量。管理模块116还针对每个逻辑CPU划分而从这些一个或多个模块获取每个处理逻辑CPU划分使用数量。可替换地,每个逻辑CPU划分的使用可以以其它方式来确定。例如,逻辑CPU划分管理器(例如,处理器调度器)可以对每个逻辑CPU划分的使用量进行追踪,并且管理模块116可以从该管理器获取逻辑CPU划分使用的数量。管理模块116还可以针对每个逻辑CPU划分而从该管理器获取每个处理逻辑CPU划分使用数量。图2图示了依据一个或多个实施例的逻辑CPU划分管理视图的示例图形表示200。参考作为逻辑处理器的逻辑CPU划分对图形表示200进行讨论,但是其它逻辑CPU划分可以类似地在图形表示200中显示。
图形表示200包括图形部分202和数据部分204。图形部分202包括对应于多个逻辑处理器中每一个的一个图形。在所图示的示例中,设备包括四个逻辑处理器,并且因此图形部分202包括四个图形。图形部分202中的每个图形图示了特定逻辑处理器在特定时间量内的逻辑处理器使用。例如,该特定时间量可以为60秒,但是可替换地能够使用其它时间量。逻辑处理器使用可以使用各种数据单位来显示。例如,逻辑处理器使用可以被显示为特定逻辑处理器的百分比,诸如所使用逻辑处理器能力的百分比(例如,总体可用的逻辑处理器能力的百分比)。可替换地,可以使用其它数据单位。在一个或多个实施例中,每个视图缺省地将逻辑处理器使用显示为该逻辑处理器繁忙而非空闲的时间百分比,而无论该逻辑处理器是以内核还是其它(例如,用户)模式来执行代码。然而,用户能够任选地通过提供各种输入(例如,选择菜单项、选择按钮、输入特定手势等)而选择开启“显示内核使用”。内核使用是指以内核模式执行代码的逻辑处理器的利用,并且图形部分202中的每个图形可以包括图示以内核模式执行代码的每个逻辑处理器的使用的附加线条(未示出)。因此,当示出内核使用时,图形部分202中的每个图形包括两条线一条线图示无论执行代码的模式如何的相对应逻辑处理器的使用,而另一条线则图示以内核模式执行代码的相对应逻辑处理器的使用。图形中的这两条线可以以不同方式进行显示,诸如对两条线显示不同图案(例如,实线和虚线)、对两条线显示不同颜色、不同的线条强度或宽度,等等。在图2所图示的示例中,每个图形具有标识出时间范围(例如,之前的60秒)的水平轴以及在该时间范围内的各个时间点(例如,每秒钟)标识出所使用逻辑处理器能力的百分比的垂直轴(例如,从0%到100%的范围)。该图形被图示为曲线图,虽然可替换地能够使用任意各种不同类型的图形和/或图表,诸如叠加曲线图、柱状图、叠加柱状图、Gantt图表
坐寸ο在一个或多个实施例中,在提示框或者其它窗口或区域中显示与对应于图形部分202中的图形的逻辑处理器相关的附加信息。该附加信息例如可以当在图形上悬停时(例如,当光标或手指位于所显示图形之上或上方时),在图像被选择时(例如,通过用户触碰图形)等等进行显示。如以下更为详细讨论的,可以在这样的提示框或者其它窗口或区域中显示各种附加信息。在图2所图示的示例中,每个图形对应于单个逻辑处理器的使用并对其进行显示。可替换地,在一些情况下,图形可以对应于并显示多个逻辑处理器的使用(例如,平均在一起的多个逻辑处理器的使用)。数据部分204与逻辑处理器在其上实施或者由逻辑处理器所实施的CPU相关的各种数据。在所图示的示例中,关于CPU的使用或利用(例如,如所图示的9%)、CPU的速度(例如,如所图示的2. 00 GHz )、在CPU上运行的处理的数量(例如,如所图示的51 )、在CPU上运行的线程的数量(例如,如所图示的944)、CPU上由操作系统所管理的句柄的数量(例如,如 所图示的153082)以及诸如自设备最后一次被重启或开机起的时间量的CPU累计时间(例如,如所图示的4:22:59:12,诸如4小时22分钟59又12/100秒)的数据被包括在数据部分204中。此外,在所图示的示例中,CPU的最大速度(例如,如所图示的2. 83 GHz)、设备中的物理处理器或CPU的数量(例如,所图示示例中的I)、在设备中的CPU上或由其所实施的逻辑处理器的数量(例如,所图示示例中的4)、针对CPU的虚拟化被支持还是不支持(例如,所图示示例中的无效),CPU所使用的LI高速缓存的大小(例如,所图示示例中的256 KB (千字节))以及CPU所使用的L2高速缓存的大小(例如,所图示示例中的12288KB)也包括在数据部分204中。应当注意的是,数据部分204中所包括的数据是能够连同图形部分202中的图形一起进行显示的数据的示例。然而,并非数据部分204中所图示的所有数据都需要被显示,和/或附加数据能够被包括在数据部分204中。例如,数据部分204可以不包括数据(在这种情况下,图形表示包括图形部分202而不包括数据部分204),仅包括多个逻辑处理器的指示,在图形部分202中标识出水平轴和/或垂直轴的刻度的数据,等等。图形部分202和/或数据部分204中所显示的数据以规律或不规律的间隔进行更新,诸如缺省为每秒钟一次。该间隔任选地可以由包括该逻辑处理器和/或实施逻辑CPU划分管理模块(例如,图I中的模块116)的设备的用户或管理者进行设置。在所图示的示例中,数据部分204显示跨所有逻辑处理器的数据。可替换地,数据部分204能够显示以不同方式进行组织的数据,诸如由具有单独子划分的CPU显示每个CPU的(与数据部分204中所图示相类似的)数据,由具有单独子划分的CPU核心显示每个CPU核心的(与数据部分204中所图示相类似的)数据,等等。图3图示了依据一个或多个实施例的逻辑CPU划分管理视图的示例热度图表示300。参考作为逻辑处理器的逻辑CPU划分对也被称作表格视图或表格表示的热度图表示300进行讨论,但是其它逻辑CPU划分也能够类似地在热度图表示300中进行显示。热度图表示300包括热度图部分302和数据部分304。热度图部分302包括具有多个单元格(cell)的表格或网格,每个单元格对应于多个逻辑处理器之一。在示例的热度图表示300中,每个单元格包括指示逻辑处理器使用的数值。例如,热度图部分302中左上方的单元格指示相对应的逻辑处理器的使用为0%,热度图部分302中右上方的单元格指示相对应的逻辑处理器的使用为16%,等等。指示逻辑处理器使用的数值可以使用各种数据单位进行显示。例如,处理器使用可以被显示为特定逻辑处理器的百分比,诸如所使用的逻辑处理器能力的百分比(例如,总体可用逻辑处理器能力的百分比)。可替换地,可以使用其它数据单位(例如,相对应的逻辑处理器每秒钟所执行的指令数量)。此外,在热度图部分302中,每个单元格基于相对应逻辑处理器的使用而以多种不同方式之一进行显示。在一个或多个实施例中,这些多种不同方式包括使用各种颜色强度对单元格进行颜色编码以指示有多少逻辑处理器能力正被使用。在示例的热度图表示300中,单元格的背景使用不同颜色强度进行颜色编码。可替换地,不同于对单元格的背景进行颜色编码,可以以不同方式来使用颜色强度,诸如将其用来对指示逻辑处理器使用的数值进行颜色编码,将其用来对单元格周围的轮廓或边框进行颜色编码,等等。利用不同的颜色强度对单元格进行颜色编码是指其中变量所取的数值由强度进行表示的数据的图形表示,其是减小(或增加)的量度和增加(或减小)的饱和度的组合。这在视觉上可以通过不同颜色或阴影所表明。使用热度图允许对逻辑处理器使用进行快速的视觉标识,其中较强的颜色与较不强的颜色相比指示更高的使用。表I图示了能够用于不同的逻辑处理器使用数值的热度图的颜色强度的示例。在表I的示例中,逻辑处理器使用数值被确定为所使用的逻辑处理器能力的百分比,并且逻辑处理器使用数值的不同范围对应于不同的强度。数值较低的强度不如数值较高的强度强
(例如,强度I不如强度4强)。不同强度数值之间的强度差可以是非线性或线性的。例如,强度I和强度2之间的强度差可以与强度4和强度5之间的强度差相同,或者所述差可以不同(例如,强度I和强度2之间的强度差可以小于强度4和强度5之间的强度差)。应当注意的是,表I是所能够使用的颜色强度的示例,但是能够使用任意数量的强度,并且能够使用任意的粒度等级,等等。表I
权利要求
1.一种方法,包括 在设备中将逻辑中央处理单元(CPU)划分管理视图显示(706)为热度图表示,该热度图表示包括每一个均对应于该设备的多个逻辑CPU划分之一的多个单元格;并且 基于相对应逻辑CPU划分的使用而以多种不同方式之一来显示(708)作为该热度图表示的一部分的多个单元格中的每一个。
2.根据权利要求I的方法,每个逻辑CPU划分包括逻辑处理器。
3.根据权利要求I的方法,多种不同方式中的每一种包括对应于逻辑CPU划分的使用数值的范围的颜色强度。
4.根据权利要求3的方法,多种不同方式中的每一种包括用于多个单元格中的一个或多个的背景的颜色强度。
5.根据权利要求I的方法,进一步包括针对多个单元格中的一个或多个在单元格中显示标识出多个逻辑CPU划分中相对应的一个的使用的使用数值。
6.根据权利要求5的方法,进一步包括针对多个单元格中的一个或多个在单元格中显示标识出多个逻辑CPU划分中相对应的一个的内核使用的内核使用数值。
7.根据权利要求I的方法,进一步包括为多个单元格之一显示提示框,该提示框包括与对应于多个单兀格之一的逻辑CPU划分相关的附加信息。
8.一种计算设备,包括 一个或多个处理器(802); 一个或多个具有存储于其上的多个指令的计算机可读媒体(804),当被一个或多个处理器所执行时,该指令使得一个或多个处理器 如果该计算设备具有多个逻辑中央处理单元(CPU)划分以及小于阈值数量的逻辑CPU划分,则将该设备的逻辑CPU划分管理视图显示(704)为图形表示,该图形表示包括一个或多个图形,该一个或多个图形中的每一个标识出多个逻辑CPU划分中相对应的一个的使用;并且 如果该计算设备具有至少阈值数量的逻辑CPU划分,则将该设备的逻辑CPU划分管理视图显示(706)为热度图表示,该热度图表示包括每一个均对应于多个逻辑CPU划分之一的多个单元格,该多个单元格中的每一个基于相对应的逻辑CPU划分的使用而以多种不同方式之一进行显示。
9.根据权利要求8的计算设备,每个逻辑CPU划分包括非均匀存储器访问(NUMA)节点。
10.根据权利要求8的计算设备,该多个指令进一步使得一个或多个处理器在多个逻辑CPU划分中相对应的一个被暂停的情况下在相对应的单元格中显示多个逻辑CPU划分中的该相对应的一个被暂停的指示。
11.一种或多种其上存储计算机可执行指令的计算机可读存储媒体,所述指令当由计算设备执行时,使得所述计算设备实现如权利要求I 一 7中的任一个所述的方法。
全文摘要
为具有多个逻辑CPU划分的设备显示逻辑中央处理单元(CPU)划分管理视图。该管理视图被显示为包括多个单元格的热度图表示,每个单元格对应于多个逻辑CPU划分中的一个。作为该热度图表示的一部分,多个单元格中的每一个基于相对应的逻辑CPU划分的使用而以多种不同方式之一进行显示,并且标识多个逻辑处理器中相对应的一个的使用的使用数值也可以被显示在单元格中。
文档编号G06F9/44GK102945162SQ20121041629
公开日2013年2月27日 申请日期2012年10月26日 优先权日2011年10月26日
发明者C.L.罗德斯, P.S.波诺马雷夫, M.P.杜伊南, P.D.多纳特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1