CN107291653A - 一种多处理器系统及配置多处理器系统的方法 - Google Patents

一种多处理器系统及配置多处理器系统的方法 Download PDF

Info

Publication number
CN107291653A
CN107291653A CN201610201018.7A CN201610201018A CN107291653A CN 107291653 A CN107291653 A CN 107291653A CN 201610201018 A CN201610201018 A CN 201610201018A CN 107291653 A CN107291653 A CN 107291653A
Authority
CN
China
Prior art keywords
processor unit
link
cpu
same
pch
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.)
Granted
Application number
CN201610201018.7A
Other languages
English (en)
Other versions
CN107291653B (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610201018.7A priority Critical patent/CN107291653B/zh
Publication of CN107291653A publication Critical patent/CN107291653A/zh
Application granted granted Critical
Publication of CN107291653B publication Critical patent/CN107291653B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

一种多处理器系统及配置多处理器系统的方法,以通过CPU自身对多处理器系统进行配置。该系统包括至少两个多处理器单元以及存储单元,每个多处理器单元包括NC、PCH以及N个CPU;每个多处理器单元中的第一CPU与PCH建立第一链路,每个多处理器单元中的PCH与NC建立第二链路;存储单元存储有指令,每个多处理器单元中的PCH与存储单元相连;每个多处理器单元中有至少一个CPU的第一端口与NC的第二端口相连;该至少一个CPU用于:对自身的第一端口进行配置;第一CPU通过与PCH从存储单元获得指令,并执行指令,通过PCH与NC间的第二链路,对NC的第二端口进行配置,以使至少一个CPU与NC建立第三链路。

Description

一种多处理器系统及配置多处理器系统的方法
技术领域
本发明涉及计算机技术领域,特别涉及一种多处理器系统及配置多处理器系统的方法。
背景技术
多处理器系统(Multiprocessor Systems)中,通常通过节点控制器(nodecontroller,NC)来增加中央处理器(central processing unit,CPU)的互联数,增强多处理器系统的能力。
在带NC的多处理器的启动过程中,除了需要对通过系统总线直接相连的CPU之间的端口进行配置之外,还要对CPU与NC之间端口进行配置,以实现没有通过系统总线直接相连的CPU能够通过NC相连。
目前,在对CPU与NC之间端口进行配置时,需要基板管理控制器(baseboard management controller,BMC)与CPU进行配合,由CPU运行基本输入输出系统(basic input/output system,BIOS)指令对CPU自身的端口进行配置,由BMC对NC的端口进行配置。
但是,BMC原本负责监控管理,上述由BMC与CPU配合实现CPU与NC之间的端口配置的方案,增加了BMC的负担,并使BMC的实现方式变得复杂。
发明内容
本申请提供一种多处理器系统及配置多处理器系统的方法,以通过CPU自身对多处理器系统进行配置。
第一方面,本发明实施例提供一种多处理器系统,该系统包括至少两个多处理器单元以及存储单元,每个多处理器单元包括节点控制器NC、平台控制器集线器PCH以及N个中央处理器CPU,N为不小于2的整数;每个多处理器单元中的第一CPU与同一多处理器单元中的所述PCH建立第一链路,例如,第一链路为DMI类型的链路,每个多处理器单元中的所述PCH与同一多处理器单元中的所述NC建立第二链路,例如,第二链路为SMBUS类型的链路;存储单元存储有指令,如BIOS指令,每个多处理器单元中的所述PCH与所述存储单元相连;其中,每个多处理器单元中有至少一个CPU的第一端口与同一多处理器单元中所述NC的第二端口相连;每个多处理器单元中的所述至少一个CPU用于:对自身的所述第一端口进行配置;每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及所述PCH与所述存储单元之间的链路,从所述存储单元获得所述指令,并执行所述指令,以在执行所述指令时执行如下步骤:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置;通过对多处理器单元中的所述至少一个CPU的所述第一端口以及同一多处理器单元中的所述NC的第二端口的配置,至少一个CPU与同一多处理器单元中的所述NC建立第三链路。
上述实现方式中,CPU与NC间相连链路的配置工作由CPU完成,不需要BMC负责NC的端口的配置,能够减轻BMC的负担。
在一些可能的实现方式中,每个多处理器单元中的所述至少一个CPU用于:对自身的所述第一端口进行配置,包括:对自身的所述第一端口的物理层参数以及数据链路层参数进行配置;每个多处理器单元中的所述第一CPU用于:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置,包括:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口的物理层参数以及数据链路层参数进行配置。由于在通过BMC与CPU配合进行第三链路配置的技术方案中,CPU在对自身的第一端口的物理层参数配置完毕之后,需要告知BMC,使其对NC的第二端口的物理层参数进行配置。可见,CPU与BMC之间需要建立交互机制才能完成端口的配置。而在本实现方式中,配置工作由CPU自身完成,无需建立上述CPU与BMC间的交互机制,CPU与NC间配置的过程更为简单、快捷。
在一些可能的实现方式中,每个多处理器单元中的所述第一CPU还用于:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述NC的内存映射输入输出MMIO地址空间进行配置,以使CPU能够通过内存空间访问NC。
在一些可能的实现方式中,每个多处理器单元中的所述至少一个CPU中的任一CPU还用于:在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,通过自己与同一多处理器单元中的所述NC间的所述第三链路,对同一多处理器单元中的所述NC的拓扑参数以及网络接口NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路。由于实际情况中,CPU与NC间的第一链路通常为带内链路,例如QPI链路,而带内链路具有速度快、稳定可靠等特点,因此,通过CPU与NC间的第一链路对NC间连接进行配置,耗时较短,且稳定可靠。
在一些可能的实现方式中,每个多处理器单元中所述第一CPU还用于:在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的拓扑参数以及NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路,以使NC与另一多处理器单元中的NC建立第四链路,进而使得不同多处理器单元中的CPU能够通过NC相连。
在一些可能的实现方式中,每个多处理器单元中所述第一CPU还用于:确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件;通知所述系统中的其他CPU暂停使用发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路;所述发生链路故障的CPU用于:对自身的所述第一端口进行重新配置;同一多处理器单元中的所述第一CPU还用于:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述第一NC的所述第二端口进行重新配置;通知所述系统中的其他CPU恢复使用所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路。实际情况中,第一CPU可以只对第一端口以及第二端口的物理层参数进行重新配置。第一CPU在对第一端口以及第二端口的物理层参数进行重新配置时,可以修改第一端口以及第二端口的参数值,使得第三链路的传输速率降低或者带宽降低,进而降低第三链路出错的几率。
在一些可能的实现方式中,每个多处理器单元中所述第一CPU用于:确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,包括:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,获得所述第一NC产生的中断,所述中断用于表明所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件。上述实现方式中,CPU能够通过PCH与NC之间的第二链路获得NC产生的中断,并根据该中断及时对发生错误的链路进行恢复。
第二方面,本发明实施例提供一种配置多处理器系统的方法,所述系统包括至少两个多处理器单元以及存储单元,每个多处理器单元包括NC、PCH以及N个CPU,N为不小于2的整数;每个多处理器单元中的第一CPU与同一多处理器单元中的所述PCH建立第一链路,每个多处理器单元中的所述PCH与同一多处理器单元中的所述NC建立第二链路;每个多处理器单元中的所述PCH与所述存储单元建立有链路;每个多处理器单元中有至少一个CPU的第一端口与同一多处理器单元中所述NC的第二端口相连;所述方法包括:每个多处理器单元中的所述至少一个CPU对自身的所述第一端口进行配置;每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及所述PCH与所述存储单元之间的链路,从所述存储单元获得所述指令,并执行所述指令,以在执行所述指令时,通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置,以使同一多处理器单元中的所述至少一个CPU与同一多处理器单元中的所述NC建立第三链路。
在一些可能的实现方式中,每个多处理器单元中的所述至少一个CPU对自身的所述第一端口进行配置,包括:每个多处理器单元中的所述至少一个CPU对自身的所述第一端口的物理层参数以及数据链路层参数进行配置;每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置,以使同一多处理器单元中的所述至少一个CPU与同一多处理器单元中的所述NC建立第三链路,包括:每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口的物理层参数以及数据链路层参数进行配置。
在一些可能的实现方式中,所述方法还包括:每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述NC的内存映射输入输出MMIO地址空间进行配置。
在一些可能的实现方式中,所述方法还包括:在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,每个多处理器单元中的所述至少一个CPU中的任一CPU通过自己与同一多处理器单元中的所述NC间的所述第三链路,对同一多处理器单元中的所述NC的拓扑参数以及网络接口NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路。
在一些可能的实现方式中,所述方法还包括:在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,每个多处理器单元中所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的拓扑参数以及NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路。
在一些可能的实现方式中,所述方法还包括:每个多处理器单元中所述第一CPU确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件;并通知所述系统中的其他CPU暂停使用发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路;所述发生链路故障的CPU对自身的所述第一端口进行重新配置;同一多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述第一NC的所述第二端口进行重新配置;并通知所述系统中的其他CPU恢复使用所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路。
在一些可能的实现方式中,每个多处理器单元中所述第一CPU确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,包括:每个多处理器单元中所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,获得所述第一NC产生的中断,所述中断用于表明所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中多处理器系统的示意图;
图2为本发明实施例中PCH的连接关系示意图;
图3为本发明实施例中配置多处理器系统方法的流程示意图;
图4为本发明实施例中配置多处理器系统方法的另一流程的示意图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
下面对本发明实施例中的概念予以介绍。
多处理器系统,是指包含两台或多台功能相近的CPU,CPU之间彼此可以交换数据,并能够共享输入/输出(input/output,I/O)设备以及外部设备,整个硬件系统由统一的操作系统控制,在CPU和程序之间实现作业、任务、程序、数组极其元素各级的全面并行。其中,CPU之间能够通过系统总线连接,例如,快速通道互联(quickpath interconnect,QPI)总线,但是,每个CPU的QPI端口数有限,使得CPU通过QPI总线直接互联数有限,因此,需要通过节点控制器NC来扩展CPU的互联数,增强多处理器系统的处理能力。
节点控制器NC,用于扩展CPU的互联数,即,没有通过系统总线相连的CPU可以通过NC实现间接连接。实际情况中,两个CPU可以连接到同一NC,通过该NC实现间接连接;两个CPU也可以通过多个NC实现互联,例如,第二CPU连接第一NC,第二CPU连接第二NC,第一NC与第二NC相连,进而实现第二CPU与第二CPU的连接。本发明实施例中,不限定CPU与NC间建立的第三链路的类型,例如,第三链路可以为QPI类型的链路。
平台控制器集线器(platform controller hub,PCH),与CPU相连,具有传统的输入/输出路径控制器(I/O controller hub,ICH)的功能,用于连接I/O设备。本发明实施例中,CPU与PCH之间建立第一链路,该第一链路可以为直接媒体接口(direct media interface,DMI)类型的链路。另外,PCH与存储有BIOS指令的存储单元相连,CPU可通过PCH获得BIOS指令,以执行BIOS指令,运行BIOS。另外,PCH与NC建立有第二链路,进而使得CPU能够通过PCH对NC的端口进行配置,本发明实施例中,第二链路可以有多种实现方式,例如,第二链路可以为PCH上的主(master)接口与NC上的从(slave)接口所建立的链路,如系统管理总线(system management bus,SMBUS)类型的链路。
基本输入输出系统BIOS,用于在计算机系统启动时对计算机组件进行自我检测(power on self test),并加载引导程序或存储在主存的作业系统。本发明实施例中,CPU通过PCH获得BIOS指令,并运行BIOS指令,进而使得BIOS运行,而BIOS在运行过程中可以对CPU与NC之间连接的端口进行配置,以使二者之间的链路导通。可选的,BIOS系统还负责对NC与NC之间连接的端口进行配置,以使NC之间的链路导通。
基板管理控制器BMC,是计算机主板上的微控制器,负责本地和远程诊断、控制台支持、硬件管理和故障排除等功能。
内存映射输入输出(memory-mapped I/O,MMIO),为计算机规范的一部分,I/O设备端口被映射到内存空间,使得CPU通过相同总线来寻址内存和I/O设备。本发明实施例中,CPU对NC的MMIO地址空间进行配置,以使得CPU能够通过系统总线(如,QPI总线)访问NC。
图1为本发明实施例中多处理器系统示意图,多处理器系统包括至少两个多处理器单元,例如图1中的第一多处理器单元100和第二多处理器单元200。而每个多处理器单元包括N个CPU、一个NC以及一个PCH,参照图1以及图2,每个多处理器单元中的PCH与N个CPU中的第一CPU建立第一链路(例如图2中的DMI链路),并与NC建立第二链路(如图2中的SMBUS链路)。
以第一多处理器单元100为例,第一多处理器单元100包括8个CPU、NC120以及PCH130,其中,CPU111至CPU114通过系统总线(如图1中的QPI总线)相连,CPU115至CPU118通过系统总线相连,而CPU111至CPU114并未与CPU115至CPU118通过总线直接相连。
为了使得CPU111至CPU114与CPU115至CPU118相连,可以将CPU111至CPU114连接至NC120,并将CPU115至CPU118连接至NC120。虽然CPU与NC之间建立物理连接,但是在对CPU与NC之间的链路进行配置之前,CPU与NC之间的链路并未导通,CPU111至CPU114并不能通过NC120与CPU115至CPU118进行交互。
实际情况中,由于CPU111至CPU114通过QPI总线互联,所以在CPU111至CPU114中有一个CPU与NC120建立直接链路,其余CPU均与NC120建立间接链路,CPU可以通过间接链路与NC进行交互,例如,在CPU111与NC120建立直接链路,CPU112可以通过CPU112与CPU111直接的链路以及CPU111与NC120之间的链路的结合访问NC120。
因此,本发明实施例中,一个多处理器单元中的N个CPU中,可以每一个PCP均与NC直接相连,也可以只有部分CPU与NC直接相连,本发明实施例对此不予限定。
同理,本发明实施例中,一个多处理器单元中的第一CPU与同一多处理器单元中的PCH直接相连,建立第一链路。该第一CPU可以为多处理器单元中的任一CPU;在多处理器单元具有主从结构时,该第一CPU可以为多处理器单元中的主CPU。
以图1所示的结构为例,由于CPU111至CPU114通过QPI总线互联,所以在CPU111至CPU114中有一个CPU与PCH130建立直接链路,其余CPU均与PCH130建立间接链路,CPU可以通过间接链路与PCH进行交互,例如,在CPU111与PCH130建立直接链路,CPU112可以通过CPU112与CPU111直接的链路以及CPU111与PCH130之间的链路的结合访问PCH130。
因此,本发明实施例中,一个多处理器单元中的N个CPU中,可以每一个CPU均与PCH直接相连,也可以只有部分CPU(例如,第一CPU)与PCH直接相连,本发明实施例对此不予限定。
在CPU与NC之间直接相连后,需要对CPU与NC各自的端口进行配置之后,CPU与NC之间的链路才导通。具体的,不妨设CPU的第一端口与NC的第二端口相连,则CPU对自身的第一端口进行配置,并通过CH与NC之间的第二链路对NC的第二端口进行配置,进而使得CPU与NC之间建立第三链路。在多处理器单元中的每个CPU与NC之间成功建立第三链路之后,多处理器单元中的任意两个CPU通过NC相连。
实际情况中,一个CPU可以同时与同一多处理器单元中的PCH与NC相连,则该CPU与NC之间的链路配置,均由该CPU自己完成,即,该CPU对自身的第一端口进行配置,并通过自身与PCH间的第一链路以及PCH与NC之间的第二链路对NC的第二端口进行配置。
而在与NC直接相连的CPU并未与PCH直接相连的情况下,该CPU与NC之间的链路配置,包括如下两种实现方式:
方式A,该CPU对自身的第一端口进行配置,并通过自身与第一CPU(第一CPU与NC建立有第一链路)之间的链路、第一CPU与PCH之间的第一链路以及PCH与NC之间的第二链路这三条链路的串联形成的通路,对NC的第二端口进行配置。
方式B,第二CPU与NC直接相连,第二CPU与PCH没有直接相连,由与PCH直接相连的第一CPU主导第二CPU与NC间链路的配置。具体的,第一CPU通过与第二CPU间的链路指示第二CPU对第二CPU的第一端口进行配置,第一CPU通过与PCH之间的第一链路以及PCH与NC之间的第二链路对NC的第二端口进行配置。
上述技术方案中,CPU与NC间相连链路的配置工作由CPU完成,不需要BMC负责NC的端口的配置,能够减轻BMC的负担。
继续参照图1以及图2,本发明实施例中,多处理器系统还包括存储单元300,用于存储BIOS指令。存储单元300与每个多处理器单元中的PCH建立有链路,例如图2中的串行外设接口(serial peripheral interface,SPI)类型的链路。每个多处理器单元中的CPU通过PCH获得存储单元300中的BIOS指令,并执行该BIOS指令,以在执行该BIOS指令时,完成对多处理器系统的配置,其中就包括对自身的第一端口与NC的第二端口的配置。
实际情况中,多处理器单元中通过总线互联的多个CPU之间共享内存,因此,只要有一个CPU(例如,与PCH相连的第一CPU)通过PCH获得BIOS指令,将BIOS指令存储在内存中,与其共享内存的其他CPU均可以从内存中读取CPU指令,运行BIOS系统,对自己的端口和/或NC的端口进行配置。
另外,PCH可以主动从存储单元中获取BIOS指令,并将BIOS发送至CPU;或者,PCH主动从存储单元中获取BIOS指令,第一CPU通过与PCH之间的第一链路从PCH处获得BIOS指令;或者,第一CPU通过与PCH之间的第一链路指示PCH从存储单元获取BIOS指令,PCH从存储单元获取指令之后,通过第一链路将BIOS指令发送给第一CPU。
需要说明的是,CPU通过BIOS指令进行多处理器系统的配置,只是系统配置的一种实现方式。实际情况中,存储单元中可以存储BIOS指令之外的其他的能够完成多处理器系统的配置的指令,CPU通过读取运行该指令,同样可以完成对多处理器系统的配置。
在一些可能的实现方式中,每个多处理器单元包括多个多处理器模块,所谓多处理器模块指的是,该模块内的多个CPU之间通过系统总线(如QPI总线)相连,但是两个多处理器模块之间的CPU之间没有通过系统总线相连,而是通过NC间接相连。在这种情况中,每个多处理模块中具有一个与PCH直接相连的CPU,以保证每个CPU均能通过PCH获得BIOS指令。
以图1所示结构为例,第一多处理器单元100包括第一多处理器模块101以及第二多处理器模块102,第一多处理器模块101包括CPU111至CPU114,第二多处理器模块102包括CPU115至CPU118,其中,第一多处理器模块101中的CPU111与PCH130直接相连,第二多处理器模块102中的CPU115与PCH130直接相连。
在一些可能的实现方式中,第一端口以及第二端口的配置工作,包括第一端口和第二端口的物理层(Physical Layer)参数的配置,以及第一端口和第二端口的数据链路层(data link layer)参数的配置。
下面以图1中CPU111与NC120之间链路的配置过程进行详细说明。
在多处理器系统上电启动时,CPU111经由与PCH130之间的第一链路通过PCH获得存储单元中存储的BIOS指令,执行BIOS指令,运行BIOS系统,完成对第一CPU与NC间连接端口的配置。
首先,CPU111对自身与CPU112至CPU114之间相连的QPI端口进行配置,使得CPU111与CPU112至CPU114之间能够建立QPI链路。
然后,CPU111首先对自身的第一端口的物理层(Physical Layer)参数进行配置,然后通过与PCH130间的第一链路以及PCH130与NC120间的第二链路对NC120的第二端口的物理层参数进行配置。
然后,CPU111对自身第一端口的数据链路层(data link layer)参数进行配置,之后,通过与PCH130间的第一链路以及PCH130与NC120间的第二链路对NC120的第二端口的数据链路层参数进行配置,实现CPU111与NC120间第三链路的导通。
实际情况中,CPU在对自身的第一端口以及NC的第二端口的物理层参数进行配置之后,可以先对两个端口进行热复位,以使配置的物理层参数生效。
在现有的通过BMC与CPU配合进行第三链路配置的技术方案中,CPU在对自身的第一端口的物理层参数配置完毕之后,需要告知BMC,使其对NC的第二端口的物理层参数进行配置。可见,CPU与BMC之间需要建立交互机制才能完成端口的配置。而在本发明实施例中,配置工作由CPU自身完成,无需建立上述CPU与BMC间的交互机制,CPU与NC间配置的过程更为简单、快捷。
而对于CPU112与NC120之间链路的配置,在采用前述方式A的进行第三链路的配置时,配置工作由CPU112自身负责,同样无需建立类似BMC与CPU间的交互机制。
而在采用前述方式B的方式,由CPU111主导CPU112与NC120之间的配置时,CPU111指示CPU112对CPU112的第一端口的物理层参数进行配置,CPU112在配置完毕之后,向CPU111返回配置成功消息,CPU111继续进行数据链路层的配置,虽然上述过程中CPU111与CPU112之间需要进行交互,但该交互通过CPU111与CPU112之间的QPI总线完成,交互的信息量很少,且交互耗时极短,与现有技术中CPU与BMC间的交互相比,CPU111与CPU112之间的交互更为简单且快速。
本发明实施例中,第一CPU通过PCH对NC的端口进行配置,包括如下实现方式:其一,第一CPU向PCH发送配置NC的指令,PCH响应该指令,通过与NC间的第二链路对NC的端口进行配置。其二,第一CPU向PCH发送用于指示NC对端口进行配置的指令,PCH接收到指令后,通过与NC之间的第二链路,将该指令转发给NC,NC响应该指令,对自身端口进行配置。
在一些实现方式中,在CPU与NC间的第三链路配置完毕,第一CPU通过PCH对NC的MMIO地址空间进行配置,以使CPU能够通过内存空间访问NC。
实际情况中,没有与PCH直接相连的CPU也可以通过与PCH之间的间接链路以及PCH与NC之间第二链路的结合,对NC的MMIO地址空间进行配置。
在一些实现方式中,在CPU对NC的MMIO地址空间配置完毕之后,CPU进一步对NC与NC之间的链路进行配置。具体包括如下两种配置方式:
方式1,通过CPU与NC之间的第三链路对NC间链路进行配置。
以第一多处理器单元100中的NC120与第二多处理器单元200中的NC220之间的链路配置为例,第一多处理器单元100中的任一CPU通过第三链路对NC120的拓扑参数、网络接口(network interface,NI)参数等参数进行配置。同理,第二多处理器单元200中的任一CPU通过第三链路对NC220的拓扑参数、NI参数进行配置。上述配置完毕之后,NC120的NI端口与NC220的NI端口间的第四链路导通,进而实现第一多处理器单元100中的CPU与第二多处理器单元200中CPU通过NC120以及NC220相连。
实际情况中,CPU在对NC进行配置时,除了需要配置上述拓扑参数、NI参数之外,还要对使得NC之间链路导通所需的其他参数进行配置,如NC的寄存器参数等,在此不一一举例。
由于实际情况中,CPU与NC间的第一链路通常为带内链路(例如QPI链路),而带内链路具有速度快、稳定可靠等特点,因此,通过上述方式1对NC间连接进行配置,耗时较短,且稳定可靠。
方式2,第一CPU通过PCH与NC之间的第二链路对NC之间的链路进行配置。
与方式1不同的是,方式2中第一CPU通过PCH利用PCH与NC间的第二链路完成对NC的配置。例如,第一多处理器单元100中的CPU111通过PCH130利用第二链路对NC120的拓扑参数、网络接口(network interface,NI)参数等参数进行配置。同理,第二多处理器单元200中的CPU115通过PCH230利用第二链路对NC220的拓扑参数、NI参数进行配置。上述配置完毕之后,NC120的NI端口与NC220的NI端口间的第四链路导通,进而实现第一多处理器单元100中的CPU与第二多处理器单元200中CPU通过NC120以及NC220相连。
实际情况中,没有与PCH直接相连的CPU也可以通过与PCH之间的间接链路以及PCH与NC之间第二链路的结合,对NC的拓扑参数、NI参数进行配置。
可选的,本发明实施例中,在多处理器系统为主从结构的系统时,即每一个多处理器单元中包括一个主CPU和多个从CPU时,由该主CPU完成该多处理器单元中NC与其他多处理器单元中NC间链路的配置。而在多处理器系统为对称结构的系统时,即每一个多处理器单元中所有CPU的地位平等时,可以由多处理器单元中的任一CPU完成该多处理器单元中NC与其他多处理器单元中NC间链路的配置。
在一些实现方式中,在有CPU与NC间的第三链路出现错误之后,同一多处理器单元中的第一CPU能够对该第三链路进行修复。
例如,多处理器单元的主CPU与PCH建立第一链路,主CPU在检测到本多处理器单元中的第二CPU与本多处理器单元中的第一NC之间的第三链路的链路质量不符合预设条件时,通知系统中的其他CPU暂停使用第二CPU与第一NC间的第三链路。然后,该主CPU对第二CPU的第一端口进行重新配置,并通过该多处理器单元中的第一PCH利用第一PCH与第一NC之间的第二链路对第一NC的第二端口进行重新配置。在上述重新配置完毕之后,该主CPU可以通知系统中的其他CPU恢复对第二CPU与第一NC之间的第三链路的使用。
上述主CPU对第一端口以及第二端口的重新配置,具体包括如下步骤:主CPU对第二CPU的第一端口的物理层参数进行配置,并通过第一PCH利用第一PCH与第一NC的第二链路对第一NC的第二端口的物理层参数进行重新配置。
另外,上述主CPU对第一端口以及第二端口的物理层参数进行配置时,一种可能的配置方式为:将第一端口的物理层参数值从默认的第一值改变为第二值,将第二端口的物理层参数从默认的第三值改为第四值,通过上述参数值的改变,使得第二CPU与第一NC之间的第三链路的传输速率降低,或者,使得第二CPU与第一NC之间的第三链路的带宽降低,由于带宽或传输速率降低,第二CPU与第一NC间传输出错的几率降低。
实际情况中,没有与PCH直接相连的CPU也可以通过与PCH之间的间接链路以及PCH与NC之间第二链路的结合,对发生错误的第三链路进行修复。
需要说明的是,在多处理器系统为对称系统时,可以由多处理器单元中的任一CPU对第三链路进行重新配置;在多处理器系统为主从系统时,可以由多处理器单元中的主CPU对第三链路进行重新配置。
在一些实现方式中,在对第二CPU与第一NC之间的错误链路进行恢复时,第一CPU还可以对第一端口以及第二端口的数据链路层参数进行重新配置。
本发明实施例中,第二CPU与第一NC间的第三链路的链路质量不符合预设条件,指的是第三链路的误码率超过阈值,或者,第三链路的时延超过时间阈值,等等。上述主CPU确定第二CPU与第一NC间的第三链路的链路质量不符合预设条件,包括如下实现方式:
第一NC会进行数据校验,且能够通过数据校验检测到第二CPU与第一NC间的第三链路的信号质量不符合预设条件,然后,第一NC会产生表明第二CPU与第一NC间的第三链路出现错误的中断。多处理器单元中的第一CPU能够通过第一PCH与第一NC之间的第二链路获得该中断,并在获得该中断之后,确定第二CPU与第一NC间的第三链路的信号质量不符合预设条件,进而执行前述链路恢复的过程。
实际情况中,没有与PCH直接相连的CPU也可以通过与PCH之间的间接链路以及PCH与NC之间第二链路的结合,获得NC产生的错误中断。
可选的,多处理器单元中的主CPU经由PCH与NC间的第二链路获得NC的中断,或者,多处理器单元中的任一CPU经由PCH与NC间的第二链路获得NC的中断。
上述实现方式中,第一CPU能够通过PCH与NC之间的第二链路(带外通道)获得NC产生的中断,并根据该中断及时对发生错误的链路进行恢复。
需要说明的是,上述与NC之间链路发生故障的第二CPU,可以是多处理器单元中与NC建立链路的任一CPU,包括执行链路修复流程的第一CPU自身。
本发明实施例还提供一种配置多处理器系统的方法,该系统包括至少两个多处理器单元以及存储单元,每个多处理器单元包括NC、PCH以及N个CPU,N为不小于2的整数;每个多处理器单元中的第一CPU与同一多处理器单元中的PCH建立第一链路,每个多处理器单元中的PCH与同一多处理器单元中的NC建立第二链路;每个多处理器单元中的PCH与存储单元建立有链路;每个多处理器单元中有至少一个CPU的第一端口与同一多处理器单元中NC的第二端口相连;该方法包括:
每个多处理器单元中的至少一个CPU对自身的第一端口进行配置;
每个多处理器单元中的第一CPU通过与同一多处理器单元中的PCH间的第一链路以及PCH与存储单元之间的链路,从存储单元获得指令,并执行指令,以在执行指令时,通过与同一多处理器单元中的PCH间的第一链路以及同一多处理器单元中的PCH与同一多处理器单元中的NC间的第二链路,对同一多处理器单元中的NC的第二端口进行配置,以使同一多处理器单元中的至少一个CPU与同一多处理器单元中的NC建立第三链路。
在一些可能的实现方式中,每个多处理器单元中的至少一个CPU对自身的第一端口进行配置,包括:
每个多处理器单元中的至少一个CPU对自身的第一端口的物理层参数以及数据链路层参数进行配置;
每个多处理器单元中的第一CPU通过与同一多处理器单元中的PCH间的第一链路以及同一多处理器单元中的PCH与同一多处理器单元中的NC间的第二链路,对同一多处理器单元中的NC的第二端口进行配置,以使同一多处理器单元中的至少一个CPU与同一多处理器单元中的NC建立第三链路,包括:
每个多处理器单元中的第一CPU通过与同一多处理器单元中的PCH间的第一链路以及同一多处理器单元中的PCH与同一多处理器单元中的NC间的第二链路,对同一多处理器单元中的NC的第二端口的物理层参数以及数据链路层参数进行配置。
在一些可能的实现方式中,该方法还包括:
每个多处理器单元中的第一CPU通过与同一多处理器单元中的PCH间的第一链路以及同一多处理器单元中的PCH与同一多处理器单元中的NC间的第二链路,对NC的内存映射输入输出MMIO地址空间进行配置。
在一些可能的实现方式中,该方法还包括:
在同一多处理器单元中的NC的MMIO地址空间配置完毕后,每个多处理器单元中的至少一个CPU中的任一CPU通过自己与同一多处理器单元中的NC间的第三链路,对同一多处理器单元中的NC的拓扑参数以及网络接口NI参数进行配置,以使同一多处理器单元中的NC与另一多处理器单元中的NC建立第四链路。
在一些可能的实现方式中,该方法还包括:
在同一多处理器单元中的NC的MMIO地址空间配置完毕后,每个多处理器单元中第一CPU通过与同一多处理器单元中的PCH间的第一链路以及同一多处理器单元中的PCH与同一多处理器单元中的NC间的第二链路,对同一多处理器单元中的NC的拓扑参数以及NI参数进行配置,以使同一多处理器单元中的NC与另一多处理器单元中的NC建立第四链路。
在一些可能的实现方式中,该方法还包括:
每个多处理器单元中第一CPU确定同一多处理器单元中至少一个CPU中存在发生链路故障的CPU,发生链路故障的CPU与同一多处理器单元中的第一NC之间的第三链路的链路质量不符合预设条件;并
通知系统中的其他CPU暂停使用发生链路故障的CPU与同一多处理器单元中的第一NC之间的第三链路;
发生链路故障的CPU对自身的第一端口进行重新配置;
同一多处理器单元中的第一CPU通过与同一多处理器单元中的PCH间的第一链路以及同一多处理器单元中的PCH与同一多处理器单元中的NC间的第二链路,对第一NC的第二端口进行重新配置;并
通知系统中的其他CPU恢复使用发生链路故障的CPU与同一多处理器单元中的第一NC之间的第三链路。
在一些可能的实现方式中,每个多处理器单元中第一CPU确定同一多处理器单元中至少一个CPU中存在发生链路故障的CPU,包括:
每个多处理器单元中第一CPU通过与同一多处理器单元中的PCH间的第一链路以及同一多处理器单元中的PCH与同一多处理器单元中的NC间的第二链路,获得第一NC产生的中断,中断用于表明发生链路故障的CPU与同一多处理器单元中的第一NC之间的第三链路的链路质量不符合预设条件。
在一种可能的实现方式中,多处理器单元中的每个CPU与NC直接相连,且每个CPU均与PCH建立直接链路或间接链路。在这种架构下,参照图3,多处理器系统的配置过程包括如下步骤:
步骤401:CPU对自身的第一端口的物理层参数进行配置;
步骤402:CPU通过PCH利用第二链路对NC的第二端口的物理层参数进行配置;
步骤403:CPU对自身的第一端口的数据链路层参数进行配置;
步骤404:CPU通过PCH利用第二链路对NC的第二端口的数据链路层参数进行配置;
步骤405:CPU通过PCH利用第二链路对NC的内存映射输入输出MMIO地址空间进行配置;
步骤406:CPU通过CPU与NC间的第三链路对NC的拓扑参数以及网络接口NI参数进行配置,以使NC与另一多处理器单元中的NC建立第四链路。
需要说明的是,在上述步骤402、404以及步骤405中,如果CPU没有与PCH直接相连,CPU可以通过前述方式B中介绍的方法对NC进行配置。
在另一种可能的实现方式中,参照图4,多处理器单元中的第一CPU对CPU与NC间链路的修复过程如下:
步骤407:第一CPU确定多处理器单元中的第二CPU与第一NC之间的第三链路的链路质量不符合预设条件;
步骤408:第一CPU通知系统中的其他CPU暂停使用第二CPU与第一NC间的第三链路;
步骤409:第一CPU对第二CPU的第一端口进行重新配置,并通过第二CPU所在多处理器单元的第一PCH利用第二链路对第一NC的第二端口进行重新配置;
步骤410:第一CPU通知系统中的其他CPU恢复使用第二CPU与第一NC间的第三链路。
以上步骤401至步骤410的实现方式请参照前述多处理器系统中CPU的实施方式,在此不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种多处理器系统,其特征在于,所述系统包括至少两个多处理器单元以及存储单元,每个多处理器单元包括节点控制器NC、平台控制器集线器PCH以及N个中央处理器CPU,N为不小于2的整数;每个多处理器单元中的第一CPU与同一多处理器单元中的所述PCH建立第一链路,每个多处理器单元中的所述PCH与同一多处理器单元中的所述NC建立第二链路;所述存储单元存储有指令,每个多处理器单元中的所述PCH与所述存储单元建立有链路;
其中,每个多处理器单元中有至少一个CPU的第一端口与同一多处理器单元中所述NC的第二端口相连;每个多处理器单元中的所述至少一个CPU用于:对自身的所述第一端口进行配置;
每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及所述PCH与所述存储单元之间的链路,从所述存储单元获得所述指令,并执行所述指令,以在执行所述指令时执行如下步骤:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置,以使同一多处理器单元中的所述至少一个CPU与同一多处理器单元中的所述NC建立第三链路。
2.如权利要求1所述的系统,其特征在于:
每个多处理器单元中的所述至少一个CPU用于:对自身的所述第一端口进行配置,包括:对自身的所述第一端口的物理层参数以及数据链路层参数进行配置;
每个多处理器单元中的所述第一CPU用于:通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置,包括:
通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口的物理层参数以及数据链路层参数进行配置。
3.如权利要求1或2所述的系统,其特征在于,每个多处理器单元中的所述第一CPU还用于:
通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述NC的内存映射输入输出MMIO地址空间进行配置。
4.如权利要求3所述的系统,其特征在于,每个多处理器单元中的所述至少一个CPU中的任一CPU还用于:
在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,通过自己与同一多处理器单元中的所述NC间的所述第三链路,对同一多处理器单元中的所述NC的拓扑参数以及网络接口NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路。
5.如权利要求3所述的系统,其特征在于,每个多处理器单元中所述第一CPU还用于:
在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的拓扑参数以及NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路。
6.如权利要求4或5所述的系统,其特征在于:每个多处理器单元中所述第一CPU还用于:
确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件;
通知所述系统中的其他CPU暂停使用发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路;
所述发生链路故障的CPU用于:对自身的所述第一端口进行重新配置;
同一多处理器单元中的所述第一CPU还用于:
通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述第一NC的所述第二端口进行重新配置;
通知所述系统中的其他CPU恢复使用所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路。
7.如权利要求6所述的系统,其特征在于,每个多处理器单元中所述第一CPU用于:确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,包括:
通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,获得所述第一NC产生的中断,所述中断用于表明所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件。
8.一种配置多处理器系统的方法,其特征在于,所述系统包括至少两个多处理器单元以及存储单元,每个多处理器单元包括NC、PCH以及N个CPU,N为不小于2的整数;每个多处理器单元中的第一CPU与同一多处理器单元中的所述PCH建立第一链路,每个多处理器单元中的所述PCH与同一多处理器单元中的所述NC建立第二链路;所述存储单元存储有指令,每个多处理器单元中的所述PCH与所述存储单元建立有链路;每个多处理器单元中有至少一个CPU的第一端口与同一多处理器单元中所述NC的第二端口相连;所述方法包括:
每个多处理器单元中的所述至少一个CPU对自身的所述第一端口进行配置;
每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及所述PCH与所述存储单元之间的链路,从所述存储单元获得所述指令,并执行所述指令,以在执行所述指令时,通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置,以使同一多处理器单元中的所述至少一个CPU与同一多处理器单元中的所述NC建立第三链路。
9.如权利要求8所述的方法,其特征在于:
每个多处理器单元中的所述至少一个CPU对自身的所述第一端口进行配置,包括:
每个多处理器单元中的所述至少一个CPU对自身的所述第一端口的物理层参数以及数据链路层参数进行配置;
每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口进行配置,以使同一多处理器单元中的所述至少一个CPU与同一多处理器单元中的所述NC建立第三链路,包括:
每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的所述第二端口的物理层参数以及数据链路层参数进行配置。
10.如权利要求8或9所述的方法,其特征在于,所述方法还包括:
每个多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述NC的内存映射输入输出MMIO地址空间进行配置。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,每个多处理器单元中的所述至少一个CPU中的任一CPU通过自己与同一多处理器单元中的所述NC间的所述第三链路,对同一多处理器单元中的所述NC的拓扑参数以及网络接口NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路。
12.如权利要求10所述的方法,其特征在于,所述方法还包括:
在同一多处理器单元中的所述NC的MMIO地址空间配置完毕后,每个多处理器单元中所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对同一多处理器单元中的所述NC的拓扑参数以及NI参数进行配置,以使同一多处理器单元中的所述NC与另一多处理器单元中的NC建立第四链路。
13.如权利要求11或12所述的方法,其特征在于,所述方法还包括:
每个多处理器单元中所述第一CPU确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件;并
通知所述系统中的其他CPU暂停使用发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路;
所述发生链路故障的CPU对自身的所述第一端口进行重新配置;
同一多处理器单元中的所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,对所述第一NC的所述第二端口进行重新配置;并
通知所述系统中的其他CPU恢复使用所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路。
14.如权利要求13所述的方法,其特征在于,每个多处理器单元中所述第一CPU确定同一多处理器单元中所述至少一个CPU中存在发生链路故障的CPU,包括:
每个多处理器单元中所述第一CPU通过与同一多处理器单元中的所述PCH间的所述第一链路以及同一多处理器单元中的所述PCH与同一多处理器单元中的所述NC间的所述第二链路,获得所述第一NC产生的中断,所述中断用于表明所述发生链路故障的CPU与同一多处理器单元中的第一NC之间的所述第三链路的链路质量不符合预设条件。
CN201610201018.7A 2016-03-31 2016-03-31 一种多处理器系统及配置多处理器系统的方法 Active CN107291653B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610201018.7A CN107291653B (zh) 2016-03-31 2016-03-31 一种多处理器系统及配置多处理器系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610201018.7A CN107291653B (zh) 2016-03-31 2016-03-31 一种多处理器系统及配置多处理器系统的方法

Publications (2)

Publication Number Publication Date
CN107291653A true CN107291653A (zh) 2017-10-24
CN107291653B CN107291653B (zh) 2020-06-16

Family

ID=60087725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610201018.7A Active CN107291653B (zh) 2016-03-31 2016-03-31 一种多处理器系统及配置多处理器系统的方法

Country Status (1)

Country Link
CN (1) CN107291653B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026239A (zh) * 2019-10-31 2020-04-17 苏州浪潮智能科技有限公司 服务器和用于控制cpu的方法
CN111857840A (zh) * 2020-06-10 2020-10-30 新华三技术有限公司 基本输入输出系统bios启动方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018338A (ja) * 2003-06-25 2005-01-20 Nec Corp 情報処理装置の障害処理装置、ネットワークコントローラ及び障害処理方法
CN101908036A (zh) * 2010-07-22 2010-12-08 中国科学院计算技术研究所 一种高密度多处理器系统及其节点控制器
CN103049422A (zh) * 2012-12-17 2013-04-17 浪潮电子信息产业股份有限公司 一种具有多cache一致性域的多处理器节点系统构建方法
US20130103975A1 (en) * 2011-08-25 2013-04-25 Huawei Technologies Co., Ltd. Method for switching a node controller link, processor system, and node
CN103500108A (zh) * 2013-09-27 2014-01-08 杭州华为数字技术有限公司 系统内存访问方法、节点控制器和多处理器系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018338A (ja) * 2003-06-25 2005-01-20 Nec Corp 情報処理装置の障害処理装置、ネットワークコントローラ及び障害処理方法
CN101908036A (zh) * 2010-07-22 2010-12-08 中国科学院计算技术研究所 一种高密度多处理器系统及其节点控制器
US20130103975A1 (en) * 2011-08-25 2013-04-25 Huawei Technologies Co., Ltd. Method for switching a node controller link, processor system, and node
CN103049422A (zh) * 2012-12-17 2013-04-17 浪潮电子信息产业股份有限公司 一种具有多cache一致性域的多处理器节点系统构建方法
CN103500108A (zh) * 2013-09-27 2014-01-08 杭州华为数字技术有限公司 系统内存访问方法、节点控制器和多处理器系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026239A (zh) * 2019-10-31 2020-04-17 苏州浪潮智能科技有限公司 服务器和用于控制cpu的方法
CN111026239B (zh) * 2019-10-31 2021-07-02 苏州浪潮智能科技有限公司 服务器和用于控制cpu的方法
CN111857840A (zh) * 2020-06-10 2020-10-30 新华三技术有限公司 基本输入输出系统bios启动方法及装置
CN111857840B (zh) * 2020-06-10 2023-10-27 新华三技术有限公司 基本输入输出系统bios启动方法及装置

Also Published As

Publication number Publication date
CN107291653B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
US9785732B2 (en) Verification low power collateral generation
JP5285690B2 (ja) 並列コンピュータ・システム、並列コンピュータ・システム上のノード・トラフィックを動的に再経路指定するためのコンピュータ実装方法、コンピュータ可読記録媒体及びコンピュータ・プログラム
JP5285061B2 (ja) 並列コンピュータ・システム、並列コンピュータ・システム内の障害回復のためのコンピュータ実装方法、製品及びコンピュータ・プログラム
CN107787484B (zh) 通过网络配置加速部件
CN101710314B (zh) 高速外围部件互连交换控制器及其实现方法
US9202002B2 (en) System for designing network on chip interconnect arrangements
CN107810487A (zh) 部分地重新配置加速组件
CN105204965A (zh) 用于多节点环境中的动态节点修复的方法和装置
CN110489365A (zh) 交换设备、外围部件互连高速系统及其初始化方法
CN101589370A (zh) 大规模并行计算机系统上的故障恢复以处理节点故障而不结束执行的作业
EP3183664B1 (en) Configuration of a cluster server using cellular automata
CN104050028B (zh) 用于触发和跟踪初级可调节结构内的片上系统结构事务的方法和装置
CN109274603A (zh) 异构协议数据之间基于软件定义的互连方法和装置
CN105359122B (zh) 多cpu系统中的增强型数据传输
JP5307151B2 (ja) リンクに基づくシステムにおけるシステムルーティング情報の変更
CN107291653A (zh) 一种多处理器系统及配置多处理器系统的方法
CN206807466U (zh) 一种基于pcie非透明桥的高可用冗余加密终端
CN110245052A (zh) 一种数据系统的热点组件确定方法、装置、电子设备及存储介质
CN105528199B (zh) 一种节点的处理方法及装置
CN105824374A (zh) 一种双子星型服务器架构
CN109542834A (zh) 一种确定nc芯片连接错误的方法及nc芯片
CN103036737A (zh) 一种大规模微系统芯片的片上多节点系统的自测试方法
CN113886148A (zh) 一种cpu的诊断系统、方法、装置以及介质
CN106557429A (zh) 一种内存数据的迁移方法和节点控制器
CN110262943A (zh) 一种数据系统的异常组件确定方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant