CN104272296A - 提供多重***镜像的处理器 - Google Patents
提供多重***镜像的处理器 Download PDFInfo
- Publication number
- CN104272296A CN104272296A CN201280072799.4A CN201280072799A CN104272296A CN 104272296 A CN104272296 A CN 104272296A CN 201280072799 A CN201280072799 A CN 201280072799A CN 104272296 A CN104272296 A CN 104272296A
- Authority
- CN
- China
- Prior art keywords
- system image
- processor
- memory
- assembly
- isolated system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45541—Bare-metal, i.e. hypervisor runs directly on hardware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Image Processing (AREA)
Abstract
示例处理器包括多个处理核组件、一个或多个存储器接口组件、和管理组件,其中一个或多个存储器接口组件中的每一个被多个处理核组件共享,并且其中管理组件被配置成分配多个处理核组件中的每一个给多个***镜像中的一个。
Description
背景技术
当单核处理器在极大程度上达到它们的复杂度和速度的物理极限时,多核处理器被引入以提升处理器技术空间。不像在单个集成电路(IC)中通常包括单个处理器核的单核处理器,多核处理器在单个IC中通常包括两个或更多个处理器核。例如,双核处理器在单个IC中包括两个处理器核,并且四核处理器在单个IC中包括四个处理器核。
与IC中的处理器核的数量无关,多核体系结构的益处典型地是相同的:增强的性能和/或多任务的有效同时处理(即并行处理)。诸如台式电脑、膝上电脑和服务器的消费者设备或企业设备利用这些益处来改进当运行诸如防病毒扫描、翻录/刻录介质、文件检索、服务多个外部请求等处理器密集处理时的响应时间。
附图说明
示例实施例被描述在随后的详细说明中并且参考附图,其中:
图1描绘了根据实施例的处理器;
图2描绘了根据实施例的***;
图3描绘了根据另一个实施例的处理器;
图4描绘了根据又一个实施例的处理器;
图5描绘了根据实施例的处理流程图;以及
图6描绘了根据另一个实施例的处理流程图。
具体实施方式
本公开的各个实施例针对多核处理器体系结构。更具体地说,各个实施例针对多核处理器体系结构,其中每个处理器核被分配给多个***镜像中的一个,并且诸如存储器接口的处理器组件和输入/输出组件由多个***镜像共享。如下面更详细的描述,这个新颖且先前无法预料的方法提供了单个处理器插槽的更高效率且有效的利用。
作为背景技术,已认识到用电流技术可达到的处理器密度超过多个应用要求的单个***镜像。对于这些应用,更多的核,以及在某些情况下专用处理器单元,不会添加成比例于它们增加的成本的价值。相反地,与多核处理器中的每个核关联的处理能力如果被利用则通常是根本不能充分利用。尽管诸如“虚拟化”和“物理化”的解决方案已被引入以解决这些低效率问题,但是这样的解决方案具有它们自身各自的缺点。而且,不能直接地解决如何高效地且有效地利用多核处理器中的每个处理器核的问题。例如,虚拟软件(例如虚拟机)通常被设计成共享在管理程序下运行的多个***镜像之中的服务器中的多个高性能处理器。该软件是有益的因为其使得信息技术(IT)基础结构更灵活和更便于管理。而且,通过合并较小数量的高利用率的服务器,减少了硬件和能源成本。然而,虚拟软件通常关联于高许可费,并且关联的管理程序可被认为是大的缺陷区域或故障的单个点。此外,虚拟软件强加在主机***上的性能开销。因此,当存在与虚拟解决方案关联的各种益处时,也存在着与该解决方案关联的各种缺点。
相比之下,物理化被定位在从虚拟化开始的频谱的另一端。物理化利用包括在密集体系结构中的低性能处理器的多个轻量级服务器。总体目标是通过对每个“微服务器(micrsoserver)”节点挑选正确大小的处理器来实现最大价值、性能和/或每瓦特的性能。该方法的益处在于通过消除对昂贵的虚拟软件的需求并进一步通过关注***封装效率来减少运行成本。然而,缺点是在每个微服务器节点中利用重复组件。例如,输入/输出组件、存储器、和/或存储器接口被冗余地包含在每个微服务器节点中。而且,“一个服务器,一个应用”物理化模型通常是固定的并且难于管理。
本申请的各个实施例通过利用允许多个***镜像共享单个处理器插槽的硬件和/或固件机构解决至少上述问题。换句话说,各个实施例配置处理器插槽来运行多个较小的***镜像而不是一个大的***镜像。尽管每个较小的***镜像可认为其拥有整个处理器插槽,事实上,每个***镜像可被运行在处理器插槽的一部分上并且与其它***镜像共享处理器组件。
本发明的体系结构通过分配处理器核给不同的***镜像,并且通过由不同的***镜像共享诸如输入/输出和存储器的高成本且通常未充分利用的组件来实现。结果,可以减少每个***镜像的成本,可以高效率地利用处理器核和关联组件,并且可以减轻风险。例如,当与虚拟化解决方案相比时,可以消除管理程序许可费和大故障域。当与物理化相比时,可以消除不可改变的规定和冗余的组件。因此,该体系结构解决与虚拟化和物理化关联的缺点,同时提升处理器效率到先前预料不到的水平。下面将参照各个示例实施例和各个附图对本发明的体系结构进行进一步描述。
在本公开的一个示例实施例中,提供一种处理器。处理器包括多个处理核组件、一个或多个存储器接口组件、以及一个或多个输入/输出组件。多个处理核组件中的每一个被分配给多个独立且孤立的***镜像中的一个。一个或多个存储器接口组件中的每一个由多个独立且孤立的***镜像共享。并且一个或多个输入/输出组件被分配给多个独立且孤立的***镜像。
在本公开的另一个示例实施例中,提供一种***。该***包括处理器和一个或多个存储器组件。处理器包括多个处理核组件、一个或多个存储器接口组件、以及一个或多个输入/输出组件。多个处理核组件中的每一个被分配给多个独立且孤立的***镜像中的一个。一个或多个存储器接口组件中的每一个由多个独立且孤立的***镜像共享。一个或多个输入/输出组件被分配给多个独立且孤立的***镜像。一个或多个存储器组件中的每一个通信地联接到一个或多个存储器接口组件中的一个。并且一个或多个存储器组件的存储器容量的一部分被分配给多个独立且孤立的***镜像中的每一个。
在本公开的又一个示例实施例中,提供另一种处理器。处理器包括多个处理核组件、每个由多个处理核组件共享的一个或多个存储器接口组件、以及配置成分配多个处理核组件中的每一个给多个***镜像中的一个的管理组件。
正如本文使用的,“***镜像”意欲指的是运行单个操作***(OS)或管理程序实例的单个计算节点,并且包括至少一个处理器核、分配的存储器以及分配的输入/输出组件。
图1描绘了根据实施例的处理器100。处理器100包括多个处理器核(110-140)、多个存储器接口组件(150-160)和多个输入/输出组件(170-190),每一个将在下面详细描述。很显然,在图1中描绘的处理器100表示概括的说明并且在没有脱离处理器100的范围的情况下其它组件可被添加或现存的组件可被移除、修改或重新排列。
每个处理器核(110-140)是被配置成读取和执行程序指令的处理设备。每个核(110-140)可包括,例如,控制单元(CU)和算术逻辑单元(ALU)。该CU可被配置成定位、分析和/或执行程序指令。该ALU可被配置成进行计算、比较、运算和/或逻辑操作。总体上,每个核可进行诸如提取、解码、执行和/或回写。尽管仅四个处理器核示出在图1中,应当理解根据各个实施例或多或少的处理器核可被包含在处理器100中。而且,应当理解处理器核(110-140)不必须是同样的,并且可以根据处理能力、大小、速度和/或其它参数而变化。例如,两个处理器核可包括比在相同的处理器100上的两个其它处理器核更大的处理能力。
每个存储器接口组件(150-160)被配置成与一个或多个存储器组件(未示出)接口,并且管理在一个或多个存储器组件中来去的数据流动。例如,每个存储器接口组件可包含被配置成从一个或多个存储器组件读取并且向一个或多个存储器组件写入的逻辑。
每个输入/输出组件(170-190)被配置成提供在处理器的其它内部组件(例如处理器核)和在板上的处理器的外部的组件(例如视频卡)中来去的数据流动。示例输入/输出组件可以是例如根据外设部件互连(PCI)、PCI-扩展(PCI-extended,PCI-X)和/或PCI-快速(PCI-express,PCIe)配置的。这样的输入/输出组件可以用作母板级互连,用集成外设(例如安装处理器的集成电路)和附加外设(例如扩充插件板)二者连接处理器100。类似于上面关于处理器核描述的,应当理解,处理器100上的输入/输出组件(170-190)不必须是同样的,并且每个可以例如根据能力而改变。
在各个实施例中,多个处理器核组件(110-140)、多个存储器接口组件(150-160)和多个输入/输出组件(170-190)可以被集成到单个集成电路模上。可替换地,在各个实施例中,多个处理器核组件(110-140)、多个存储器接口组件(150-160)和多个输入/输出组件(170-190)可被集成在单个芯片封装中的多个集成电路模上。与实施方式无关,多个处理器核组件(110-140)、多个存储器接口组件(150-160)和多个输入/输出组件(170-190)可通过一个或多个通信总线通信地联接。
现在转向处理器100的操作,本公开的各个实施例在单个处理器100上配置多个***镜像。***镜像在一个***镜像不受另一个***镜像影响、控制和/或依赖于另一个***镜像的范围内可以是独立的。***镜像可以在每个***镜像可以彼此分离的范围内孤立,使得关于一个***镜像的信息不能由另一个***镜像访问。例如,具有第一公司数据的***镜像不会受具有第二公司数据的***镜像影响或被具有第二公司数据的***镜像访问,即使二者运行在单个处理器上。
多个处理器核(110-140)中的每一个可以被分配给不同的独立且孤立的***镜像。可替换地或此外,一组处理器核(110-140)可以被分配给独立且孤立的***镜像。例如,如图1中所示,第一处理器核110和第二处理器核120可以被分配给***镜像#1,第三处理器核130可以被分配给***镜像#2,并且第四处理器核可以被分配给***镜像#3。
其它处理器组件可以被类似地分配给一个或多个***镜像或由一个或多个***镜像共享。例如,如图1中所示,第一输入/输出组件170可以被分配给***镜像#1,第二输入/输出组件180可以被分配给***镜像#2,并且第三输入/输出组件190可以被分配给***镜像#3。更进一步地,第一存储器接口150和第二存储器接口160可以由每个***镜像共享。
管理逻辑可以被配置成分配处理器核(110-140)、存储器接口组件(150-160)、和/或输入/输出组件(170-190)给各个***镜像。在某些实施例中,一个或一组处理器核被指定为“君主”,并且被配置成执行管理逻辑以提供该分配。即,一个或一组处理器核可以负责给各个***镜像分配多个处理器核组件,以及存储器接口和输入/输出组件。此外,该君主可以负责例如启用/禁用处理器核组件,分配共享的存储器容量给***镜像(参照图2更详细地讨论),控制每核的复位功能,和/或跟踪错误和其它有关事件。在君主核内和/或在每个最高级功能框内的增强的逻辑可以允许核、存储器地址范围、和输入/输出设备之间的隔离。君主核可以将处理器100配置进多个、独立的***镜像(例如***镜像#1、***镜像#2和***镜像#3),利用启用并被分配给***镜像的核或核组,以及例如主存储器(未示出)的所选择的地址范围和输入/输出组件(170-190)或输入/输出根端口的子集。君主核可控制每个最高级功能单元的复位功能,使得即使其它资源继续操作在其它***镜像中片上资源也可以被重新配置。君主核可以进一步跟踪错误(或影响共享资源的其它相关事件)并且采取合适的动作通知受影响的***镜像。这样的跟踪逻辑可以被君主核虚拟化,或在管理逻辑中为每个***镜像实体复制。
在参照图3和图4下面讨论的可替换实施例中,分离的管理组件可以被包含在处理器100中以通过管理逻辑实施君主处理器核的上述功能。因此,在那个实施方式中,可以不利用君主处理器核或处理器核组。
图2描绘了根据一个实施例的***200。***200包括处理器100、第一存储器210和第二存储器220。很显然,图2中描绘的***200表示概括的说明并且在没有脱离***200的范围的情况下其它组件可被添加或现存的组件可被移除、修改或重新排列。
处理器100类似于上面参照图1描述的处理器,并且包括多个处理器核(110-140)、多个存储器接口组件(150-160)和多个输入/输出组件(170-190)。第一存储器210和第二存储器220可以对应于存储数据、指令等的任意典型的存储设备。例如,第一存储器210和第二存储器220可以包括易失性存储器或非易失性存储器。易失性存储器的示例包括但不限于静态随机存储器(SRAM)和动态随机存储器(DRAM)。非易失性存储器的示例包括但不限于电可擦除只读存储器(EEPROM)、只读存储器(ROM)和闪存。第一存储器210可以被通信地联接到处理器100的第一存储器接口150,并且第二存储器220可以被通信地联接到处理器100的第二存储器接口160。这可以例如通过在基于双倍数据速率(DDR)接口规格(例如DDR3)运行的存储器接口和存储器之间的总线完成。
***镜像(例如***镜像#1、***镜像#2和***镜像#3)和它们各自的核(110-140)可以共享第一存储器210和/或第二存储器220的存储器容量。即,第一存储器210和/或第二存储器220的存储器容量的一部分可以被分配给多个独立且孤立的***镜像的每一个。例如,如图2中所示,第一存储器210和第二存储器220可以被共享,使得***镜像#1、***镜像#2和***镜像#3每个利用存储器容量的一部分。当第一存储器210和第二存储器220可以被共享时,与存储器接口(未示出)互连的地址转换垫片的包含物可以表现出每个***镜像具有独立于其它***镜像的专用存储器样子。
在某些实施例中,第一存储器210和第二存储器220可以基于地址范围而被划分。例如,***镜像#1可以被分配地址范围0-200,***镜像#2可以被分配地址范围201-300,并且***镜像#3可以被分配地址范围301-400。尽管***镜像被示出为在第一存储器210和第二存储器220中具有相同的地址范围,应当理解,***镜像还可以具有在不同存储器中的不同的分配的地址范围。而且,尽管在图2中出现的第一存储器210和第二存储器220是相同的,应当理解,在各个实施例中第一存储器210和第二存储器220可以在类型、大小、速度和其它参数方面不同。例如,第一存储器210可以具有比第二存储器220更大的存储器容量。而且,尽管图2示出每个存储器由每个***镜像共享,应当理解,每个存储器不必须由每个***镜像共享。例如,一个存储器可以由***镜像#1和***镜像号#2共享,而另一个存储器可以由***镜像#2和***镜像#3共享。另外,一个存储器可以仅由单个***镜像使用。如上所讨论的,该存储器容量分布可以由君主处理器核确定,或可替换地由管理组件确定。
图3描绘了根据另一实施例的处理器300。类似于参照图1描述的处理器,处理器300包括多个处理器核(110-140)、多个存储器接口组件(150-160)和多个输入/输出组件(170-190)。然而,此外处理器还包括管理组件310。管理组件310可以被集成到处理器300中并且被配置成基于这里提供的管理逻辑而关于***镜像进行各种处理。
例如,管理组件310可以负责将处理器300配置进多个独立且孤立的***镜像中。管理组件310可以分配多个处理器核(110-140)到不同的***镜像,并且该分配可基于(至少部分地)当前的***需求、预期的***需求、和/或预定义的设置(例如,基于运行的总成本、电力消耗、许可成本管理(较少核的许可通常成本较低)和/或备用资源的要求的设置)。例如,管理组件310可分配多个核给预期要求显著处理能力的***镜像。相比之下,管理组件可以仅分配单个核给预期要求最小处理能力的***镜像。在某些实施例中,该分配可以是动态的,这里核可以基于实时的处理能力要求而再分配给不同的***镜像。而在其它实施例中,该分配可以基于预定义的设置(例如由管理者提供的设置)。
管理组件310还可以负责启用和禁用处理核。该功能可促进以节电和最小化散热的方式更高效地使用处理核。例如,如果核当前没有被使用,管理组件310可停止该核或使该核处于低电状态。
管理组件310可附加地负责并被配置成在多个***镜像之间分配一个或多个存储器的容量。正如提及的,这可以通过分配每个***镜像共享存储器内的地址范围而完成。然而,分配给每个***镜像的存储器的数量不必须相等。
管理组件310可以进一步被配置成跟踪错误或可影响一个或多个核、存储器、存储器接口和输入/输出组件的其它相关事件,并且采取合适的动作来通知这些组件。作为这些处理的一部分,管理组件310可以控制核接着核或镜像接着镜像基础的复位功能,这里一个核/镜像可以在不在处理器300上复位其它核/镜像的情况下被复位。因此,要求核/镜像复位的所检测的事件对处理器上的其它核/镜像不产生有害的影响。
而且,管理组件310可以被配置成分配输入/输出组件(170-190)和关联的端口给各自的***镜像。在某些情况下,一个或多个输入/输出组件(170-190)和关联的端口可以专用于***镜像,并且在其它情况下,一个或多个输入/输出组件(170-190)和关联的端口可以由一个或多个***镜像共享。
特别是对于PCIe输入/输出组件,一个或多个PCIe根端口可以被分配给每个***镜像。通过这些根端口,***镜像可以访问各种输入/输出结构,诸如以太网、无线带宽技术、光纤信道和网络附加存储。通常在根端口(例如I/O高级可编程中断控制器(IOAPIC))或地址重新映射设施共享之间的元件,可以被复制来维持***镜像之间的独立性。一旦每个***镜像被分配给一个或多个PCIe根端口,可以以各种方式将输入/输出线路路由到它们的最终目的地。根据某些实施例的一个方法是直接路由到需要的输入/输出资源。另一个方法是利用处理器上的PCIe开关以允许根端口到输入/输出资源的任意连接。又一个方法是利用接近目的地设备的端点来允许多功能PCIe设备由多个***镜像共享。而且,PCIe功能可以直接实施在处理器上以允许直接连接到特定的输入/输出结构,诸如以太网。此外,小的以太网开关可以被包含在处理器上使得多个***镜像可以共享以太网连接。由于片上开关容量,根端口可以不限于它们本身的宽度,并且较宽的物理连接可提供访问来从给定***镜像突发存取,以利用处理器提供的全带宽。
图4描绘了根据另一个实施例的处理器400。类似于参照图3描述的处理器300,处理器400包括多个处理器核(110-140)、多个存储器接口组件(150-160)、多个输入/输出组件(170-190)和管理组件310。然而,此外处理器400还包括高速缓冲存储器420。高速缓冲存储器420可以是在多个***镜像之间共享的末级高速缓冲存储器。通过将***镜像标识符合并到高速缓冲存储器索引中来分配可用的高速缓冲存储器的独立部分给每个***镜像,正如通过管理组件310编程的,高速缓冲存储器420可以被所有支持的***镜像利用。在某些实施例中,高速缓冲存储器的分配与分配给每个***镜像的核的数量直接成比例。在其它实施例中,高速缓冲存储器的分配基于另一个尺度(例如当前的或预期的***镜像要求)并且不与分配给每个***镜像的核的数量直接成比例。
图5描绘了根据实施例的处理流程图500。应当理解,图5中描绘的处理表示概括的说明,并且在没有脱离本公开的范围和精神的情况下,其它处理可以被添加或现有的处理可以被移除、修改或再排列。而且,应当理解,该处理可以表示可导致诸如管理组件或“君主”处理器核的设备响应、执行行动、改变状态、和/或做出决定的可执行指令、管理逻辑或功能等效电路。在某些实施例中,可执行指令或管理逻辑驻留在管理组件或君主处理器上并由其执行,而在其它实施例中,执行指令或管理逻辑至少部分地驻留在与管理组件或君主处理器通信的另一个组件上。图5没有意欲限制所描述的实施例的实施方式,而是图示本领域技术人员可使用来设计/制造电路、生成软件、或使用硬件和软件的组合来执行所图示的处理的功能信息。
该处理可以在框510处开始,此时多核处理器被启动。这可以例如在处理器接收供应电力时和在***镜像或关联的操作***起动之前发生。
在框520处,管理组件(或一个/多个“君主”处理器核)可以确定或接收关于当前资源需求的信息。例如,管理组件可以确定或接收请求三个***镜像充分地处理***处理的信息。这个确定可以基于例如发送请求并接收来自其它***设备的响应的管理组件或基于由例如管理者或制造者预先编程的设置做出。
在框530处,管理组件(或一个/多个“君主”处理器核)可以确定或接收关于处理器上可用的资源的信息。这样的资源可以是例如处理器核、输入/输出组件、存储器接口、存储器和高速缓冲存储器。例如,参照图1-4,管理组件可以确定或接收关于存在四个处理器核、两个存储器接口、两个存储器、三个输入/输出组件、和一个高速缓冲存储器可用于分配的信息。
然后,管理组件(或一个/多个“君主”处理器核)可以在框540处确定每个核的***镜像分配。这可以基于管理组件上的处理或基于接收自另一个组件的指令而发生。例如,如图1中所示,第一处理器核110和第二处理器核120可以被分配给***镜像#1、第三处理器核130可以被分配给***镜像#2,并且第四处理器核可以被分配给***镜像#3。在这个示例中,***镜像#1要求比***镜像#2和#3更多的处理资源,并且因此附加的处理器核被分配给这个***镜像。
在框550处,管理组件(或一个/多个“君主”处理器核)可以确定或接收关于输入/输出组件分配的信息。如上所述,每个***镜像可以被分配不同的输入/输出组件,或多个***镜像可以共享输入/输出组件。特别是对于PCIe输入/输出组件,一个或多个PCIe根端口可以被分配给每个***镜像,并且通过这些根端口,***镜像可以访问诸如以太网、无线带宽技术、光纤信道和网络附加存储的各种输入/输出结构。
在框560处,管理组件(或一个/多个“君主”处理器核)可以确定或接收关于每个***镜像的存储器分配的信息。这可以包括附接存储器(例如RAM/ROM)以及高速缓冲存储器的分配。关于附接存储器,该存储器可以被所有的或部分的***镜像共享。在某些实施例中,这个分配基于地址区域而发生。例如,参照图2,***镜像#1可以被分配地址范围0-200,***镜像#2可以被分配地址范围201-300,并且***镜像#3可以被分配地址范围301-400。关于高速缓冲存储器,该高速缓冲存储器可以被***镜像共享。这可以以下述方式完成,例如通过将***镜像标识符合并到高速缓冲存储器索引中来分配可用的高速缓冲存储器的独立部分给每个***镜像,正如通过管理组件编程的。
在框570处,在确定对各个***镜像的各种分配之后,多核处理器可以进行根据规定的分配的操作。
图6描绘了根据实施例的处理流程图600。应当理解,图6中描绘的处理表示概括的说明,并且在没有脱离本公开的范围和精神的情况下其它处理可以被添加或现有的处理可以被移除、修改或再排列。而且,应当理解,该处理可以表示可导致诸如管理组件或“君主”处理器核的设备响应、执行动作、改变状态、和/或做出决定的可执行指令、管理逻辑或功能等效电路。在某些实施例中,可执行指令或管理逻辑驻留在管理组件或君主处理器上并由其执行,而在其它实施例中,可执行指令或管理逻辑至少部分地驻留在与管理组件或君主处理器通信的另一个组件上。图6没有意欲限制所描述的实施例的实施方式,而是图示本领域技术人员可使用来设计/制造电路、生成软件、或使用硬件和软件的组合来执行所图示的处理的功能信息。
该处理可以在框610处开始,此时管理组件(或一个/多个君主核)开始监控处理器。这可以包括管理组件监控***镜像、处理器组件(例如输入/输出、高速缓冲存储器、存储器控制器等)和/或关联的组件(例如附接存储器)。这可以发生在例如处理器核已被分配给***镜像以及在这些***镜像加入与运转之后。作为监控的一部分,管理组件可以监控处理器的事件、工作量水平和/或配置指令。
在框620处,管理组件可以检测事件。该事件可以是,例如,诸如存储器错误或损坏数据错误的错误。管理组件可以评估这个事件并且确定特定的行动过程。例如,在框630处,响应于接收到存储器错误事件,管理组件可以确定受影响的***镜像并通知每个***镜像关于该事件。然后,该***镜像可以在收到事件通知后采取适当的行动。可替换地或此外,在框640处,响应于该事件,管理组件可以采取适当的行动,诸如分配备用设备、启动镜像迁移、和/或使***镜像复位。管理组件可以对镜像接着镜像基础的复位功能进行控制,使得一个或多个***镜像可以在不复位一个或多个其它***镜像的情况下被复位。其后,该处理可以回复到管理组件(或一个/多个君主核)继续监控处理器的框610。
另外,作为监控处理的一部分,管理组件可以在框650处确定工作量水平。然后,管理组件可以在框660处基于当前工作量水平进行动态再分配。这样的动态再分配可以包括处理器核、存储器、和/或输入/输出组件的再分配。例如,响应于管理组件确定一个***镜像因处理器密集处理而处于重负荷并且另一个***镜像仅是轻负荷,该管理组件可以再分配附加的处理器核给该重负荷***镜像。此外,如果需要管理组件可以再分配存储器容量和/或输入输出组件给该重负荷***镜像。其后,处理可回复到管理组件(或一个/多个君主核)继续监控处理器的框610。
而且,作为监控处理的一部分,管理组件可以在框670处接收配置指令。这样的配置指令可以来自例如另一个***组件(例如另一个处理器)或潜在的管理者或管理节点。该指令可以包括特定***镜像配置变化,诸如所分配的处理器核的数量、所分配的存储器的数量、输入/输出组件的数量、添加/移除的***镜像等。响应于接收到这个配置信息,管理组件可以至少部分地基于配置指令继续进行动态再分配。其后,处理可以回复到管理组件(或一个/多个君主核)继续监控处理器的框610。
参照前述的示例性实施例示出和描述了本公开。然而,应当理解,在没有脱离被定义在随后权利要求书中的本公开的精神和范围的情况下,可以做出其它形式、细节和实施例。
Claims (15)
1.一种处理器,包括:
多个处理核组件;
一个或多个存储器接口组件;以及
一个或多个输入/输出组件,
其中多个处理核组件中的每一个被分配给多个独立且孤立的***镜像中的一个,
其中一个或多个存储器接口组件中的每一个由多个独立且孤立的***镜像共享,并且
其中一个或多个输入/输出组件被分配给多个独立且孤立的***镜像。
2.根据权利要求1所述的处理器,进一步包括:管理组件,所述管理组件用于分配多个处理核组件中的每一个给多个独立且孤立的***镜像中的一个。
3.根据权利要求1所述的处理器,其中多个处理核组件中的一个用于分配多个处理核组件的每一个给多个独立且孤立的***镜像中的一个。
4.根据权利要求1所述的处理器,其中所述处理器用单模制造。
5.根据权利要求1所述的处理器,其中多个处理核组件的两个或更多个被分配给多个独立且孤立的***镜像中的一个。
6.根据权利要求1所述的处理器,其中所述处理器不利用管理程序。
7.根据权利要求1所述的处理器,其中一个或多个存储器接口组件中的每一个与存储器组件通信地联接,并且其中所述存储器组件的存储器容量的一部分被分配给多个独立且孤立的***镜像中的每一个。
8.一种***,包括:
处理器,包括
多个处理核组件;
一个或多个存储器接口组件;以及
一个或多个输入/输出组件,
其中多个处理核组件中的每一个被分配给多个独立且孤立的***镜像中的一个,
其中一个或多个存储器接口组件中的每一个由多个独立且孤立的***镜像共享,并且
其中一个或多个输入/输出组件被分配给多个独立且孤立的***镜像;以及
一个或多个存储器组件,
其中一个或多个存储器组件中的每一个与一个或多个存储器接口组件中的每一个通信地联接,并且
其中一个或多个存储器组件的存储器容量的一部分被分配给多个独立且孤立的***镜像中的每一个。
9.根据权利要求8所述的***,其中存储器容量的所述部分是与所述存储器组件关联的存储器地址范围。
10.根据权利要求8所述的***,其中所述处理器进一步包括管理设备来:
在多个独立且孤立的***镜像之间分配存储器组件容量;
分配一个或多个输入/输出组件给多个独立且孤立的***镜像;或
检测错误并通知多个独立且孤立***镜像中的一个或多个关于所述错误。
11.根据权利要求8所述的***,其中所述处理器进一步包括高速缓冲存储器组件,其中所述高速缓冲存储器组件由多个处理核组件共享。
12.根据权利要求8所述的***,其中多个独立且孤立的***镜像中的每一个可以在多个独立且孤立的***镜像中的另一个没有复位的情况下复位。
13.一种处理器,包括:
多个处理核组件;
一个或多个存储器接口组件,每一个由多个处理核组件共享;以及
管理组件,用于分配多个处理核组件中的每一个给多个***镜像中的一个。
14.根据权利要求13所述的处理器,其中所述管理组件进一步启用和禁用多个处理核组件中的每一个。
15.根据权利要求13所述的处理器,其中所述管理组件进一步接收来自管理者的命令并且至少部分地基于接收自所述管理者的命令来再分配多个处理核组件给多个***镜像。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/035782 WO2013165349A1 (en) | 2012-04-30 | 2012-04-30 | Processor providing multiple system images |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104272296A true CN104272296A (zh) | 2015-01-07 |
Family
ID=49514618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280072799.4A Pending CN104272296A (zh) | 2012-04-30 | 2012-04-30 | 提供多重***镜像的处理器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150039873A1 (zh) |
CN (1) | CN104272296A (zh) |
WO (1) | WO2013165349A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074701A (zh) * | 2016-03-18 | 2018-12-21 | 捷德货币技术有限责任公司 | 用于评估有价文件的传感器数据的装置和方法 |
WO2019165774A1 (zh) * | 2018-02-28 | 2019-09-06 | 郑州云海信息技术有限公司 | 一种双镜像共享conf分区文件的设计方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765633A (zh) * | 2015-04-22 | 2015-07-08 | 浪潮电子信息产业股份有限公司 | 服务器操作***的安装方法、装置及可移动存储设备 |
US10591976B2 (en) * | 2016-11-10 | 2020-03-17 | Apple Inc. | Methods and apparatus for providing peripheral sub-system stability |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6931640B2 (en) * | 2000-05-18 | 2005-08-16 | Hitachi, Ltd. | Computer system and a method for controlling a computer system |
US20080216085A1 (en) * | 2005-02-25 | 2008-09-04 | International Business Machines Corporation | System and Method for Virtual Adapter Resource Allocation |
CN101460923A (zh) * | 2006-06-01 | 2009-06-17 | 微软公司 | 用于在m核处理器上操作n核应用程序的虚拟机 |
CN101482832A (zh) * | 2007-12-31 | 2009-07-15 | 英特尔公司 | 用于支持具有众核的计量客户端的***和方法 |
US20110161955A1 (en) * | 2009-12-29 | 2011-06-30 | Woller Thomas R | Hypervisor isolation of processor cores |
US20110265093A1 (en) * | 2010-04-27 | 2011-10-27 | Hitachi, Ltd. | Computer System and Program Product |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647508B2 (en) * | 1997-11-04 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation |
US7475399B2 (en) * | 2004-01-13 | 2009-01-06 | International Business Machines Corporation | Method and data processing system optimizing performance through reporting of thread-level hardware resource utilization |
US8032889B2 (en) * | 2006-04-05 | 2011-10-04 | Maxwell Technologies, Inc. | Methods and apparatus for managing and controlling power consumption and heat generation in computer systems |
CN101403982B (zh) * | 2008-11-03 | 2011-07-20 | 华为技术有限公司 | 一种多核处理器的任务分配方法和*** |
US8195859B2 (en) * | 2008-12-03 | 2012-06-05 | Hitachi, Ltd. | Techniques for managing processor resource for a multi-processor server executing multiple operating systems |
WO2010137262A1 (ja) * | 2009-05-25 | 2010-12-02 | パナソニック株式会社 | マルチプロセッサシステム、マルチプロセッサ制御方法、及びマルチプロセッサ集積回路 |
US8402261B2 (en) * | 2009-10-02 | 2013-03-19 | Ca, Inc. | System and method providing a pluggable architecture for task management on computers |
US8516493B2 (en) * | 2011-02-01 | 2013-08-20 | Futurewei Technologies, Inc. | System and method for massively multi-core computing systems |
-
2012
- 2012-04-30 WO PCT/US2012/035782 patent/WO2013165349A1/en active Application Filing
- 2012-04-30 CN CN201280072799.4A patent/CN104272296A/zh active Pending
- 2012-04-30 US US14/387,887 patent/US20150039873A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6931640B2 (en) * | 2000-05-18 | 2005-08-16 | Hitachi, Ltd. | Computer system and a method for controlling a computer system |
US20080216085A1 (en) * | 2005-02-25 | 2008-09-04 | International Business Machines Corporation | System and Method for Virtual Adapter Resource Allocation |
CN101460923A (zh) * | 2006-06-01 | 2009-06-17 | 微软公司 | 用于在m核处理器上操作n核应用程序的虚拟机 |
CN101482832A (zh) * | 2007-12-31 | 2009-07-15 | 英特尔公司 | 用于支持具有众核的计量客户端的***和方法 |
US20110161955A1 (en) * | 2009-12-29 | 2011-06-30 | Woller Thomas R | Hypervisor isolation of processor cores |
US20110265093A1 (en) * | 2010-04-27 | 2011-10-27 | Hitachi, Ltd. | Computer System and Program Product |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109074701A (zh) * | 2016-03-18 | 2018-12-21 | 捷德货币技术有限责任公司 | 用于评估有价文件的传感器数据的装置和方法 |
WO2019165774A1 (zh) * | 2018-02-28 | 2019-09-06 | 郑州云海信息技术有限公司 | 一种双镜像共享conf分区文件的设计方法及装置 |
US11586535B2 (en) | 2018-02-28 | 2023-02-21 | Zhengzhou Yunhai Information Technology Co., Ltd. | Method and apparatus for designing dual-mirror shared conf partition file |
Also Published As
Publication number | Publication date |
---|---|
US20150039873A1 (en) | 2015-02-05 |
WO2013165349A1 (en) | 2013-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9135126B2 (en) | Multi-core re-initialization failure control system | |
US8161309B2 (en) | Apparatus, system, and method for controlling power sequence in a blade center environment | |
US8392659B2 (en) | Extending cache capacity on multiple-core processor systems | |
CN104714846A (zh) | 资源处理方法、操作***及设备 | |
CN104346317B (zh) | 共享资源访问方法和装置 | |
US9094415B2 (en) | Managing capacity on demand in a server cloud | |
US9032482B2 (en) | Information processing apparatus and control method | |
US11809252B2 (en) | Priority-based battery allocation for resources during power outage | |
US20200348973A1 (en) | Performance monitoring and resource management | |
CN102308274B (zh) | 一种访问关机硬盘的方法、网卡和硬盘卡 | |
CN105190567A (zh) | 用于管理存储***快照的***和方法 | |
CN109684074A (zh) | 物理机资源分配方法及终端设备 | |
CN103080918A (zh) | 功率优化的中断传递 | |
US7966519B1 (en) | Reconfiguration in a multi-core processor system with configurable isolation | |
US20220291961A1 (en) | Optimizing ran compute resources in a vertically scaled vran deployment | |
CN103403689A (zh) | 一种资源故障管理方法、装置及*** | |
CN102983989B (zh) | 一种服务器虚拟地址的迁移方法、装置和设备 | |
CN104272296A (zh) | 提供多重***镜像的处理器 | |
CN101876911A (zh) | 基于PCI/PCIe总线多CPU***启动方法及模块 | |
CN102597972A (zh) | 虚拟计算机***、区域管理方法及程序 | |
US20180048559A1 (en) | Apparatus assigning controller and apparatus assigning method | |
CN107085503A (zh) | 存储设备、存储***及信息处理方法 | |
US10649943B2 (en) | System and method for I/O aware processor configuration | |
CN111258763B (zh) | 一种服务器***及服务器***的控制方法和装置 | |
CN104272295A (zh) | 地址转换板 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |
|
WD01 | Invention patent application deemed withdrawn after publication |