CN103180819A - 多处理器计算机系统和方法 - Google Patents
多处理器计算机系统和方法 Download PDFInfo
- Publication number
- CN103180819A CN103180819A CN2010800699105A CN201080069910A CN103180819A CN 103180819 A CN103180819 A CN 103180819A CN 2010800699105 A CN2010800699105 A CN 2010800699105A CN 201080069910 A CN201080069910 A CN 201080069910A CN 103180819 A CN103180819 A CN 103180819A
- Authority
- CN
- China
- Prior art keywords
- processor
- guidance code
- coupled
- processors
- communicatedly
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000015654 memory Effects 0.000 claims abstract description 14
- 238000010168 coupling process Methods 0.000 claims description 28
- 238000005859 coupling reaction Methods 0.000 claims description 28
- 230000008878 coupling Effects 0.000 claims description 27
- 238000001514 detection method Methods 0.000 claims description 7
- 238000009434 installation Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 240000004859 Gamochaeta purpurea Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
提供多处理器计算机系统和方法。一种多处理器计算机系统可以包括多个通信地耦合的处理器(1101-N),每个处理器耦合到共同母板(120)并且每个处理器与存储器(1401-N)关联。该系统可以包括可从标准模式和独立模式中的至少一个模式执行的引导代码(130)。多个通信地耦合的处理器可以在标准模式中执行引导代码的一个实例,并且多个通信地耦合的处理器的至少一部分可以在独立模式中执行引导代码的一个实例。
Description
背景技术
具有多个处理器插座的计算机系统形成高性能计算产业的骨干。将多个处理器安装到单个系统中提供比仅提供单处理器的系统明显更大的计算能力。处理器制造商已经将多处理器能力直接集成到芯片架构中,Intel的QuickPath
Interconnect(“QPI”)和AMD的HyperTransport提供了芯片制造商如何寻求利用多处理器系统的仅两个示例。
芯片制造商认识到多处理器系统的价值和重要性并且对具有用于与一个或者多个附加处理器互连的能力的处理器相应地定价。经常可以相对于让其多处理器互连能力使能的相同处理器折扣购买让其多处理器互连能力禁用的处理器。在系统中供应单个的互连禁用的处理器的情况下,为希望将系统扩展成多处理器系统的用户留有用工厂配置的多处理器系统代替整个系统或者用新的互连使能的处理器代替现有的互连禁用的处理器并且然后添加第二相似处理器的不值得羡慕(并且高成本)的选择。两个选项对于用户而言成本高并且不方便。
附图说明
一个或者多个公开的实施例的优点可以在阅读下文详细描述时和参照以下附图时变得清楚,在附图中:
图1是描绘根据这里描述的一个或者多个实施例的示例多处理器计算机系统的框图;
图2是描绘根据这里描述的一个或者多个实施例的另一示例多处理器计算机系统的框图;
图3是描绘根据这里描述的一个或者多个实施例的示例多处理器计算机方法的流程图;并且
图4是描绘根据这里描述的一个或者多个实施例的另一示例多处理器计算机方法的流程图。
具体实施方式
高性能计算平台越来越多地利用具有多处理器能力的系统架构。在系统内使用多个处理器增添明显的计算功率(horsepower)而无尝试使用单处理器系统来构造相似系统的附加成本。如这里所用,术语“处理器”可以包括能够执行一个或者多个指令集或者指令序列的任何计算设备。术语“处理器”因此可以包括中央处理单元(CPU)以及被配置用于执行指令的任何其他处理器。
处理器制造商理解多处理器系统的重要性并且经常提供具有互连路径的处理器。处理器制造商有时禁用互连路径并且以显著折扣提供处理器。购买具有仅安装的单个工厂处理器的具有多处理器能力的系统的用户可以发现在安装的处理器上的互连路径已经被处理器制造商禁用,由此限制用户随后升级系统以利用多处理器系统的增强性能的能力。
用于将计算设备划分成独立计算子系统的能力向其计算需要随时间演变或者是异质的用户提供灵活性并且有时提供财务优点。计算机划分主要是为高端低容量系统保留的昂贵提议。这样的系统的成本反映实现划分而需要的专门化处理器、芯片组和互连的使用。输入/输出(I/O)或者互连解决方案例如一般要求使用重复资源在划分模式中提供独立资源集合。具有使用高容量、低成本、非划分认知部件的能力的系统将大大地减少具有划分能力的系统的成本。
多处理器系统可以具有经常在单处理器系统上不可用的独特能力,诸如硬盘驱动器可扩展性或者高图形卡功率预算。希望这样的能力的用户可以购买多处理器系统,但是利用仅一个处理器配置系统。这样的解决方案从用户的观点来看成本效率低,因为他们将为包括高层计数印刷电路板、第二处理器电压调节、扩展的母板和底盘、附加电源轨等的未使用的多处理器支持能力付费。提供具有可用于在提供附加独立计算机中使用的这些未使用(untapped)能力的系统因此向最终用户提供显著经济性。
提供一种多处理器计算机系统。该多处理器计算机系统可以包括多个通信地耦合的处理器,每个处理器耦合到共同母板并且每个处理器与存储器关联。该系统可以包括可从标准模式和独立模式中的至少一个模式执行的引导代码。多个通信地耦合的处理器可以在标准模式中执行引导代码的一个实例,并且多个通信地耦合的处理器的至少一部分可以在独立模式中执行引导代码的一个实例。
如这里所用,术语“母板”可以指代包含一个或者多个集成电路并且其他板可以耦合到的任何印刷电路板。示例可能包括但不限于包含计算设备中包括的基本电路和扩展端口的主印刷电路板。
也提供一种多处理器计算机方法。该方法可以包括进入独立模式。在独立模式内,该方法可以包括从第一引导代码存储设备取回第一引导代码并且从第二引导代码存储设备取回第二引导代码。该方法可以包括在从耦合到母板的多个处理器选择的第一组处理器上执行第一引导代码而同时在从耦合到母板的多个处理器选择的第二组处理器上执行第二引导代码。
也提供另一种多处理器计算机系统。该多处理器计算机系统可以包括耦合到共同母板的两个通信地耦合的处理器。该系统还可以包括第一引导代码和可由两个通信地耦合的处理器中的第一处理器访问的第一存储器。两个通信地耦合的处理器可以被配置用于当在标准模式中时执行第一引导代码的一个实例。第一输入/输出(I/O)控制器可以当在标准模式中时耦合到两个通信地耦合的处理器。该系统还可以包括划分模块。划分模块可以包括第二引导代码和可以当在独立模式中时耦合到第二处理器的第二输入/输出控制器。两个通信地耦合的处理器中的第二处理器可以被配置用于当在独立模式中时执行第二引导代码的一个实例。该系统还可以包括用于允许在标准模式或者独立模式中的至少一个模式之间可逆地交替的用户接口。
如这里所用,术语“通信耦合”或者用来“通信地耦合”设备的连接是可以用来传输和/或接收电磁信号、物理通信、逻辑通信或者其组合的通信耦合或者连接。可以直接耦合或者通过中间物理或者或者逻辑设备耦合称为相互通信地耦合的设备。例如通信地耦合到母板的设备可以包括直接连接到母板或者通信地耦合到子板的设备,该子板又通信地耦合到母板。通信耦合可以包括足以允许在多个设备之间的间歇或者连续通信或者控制的物理接口、电接口、数据接口或者其组合。例如,可以通过能够直接或者通过比如处理器、操作系统、逻辑器件、软件的一个或者多个中间实体或者其他实体相互传送信号来通信地耦合两个实体。
图1是描绘根据一个或者多个实施例的示例多处理器计算机系统100的框图。该系统可以包括通信地耦合到母板120的多个处理器110(在图中标注为1101-N)。多个处理器110的全部或者一部分可以耦合到引导代码1301。此外,多个处理器110的全部或者一部分可以与存储器140(在图1中标注为1401-N)关联。可以经由一个或者多个处理器到处理器互连160耦合、连接或者否则链接多个处理器110的至少一部分。多个处理器110的至少一部分可以链接到至少一个输入/输出(I/O)控制器1701。在图1中描绘的实施例中,多个处理器110的第一部分可以访问和执行引导代码1301。
多个处理器110可以包括通信地耦合到共同母板120的任何数量的物理地分离或者相异的处理器。在至少一些实施例中,可以在通信地耦合到母板120的单独电路板(常称为“子板”)上物理地设置多个处理器110的全部或者一部分。在至少一些实施例中,可以在耦合到母板120的插座或者相似接受器(receptacle)中设置多个处理器110的全部或者一部分。多个处理器110可以包括被配置用于执行包含一个或者多个指令的序列的一个或者多个中央处理单元(CPU)或者任何其他类型的电子或者逻辑器件。
在至少一些实施例中,多个处理器110的至少一部分可以包括实现将处理器耦合或者链接到至少一个其他处理器、由此形成多处理器计算设备的处理器到处理器互连160。这些处理器到处理器互连160可以包括被配置用于允许跨两个或者更多处理器合作执行一个或者多个指令集的任何数量的系统、设备或者系统与设备的任何组合。示例处理器到处理器互连160可以包括但不限于Intel®提供的QuickPath Interconnect(“QPI”)和AMD®提供的HyperTransport。
在至少一些实施例中,多个处理器110可以包括具有禁用的处理器到处理器互连特征的一个或者多个处理器。具有禁用的处理器到处理器互连特征的处理器经常价格低于、有时显著低于具有使能的处理器到处理器互连特征的类似处理器。这样的禁用的处理器的成本节省使它们的使用在可以具有多个处理器插座、但是在向用户交付时仅有一个安装的板上处理器的计算机系统中在经济上有吸引力。虽然使用禁用的处理器可以在财务上吸引系统制造商,但是这样的使用经常给希望扩展这样的系统的用户带来显著财务代价——在这样的实例中,为用户留有用多处理器计算系统代替整个计算系统或者用使能的处理器代替禁用的处理器、之后添加新的使能的处理器的选择。
引导代码1301可以包括被配置用于在初始向多个处理器110的至少一部分供电时由多个处理器110中的一个或者多个处理器执行的一个或者多个指令集。在一些实施例中,多个处理器110的至少一部分可以经由输入/输出控制器1701访问引导代码。例如,可以在经由I/O控制器1701可访问的只读存储器(ROM)位置中存储引导代码1301。在其他实施例中,虽然在图1中未示出,但是引导代码1301可以由多个处理器110中的至少一个处理器直接访问。引导代码1301除其他之外可以包括加载输入/输出设备驱动器、一个或者多个总线驱动器、一个或者多个非易失性存储设备驱动器或者其任何组合的一个或者多个指令。
存储器140可以是耦合到处理器110的任何形式或者类型的易失性或者非易失性存储。在至少一些实施例中,存储器140可以排他地与具体处理器110关联,例如存储器1401可以排他地与处理器1101关联,存储器1402可以排他地与处理器1102关联,以此类推。在其他实施例中,存储器140可以与从多个处理器110选择的一组处理器关联。在一些实施例中,可以整体或者部分地在处理器110内设置存储器140。存储器140可以整体或者部分地包括高速缓存,例如在CPU本身内设置的中央处理单元(CPU)高速缓存。
处理器到处理器互连160可以包括适合用于提供在多个处理器110中的一些或者所有处理器之间的双向串行/并行高带宽低延迟点到点链路的任何系统或者设备。在一些实施例中,处理器到处理器互连160可以包括一个或者多个数据传送层,例如具有多达五层的Intel® QPI处理器到处理器互连,五层:物理层、链路层、路由层、传送层和协议层。在一些实施例中,处理器到处理器互连160可以包括向多个处理器中的一些或者所有处理器、母板或者两者中并入的一个或者多个系统或者设备。例如,Intel®和AMD®供应的处理器可以具有板上处理器到处理器互连系统或者设备。可以在制造时使能或者禁用处理器到处理器互连160中的任何或者所有处理器到处理器互连。
输入/输出控制器1701可以包括被配置用于将多个处理器110中的一个或者多个处理器耦合到至少一个输入/输出(I/O)设备的任何系统、设备或者系统与设备的组合。如图1中所示,在一些实例中,I/O控制器1701可以向多个处理器中的一些或者所有处理器提供对引导代码1301的全部或者部分的访问。经由I/O控制器170耦合到多个处理器110中的至少一个处理器的示例I/O设备可以包括但不限于诸如硬盘驱动器或者固态驱动的存储设备、一个或者多个音频接口、一个或者多个联网接口、一个或者多个通信接口、诸如IEEE 1394(Firewire®)或者通用串行总线(USB)通信接口。I/O控制器1701可以包括一个或者多个南桥控制器。
图2是描绘根据一个或者多个实施例的另一示例多处理器计算机系统200的框图。系统200描绘示例双处理器计算系统。系统200可以包括耦合到共同母板120的两个处理器1101-2。包括但不限于第二引导代码1302和第二I/O控制器1702的划分模块210也可以耦合到母板120。第二I/O控制器1702可以逻辑地耦合到第二处理器1102。用户接口220可以用来配置系统200、例如配置系统200为单引导双处理器配置或者双引导单划分处理器配置。在一些实施例中,系统200可以包括用于检测划分模块210在系统200内的放置的检测逻辑230。
虽然将关于双处理器系统详细描述系统200,但是任何数量的处理器可以被相似地分组、划分和配备有对如在系统200内提供物理和逻辑独立的计算设备而需要的必需系统资源、诸如电源、存储器等的排他访问。此外,虽然将关于使用单个划分模块210创建的单个划分系统详细地描述系统200,但是可以在包含三个或者更多处理器的系统上使用任何数量的相似划分模块210以提供都耦合到共同母板120的至少三个划分的独立地可引导的处理器,每个处理器提供物理和逻辑独立的计算设备。
划分模块210可以包括独立地引导多个处理器110的至少一部分、例如图2中所示两个示例处理器1101-2之一而必需的任何数量的系统、设备或者系统与设备的组合。例如,可以在从多个处理器110选择的第一组处理器上执行第一引导代码1301以提供耦合到母板120的第一独立计算设备。以相同方式,可以在从多个处理器110选择的第二组处理器上执行在划分模块210内设置的第二引导代码1302以提供耦合到母板120的第二独立计算设备。第一引导代码1301有时可以由处理器1101与处理器1102执行第二引导代码1302同时地执行。
如图2中示例地所示,划分模块210可以包括第二引导代码1302和第二I/O控制器1702。使用第二I/O控制器1702,第二组处理器1102可以访问第二引导代码1302。这样的访问可以允许独立于第一组处理器的引导的第二组处理器1102的引导。扩展系统200内的处理器110的数量和划分模块210的数量两者,可以针对每组处理器使用经由专用I/O控制器170N访问的专用引导代码130N来相似地独立引导任何数量的处理器组110N。
虽然在图2中仅描绘第二引导代码1302和第二I/O控制器1702,但是划分模块210也可以包括一个或者多个附加设备、例如一个或者多个存储器设备、一个或者多个存储器控制器、附加I/O控制器或者其组合。
划分模块210可以是分立板装部件或者集成为另一板装部件。划分模块210在一些实施例中可以是可耦合到开放插座的插座安装设备,该开放插座耦合到共同母板120。在至少一些实施例中,划分模块210可以是用户可安装的设备。
用户接口220可以向系统用户提供用于在系统200内添加或者去除划分的能力。例如即使可以在系统200中部署多个处理器110,也可以存在其中未引导一组或者多组处理器可以是有利的场合。在这样的实例中,用户经由用户接口220可以配置新划分、删除现有划分或者中断系统内的现有划分的引导。在一些实施例中,用户可以经由用户接口220对划分结构或者引导序列进行所需改变、然后重新引导系统200以实现输入的改变。
检测模块250可以包括被配置用于检测在系统200内一个或者多个划分模块210的插入的任何数量的系统、设备或者系统与设备的任何组合。在至少一些实施例中,检测模块250可以中断一个或者多个处理器到处理器互连160,由此实现引导多个处理器110的至少一部分(例如第二组处理器)作为耦合到共同母板120的物理地分立的计算设备。在其他实施例中,在无处理器到处理器互连160存在的情况下或者在多个处理器之间的处理器到处理器互连160已经被处理器制造商禁用的情况下,检测逻辑250可以保证仅一个引导代码130和一个I/O控制器170耦合到每组处理器110。
因此,划分模块210、用户接口220和检测模块230可以协同地工作以创建或者去除在共同母板120上设置的两组或者更多组处理器110之间的划分。划分模块210可以提供向一组或者多组处理器110提供独立引导能力所需的资源的全部或者部分。用户接口可以向用户提供对划分方案的访问,从而允许用户容易地和方便地添加、删除或者改变在处理器110的组之间的划分。检测逻辑250可以提供已经建立(例如建立在处理器组、I/O控制器170和引导代码130之间的耦合)或者断开(例如中断链接不同处理器组中的处理器的处理器到处理器互连)划分通信路径的保证水平。
处理器到处理器互连160的不存在不影响系统200的操作,因为向每个处理器110分配尽管两个处理器共享共同母板120的事实、仍然作为独立计算设备成功地引导所需的必需系统资源(例如引导代码130、I/O控制器170和存储器)。
图3是描绘根据一个或者多个实施例的示例多处理器计算机方法300的流程图。在一些实施例中,可以对具有多个处理器110的计算系统划分,使得两个或者更多处理器组独立地可引导。独立地引导共享共同母板120的两组或者更多组处理器110甚至在其中处理器到处理器互连160已经被处理器制造商禁用的系统中仍然可以提供附加计算能力。
系统可以在310处进入独立模式。进入独立模式可以是手动的、例如基于系统用户向用户接口220中的输入来进入。进入独立模式也可以例如在检测逻辑250检测到将划分模块210耦合到母板120时是部分地或者完全地自治的。在任一情况下,可以向每个处理器组手动或者自动分配引导代码130和I/O控制器170。虽然在图3中未描绘,但是系统可以在被置于独立模式中之后需要重新引导以恰当引导每个处理器组。
在进入独立模式之后,可以在320处取回第一引导代码1301。第一引导代码1301可以与第一组处理器1101(回顾处理器“组”可以包含少至一个处理器110)关联。可以从第一引导代码存储设备取回第一引导代码1301。第一引导代码存储设备可以是仅可由第一处理器组1101访问的唯一位置。在一些实施例中,第一引导代码1301可以由第一组处理器1101直接访问,而在其他实施例中,可以经由一个或者多个第一I/O控制器1701访问第一引导代码1301。
在320处取回之后,可以在330处在耦合到母板120的第一组处理器1101上执行第一引导代码1301。在第一组处理器1101上执行第一引导代码1301可以在系统内提供第一物理隔离的独立计算设备。
与在320处取回第一引导代码1301同时或者之后,可以在340处取回第二引导代码1302。第二引导代码1302可以与第二组处理器1102关联。可以从第二引导代码存储设备取回第二引导代码1302。第二引导代码存储设备可以是仅可由第二处理器组1102访问的唯一位置。在一些实施例中,第二引导代码1302可以由第二处理器组1102直接访问,而在其他实施例中,可以经由一个或者多个第二I/O控制器1702访问第二引导代码1302。
在340处取回之后,可以在350处在耦合到母板120的第二组处理器110上执行第二引导代码1302。第一组处理器1101和第二组处理器1102可以耦合到共同母板120。在第二组处理器1102上执行第二引导代码1302可以在系统内提供第二物理隔离的独立计算设备。
虽然关于图3描述的方法参照双处理器系统,但是更一般而言,可以延伸方法300以覆盖耦合到共同母板120的任何数量的划分处理器。通过向处理器组110N提供对在仅可由该组处理器110N访问的存储器位置中存储的单个可执行引导代码130N的访问,可以创建实质上无限数量的独立的物理地可隔离的计算设备,这些计算设备共享共同母板120。
图4是描绘根据一个或者多个实施例的另一示例多处理器计算机方法400的流程图。在一些实施例中,可以对具有多个处理器110的计算系统划分,使得最少两个处理器组物理地可隔离并且独立地可引导。独立地引导共享共同母板120的多个处理器组1101-N甚至在其中处理器到处理器互连160已经被处理器制造商禁用的系统中仍然可以提供附加计算能力。
系统可以在410进入独立模式。在410处进入独立模式可以是手动的、例如基于系统用户向用户接口220中的输入来进入。在410处进入独立模式也可以例如在检测逻辑250检测到将划分模块210耦合到母板120时是部分地或者完全地自治的。在任一情况下,可以向每个处理器组手动或者自动分配引导代码130和I/O控制器170。虽然在图4中未描绘,但是系统可以在被置于独立模式中之后需要重新引导以恰当引导每个处理器组。
第一I/O控制器1701可以在420处耦合到第一组处理器1101。第一组处理器1101可以耦合到母板120。第一I/O控制器1701除了其他之外可以向第一组处理器1101提供对第一引导代码存储位置的访问。在至少一些实施例中,第一引导代码存储位置可以仅可由第一组处理器1101访问。在一些实施例中,第一I/O控制器1701可以耦合到一个或者多个第一I/O设备,例如网络接口设备,诸如以太网接口。
第一引导代码1301可以在430处由第一组处理器1101从第一引导代码存储位置取回。在一些实施例中,第一引导代码1301可以由第一组处理器1101直接访问,而在其他实施例中,可以经由第一I/O控制器1701访问第一引导代码1301。
在430处取回之后,第一引导代码1301可以在440处由耦合到母板120的第一组处理器1101执行。第一组处理器1101执行第一引导代码1301可以在系统内提供第一物理隔离的独立计算设备。
至少一个第一I/O设备可以在450处经由第一I/O控制器1701由第一组处理器1101访问。在至少一些实施例中,第一I/O设备可以包括一个或者多个网络接口,例如一个或者多个以太网接口。在其他实施例中,第一I/O设备可以包括一个或者多个通信总线,例如耦合到附加I/O设备的一个或者多个通信总线。
与在420处将第一I/O控制器1701耦合到第一组处理器1101同时或者之后,第二I/O控制器1702可以在460处耦合到第二组处理器1102。第二组处理器1102可以耦合到与第一组处理器1101共享的共同母板120。第二I/O控制器1702除其他之外可以向第二组处理器1102提供对第二引导代码存储位置的访问。在至少一些实施例中,第二引导代码存储位置可以仅可由第二组处理器1102访问。在一些实施例中,第二I/O控制器1702可以耦合到一个或者多个第二I/O设备,例如网络接口设备,诸如以太网接口。
与在430处取回第一引导代码1301同时或者之后,第二引导代码1302可以在470处由第二组处理器1102从第二引导代码存储位置取回。在一些实施例中,第二引导代码1302可以由第二组处理器1102直接访问,而在其他实施例中,可以经由第二I/O控制器1702访问第二引导代码1302。
与在440处由第一组处理器1101执行第一引导代码1301同时或者之后,第二引导代码1302可以在480处由耦合到母板120的第二组处理器1102执行。第二组处理器1102执行第二引导代码1302可以在系统内提供第二物理隔离的独立计算设备。
至少一个第二I/O设备可以在490处经由第二I/O控制器1702由第二组处理器1102访问。在至少一些实施例中,第二I/O设备可以包括一个或者多个网络接口,例如一个或者多个以太网接口。在其他实施例中,第二I/O设备可以包括一个或者多个通信总线,例如耦合到附加I/O设备的一个或者多个通信总线。
虽然关于图4描述的方法参照仅含两个处理器(1101-2)的系统,但是更一般而言,可以延伸方法400以覆盖耦合到共同母板120的任何数量的划分处理器。通过向处理器组110N提供对在仅可由该组处理器110N访问的引导代码存储位置中存储的单个可执行引导代码130N的访问,可以创建实质上无限数量的独立的物理地可隔离的计算设备,这些计算设备共享共同母板120。
Claims (15)
1. 一种多处理器计算机系统(100),包括:
多个通信地耦合(160)的处理器(1101-N);
每个处理器耦合到共同母板(120),并且
每个处理器与存储器(1401-N)相关联;以及
引导代码(130),所述引导代码可从标准模式和独立模式中的至少一个模式执行;
其中所述多个通信地耦合的处理器在标准模式中执行所述引导代码的一个示例;并且
其中所述多个通信地耦合的处理器的至少一部分在独立模式中执行所述引导代码的一个实例。
2. 根据权利要求1所述的多处理器计算机系统,还包括耦合到所述多个通信地耦合的处理器(1101-N)的至少一个处理器的输入/输出(I/O)控制器(170)。
3. 根据权利要求1所述的多处理器计算机系统,其中在标准模式中使能一个I/O控制器(170)。
4. 根据权利要求2所述的多处理器计算机系统,其中在独立模式中使能至少两个I/O控制器(170)。
5. 根据权利要求1所述的多处理器计算机系统,使用可中断的处理器到处理器互连来耦合(160)所述多个通信地耦合的处理器。
6. 根据权利要求5所述的多处理器系统,其中所述可中断的处理器到处理器互连包括Quick Path Interconnect或者Hyper Transport之一。
7. 根据权利要求1所述的多处理器计算机系统,还包括划分模块(210),所述划分模块包括:
引导代码(220),在所述独立模式中与所述多个通信地耦合的处理器中的至少一个处理器可关联;以及
至少一个输入/输出(I/O)控制器(230),在所述独立模式中与所述多个通信地耦合的处理器中的至少一个处理器可关联。
8. 根据权利要求7所述的多处理器计算机系统,所述划分模块(210)可耦合到所述母板(120)。
9. 根据权利要求1所述的多处理器计算机系统,还包括用户接口(240),其用于允许用户在所述标准模式与所述独立模式之间可逆地切换。
10. 根据权利要求7所述的多处理器计算机系统,还包括检测逻辑(250),所述检测逻辑(250)用于:
检测所述划分模块的存在;并且
在检测到所述划分模块时进入所述独立模式。
11. 一种多处理器计算机方法,包括:
进入(310)独立模式;
从第一引导代码存储设备取回(320)第一引导代码;
在从耦合到母板的多个处理器选择的第一组处理器上执行(330)所述第一引导代码;
从第二引导代码存储设备取回(340)第二引导代码;并且
在从耦合到所述母板的所述多个处理器选择的第二组处理器上同时执行(350)所述第二引导代码。
12. 根据权利要求11所述的多处理器计算机方法,还包括:
在所述母板上设置划分模块;
所述划分模块包括所述第二引导代码存储设备和所述第二引导代码。
13. 根据权利要求11所述的多处理器计算机方法,还包括:
将第一I/O控制器耦合(410)到所述第一组处理器;并且
经由所述第一I/O控制器访问(420)至少一个I/O设备。
14. 根据权利要求12所述的多处理器计算机方法,还包括:
将所述划分模块内设置的第二I/O控制器耦合(430)到所述第二组处理器;并且
经由所述第二I/O控制器访问(440)至少一个I/O设备。
15. 一种多处理器计算机系统,包括:
两个通信地耦合的处理器(110),每个处理器耦合到共同母板(120);
第一引导代码(130);
第一存储器(140),可由所述两个通信地耦合的处理器中的第一处理器(1101)访问;
所述两个通信地耦合的处理器被配置用于当在安装模式中时执行所述第一引导代码的一个实例;
第一输入/输出(I/O)控制器(170),当在所述标准模式中时可耦合到所述两个通信地耦合的处理器;
划分模块(210),所述划分模块包括:
第二引导代码(220)和第二输入/输出(I/O)控制器(230),当在独立模式中时可耦合到第二处理器;
所述两个通信地耦合的处理器中的第二处理器被配置用于当在所述独立模式中时执行所述第二引导代码的一个实例;以及
用户接口(240),其用于允许用户在所述标准模式或者所述独立模式中的至少一个模式之间可逆地交替。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2010/055021 WO2012060816A1 (en) | 2010-11-01 | 2010-11-01 | Multi-processor computer systems and methods |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103180819A true CN103180819A (zh) | 2013-06-26 |
Family
ID=46024730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800699105A Pending CN103180819A (zh) | 2010-11-01 | 2010-11-01 | 多处理器计算机系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130173901A1 (zh) |
CN (1) | CN103180819A (zh) |
DE (1) | DE112010005971T5 (zh) |
GB (1) | GB2498123A (zh) |
WO (1) | WO2012060816A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104678757A (zh) * | 2013-12-02 | 2015-06-03 | 景德镇昌航航空高新技术有限责任公司 | 一种直升机发动机双余度燃油调节控制器 |
CN109154916A (zh) * | 2016-08-22 | 2019-01-04 | 惠普发展公司,有限责任合伙企业 | 连接的设备的信息 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511964B (zh) * | 2015-11-30 | 2019-03-19 | 华为技术有限公司 | I/o请求的处理方法和装置 |
US20220114099A1 (en) * | 2021-12-22 | 2022-04-14 | Intel Corporation | System, apparatus and methods for direct data reads from memory |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1091538A (zh) * | 1993-02-20 | 1994-08-31 | 宏碁电脑股份有限公司 | 利用单处理器芯片升级的多处理器系统 |
US20090228895A1 (en) * | 2008-03-04 | 2009-09-10 | Jianzu Ding | Method and system for polling network controllers |
US7822895B1 (en) * | 2007-12-28 | 2010-10-26 | Emc Corporation | Scalable CPU (central processing unit) modules for enabling in-place upgrades of electronics systems |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218688A (en) * | 1988-05-06 | 1993-06-08 | Fujitsu Limited | Data processing system with memory-access priority control |
US5848367A (en) * | 1996-09-13 | 1998-12-08 | Sony Corporation | System and method for sharing a non-volatile memory element as a boot device |
JP2000242612A (ja) * | 1999-02-25 | 2000-09-08 | Sega Enterp Ltd | メモリ及びバスを共有化したシステム |
US6446203B1 (en) * | 1999-05-24 | 2002-09-03 | International Business Machines Corporation | Method and system for selecting from multiple boot code images to be loaded in a data processing system |
US6507906B1 (en) * | 1999-09-09 | 2003-01-14 | International Business Machines Corporation | Method and system for selection of a boot mode using unattended boot sequencing |
US20020129288A1 (en) * | 2001-03-08 | 2002-09-12 | Loh Weng Wah | Computing device having a low power secondary processor coupled to a keyboard controller |
US6842857B2 (en) * | 2001-04-12 | 2005-01-11 | International Business Machines Corporation | Method and apparatus to concurrently boot multiple processors in a non-uniform-memory-access machine |
US7065599B2 (en) * | 2001-08-10 | 2006-06-20 | Sun Microsystems, Inc. | Multiprocessor systems |
US7188238B2 (en) * | 2003-05-21 | 2007-03-06 | Intel Corporation | Methods and apparatus to update a basic input/output system (BIOS) |
JP4196333B2 (ja) * | 2003-05-27 | 2008-12-17 | 日本電気株式会社 | 並列処理システム及び並列処理プログラム |
US7194660B2 (en) * | 2003-06-23 | 2007-03-20 | Newisys, Inc. | Multi-processing in a BIOS environment |
US7627781B2 (en) * | 2004-10-25 | 2009-12-01 | Hewlett-Packard Development Company, L.P. | System and method for establishing a spare processor for recovering from loss of lockstep in a boot processor |
WO2006069538A1 (fr) * | 2004-12-31 | 2006-07-06 | Juhang Zhong | Systeme de traitement de donnees avec pluralite de sous-systemes et procede correspondant |
JP2006221288A (ja) * | 2005-02-08 | 2006-08-24 | Olympus Imaging Corp | 画像記録装置 |
US20070168653A1 (en) * | 2006-01-19 | 2007-07-19 | Inventec Corporation | Computer hardware operating mode setting circuit |
JP2007213292A (ja) * | 2006-02-09 | 2007-08-23 | Nec Electronics Corp | マルチプロセッサシステム及びスレーブシステムの起動方法 |
KR101173539B1 (ko) * | 2006-02-15 | 2012-08-14 | 삼성전자주식회사 | 멀티프로세서 시스템 그리고 멀티프로세서 시스템의 초기화방법 |
KR100822468B1 (ko) * | 2006-09-11 | 2008-04-16 | 엠텍비젼 주식회사 | 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법 |
US7908470B1 (en) * | 2006-10-31 | 2011-03-15 | Hewlett-Packard Development Company, L.P. | Multi-processor computer with plural boot memories |
US7779243B2 (en) * | 2006-12-29 | 2010-08-17 | Intel Corporation | Dual operating system computing system |
KR20080063902A (ko) * | 2007-01-03 | 2008-07-08 | 삼성전자주식회사 | 멀티 포트 반도체 메모리 장치의 부팅방법 |
US7818560B2 (en) * | 2007-09-21 | 2010-10-19 | Intel Corporation | System information synchronization in a links-based multi-processor system |
KR101430687B1 (ko) * | 2007-09-28 | 2014-08-18 | 삼성전자주식회사 | 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법 |
US7783818B1 (en) * | 2007-12-28 | 2010-08-24 | Emc Corporation | Modularized interconnect between root complexes and I/O modules |
US7941699B2 (en) * | 2008-03-24 | 2011-05-10 | Intel Corporation | Determining a set of processor cores to boot |
KR20100032504A (ko) * | 2008-09-18 | 2010-03-26 | 삼성전자주식회사 | 공유 버스를 갖는 불휘발성 메모리와 멀티포트 반도체 메모리 장치를 채용한 멀티 프로세서 시스템 |
KR101003102B1 (ko) * | 2008-09-24 | 2010-12-21 | 한국전자통신연구원 | 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치 |
KR20100034415A (ko) * | 2008-09-24 | 2010-04-01 | 삼성전자주식회사 | 메모리 링크 아키텍쳐를 활용한 부팅기능을 갖는 멀티 프로세서 시스템 |
KR20100041309A (ko) * | 2008-10-14 | 2010-04-22 | 삼성전자주식회사 | 각 프로세서들의 어플리케이션 기능을 모두 활용 가능한 멀티 프로세서 시스템 |
-
2010
- 2010-11-01 GB GB1304772.5A patent/GB2498123A/en not_active Withdrawn
- 2010-11-01 US US13/821,506 patent/US20130173901A1/en not_active Abandoned
- 2010-11-01 DE DE112010005971T patent/DE112010005971T5/de not_active Withdrawn
- 2010-11-01 WO PCT/US2010/055021 patent/WO2012060816A1/en active Application Filing
- 2010-11-01 CN CN2010800699105A patent/CN103180819A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1091538A (zh) * | 1993-02-20 | 1994-08-31 | 宏碁电脑股份有限公司 | 利用单处理器芯片升级的多处理器系统 |
US7822895B1 (en) * | 2007-12-28 | 2010-10-26 | Emc Corporation | Scalable CPU (central processing unit) modules for enabling in-place upgrades of electronics systems |
US20090228895A1 (en) * | 2008-03-04 | 2009-09-10 | Jianzu Ding | Method and system for polling network controllers |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104678757A (zh) * | 2013-12-02 | 2015-06-03 | 景德镇昌航航空高新技术有限责任公司 | 一种直升机发动机双余度燃油调节控制器 |
CN109154916A (zh) * | 2016-08-22 | 2019-01-04 | 惠普发展公司,有限责任合伙企业 | 连接的设备的信息 |
Also Published As
Publication number | Publication date |
---|---|
DE112010005971T5 (de) | 2013-08-14 |
WO2012060816A1 (en) | 2012-05-10 |
GB201304772D0 (en) | 2013-05-01 |
US20130173901A1 (en) | 2013-07-04 |
GB2498123A (en) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467170B2 (en) | Storage array including a bridge module interconnect to provide bridge connections to different protocol bridge protocol modules | |
US9092594B2 (en) | Node card management in a modular and large scalable server system | |
CN102200916B (zh) | 电子设备、可配置的部件及该部件的配置信息存储方法 | |
US10437762B2 (en) | Partitioned interconnect slot for inter-processor operation | |
CN102478800A (zh) | 电力顺序信号的监控系统与其方法 | |
CN103180819A (zh) | 多处理器计算机系统和方法 | |
CN101334735B (zh) | 多处理器计算系统中单个处理器的代码更新的方法和系统 | |
US20220414045A1 (en) | Method and system for firmware for adaptable baseboard management controller | |
CN102636987B (zh) | 双重化控制装置 | |
CN114579500A (zh) | 用于高速数据通讯的系统、中介件及方法 | |
CN107463224B (zh) | 显卡扩展板及应用其的主机、计算设备 | |
CN114661099A (zh) | 一种主板、处理器板卡及计算系统 | |
CN115708040A (zh) | 一种主板及计算设备 | |
CN101369257A (zh) | 一种启动数据处理模块的方法、装置及系统 | |
US11966350B2 (en) | Configurable storage server with multiple sockets | |
RU167666U1 (ru) | Процессорный модуль (MBE2S-PC) | |
CN107832244B (zh) | 一种安全计算机的处理器系统 | |
US10044123B2 (en) | Backplane controller module using small outline dual in-line memory module (SODIMM) connector | |
KR101854805B1 (ko) | I/o 성능이 개선된 메인보드 및 컴퓨터 | |
RU2680744C1 (ru) | Процессорный модуль системы хранения данных | |
US7496747B2 (en) | Redundant link mezzanine daughter card | |
CN217739896U (zh) | 一种智能计算模块电路、计算板卡及计算机 | |
CN217955105U (zh) | 承载板卡、计算机主机设备和计算机 | |
CN217846999U (zh) | 一种主板和计算设备 | |
CN117951062B (zh) | 一种gpu热插拔方法和服务器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130626 |