CN104272296A - 提供多重系统镜像的处理器 - Google Patents

提供多重系统镜像的处理器 Download PDF

Info

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
Application number
CN201280072799.4A
Other languages
English (en)
Inventor
格雷格·莱萨日特
文森特·恩吉耶
帕特里克·克内贝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104272296A publication Critical patent/CN104272296A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45541Bare-metal, i.e. hypervisor runs directly on hardware
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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所述的处理器,其中所述管理组件进一步接收来自管理者的命令并且至少部分地基于接收自所述管理者的命令来再分配多个处理核组件给多个系统镜像。
CN201280072799.4A 2012-04-30 2012-04-30 提供多重系统镜像的处理器 Pending CN104272296A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765633A (zh) * 2015-04-22 2015-07-08 浪潮电子信息产业股份有限公司 服务器操作系统的安装方法、装置及可移动存储设备
US10551902B2 (en) * 2016-11-10 2020-02-04 Apple Inc. Methods and apparatus for providing access to peripheral sub-system registers

Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN102105866B (zh) * 2009-05-25 2014-02-26 松下电器产业株式会社 多处理器系统、多处理器控制方法、以及多处理器集成电路
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US9164853B2 (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
CN104798008B (zh) 控制处理器的可配置的峰值性能极限
CN104714846A (zh) 资源处理方法、操作系统及设备
CN100573456C (zh) 一种并行多处理器虚拟机系统
DE112017003710T5 (de) Verfahren zum Konfigurieren physischer Rechenressourcen für Arbeitslasten per Leitungsvermittlung verwandte Fälle
CN104346317B (zh) 共享资源访问方法和装置
US9094415B2 (en) Managing capacity on demand in a server cloud
US9032482B2 (en) Information processing apparatus and control method
US20200348973A1 (en) Performance monitoring and resource management
CN102308274B (zh) 一种访问关机硬盘的方法、网卡和硬盘卡
CN105190567A (zh) 用于管理存储系统快照的系统和方法
CN103210379A (zh) 服务器系统、管理方法及设备
US20210034130A1 (en) Priority-based battery allocation for resources during power outage
US7966519B1 (en) Reconfiguration in a multi-core processor system with configurable isolation
CN103403689A (zh) 一种资源故障管理方法、装置及系统
CN102983989B (zh) 一种服务器虚拟地址的迁移方法、装置和设备
CN104272296A (zh) 提供多重系统镜像的处理器
CN101876911A (zh) 基于PCI/PCIe总线多CPU系统启动方法及模块
CN102597972A (zh) 虚拟计算机系统、区域管理方法及程序
US20180048559A1 (en) Apparatus assigning controller and apparatus assigning method
CN107085503A (zh) 存储设备、存储系统及信息处理方法
US20220291961A1 (en) Optimizing ran compute resources in a vertically scaled vran deployment
US8688889B2 (en) Virtual USB key for blade server

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