CN105205032B - Cpu互连装置、系统及其控制方法、控制装置 - Google Patents

Cpu互连装置、系统及其控制方法、控制装置 Download PDF

Info

Publication number
CN105205032B
CN105205032B CN201510526313.5A CN201510526313A CN105205032B CN 105205032 B CN105205032 B CN 105205032B CN 201510526313 A CN201510526313 A CN 201510526313A CN 105205032 B CN105205032 B CN 105205032B
Authority
CN
China
Prior art keywords
cpu
topology
change
terminal
state
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.)
Active
Application number
CN201510526313.5A
Other languages
English (en)
Other versions
CN105205032A (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 CN201510526313.5A priority Critical patent/CN105205032B/zh
Publication of CN105205032A publication Critical patent/CN105205032A/zh
Priority to PCT/CN2016/076267 priority patent/WO2017031978A1/zh
Priority to EP16838241.4A priority patent/EP3285173A4/en
Priority to US15/903,032 priority patent/US20180181536A1/en
Application granted granted Critical
Publication of CN105205032B publication Critical patent/CN105205032B/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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • G06F15/17343Direct connection machines, e.g. completely connected computers, point to point communication networks wherein the interconnection is dynamically configurable, e.g. having loosely coupled nearest neighbor architecture
    • 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
    • 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/04Modifications for accelerating switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种CPU互连装置、系统及其控制方法、控制装置,属于电子技术领域。所述CPU互连装置包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,当所述选通单元处于第一状态时,所述第一端子与所述第二端子连接,当所述选通单元处于第二状态时,所述第一端子与所述第二端子断开,每个所述切换电路的两个所述第一端子分别用于连接第一节点内的两个CPU,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,或者每个所述切换电路的两个第二端子分别用于连接第二节点内的两个CPU。

Description

CPU互连装置、系统及其控制方法、控制装置
技术领域
本发明涉及电子技术领域,特别涉及一种CPU互连装置、系统及其控制方法、控制装置。
背景技术
快速互联通道(英文Quick Path Interconnect,简称QPI)技术将多个节点中的中央处理器(英文Central Processing Unit,简称CPU)相互连接,使得原本独立工作的多个节点可以联合成一个整体(即组成一个分区),并将所联合成的整体作为一个执行主体来承担原来各个节点上的工作,提高了各个节点的数据承载量和处理能力。
现有技术中,由于CPU的端子数量有限,在实际应用中往往不能做到一个分区中的每个CPU都与其他的CPU两两相连,所以在进行拓扑搭建时,将一个CPU与其他CPU进行连接,会选择性地将该CPU与其他CPU中的几个进行连接,而由于在将一个CPU与其他CPU中的几个进行连接存在多种连接方式,所以对于多个节点的CPU互连而言,可以通过选择不同的连接方式搭建出多种拓扑结构。但由于拓扑结构在搭建完成后是固定不变的,因而无法实现系统多样化的需求。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种CPU互连装置、系统及其控制方法、控制装置。所述技术方案如下:
第一方面,本发明实施例提供了一种CPU互连装置,包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,当所述选通单元处于第一状态时,所述第一端子与所述第二端子连接,当所述选通单元处于第二状态时,所述第一端子与所述第二端子断开,每个所述切换电路的两个所述第一端子分别用于连接第一节点内的两个CPU,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,或者每个所述切换电路的两个第二端子分别用于连接第二节点内的两个CPU。
在本发明实施例的一种实现方式中,所述选通单元还包括第三端子,当所述选通单元处于所述第一状态时,所述第一端子与所述第三端子断开,当所述选通单元处于所述第二状态时,所述第一端子与所述第三端子连接,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,每个所述切换电路的两个第三端子分别用于连接所述第二节点内的两个CPU。
在本发明实施例的另一种实现方式中,所述装置包括第二中间线路,所述切换电路的第三端子通过所述第二中间线路与所述第二节点内的CPU所连的切换电路的第三端子连接。
在本发明实施例的另一种实现方式中,所述切换电路的第三端子通过NC中的处理单元与所述第二节点内的CPU所连的切换电路的第三端子连接。
在本发明实施例的另一种实现方式中,所述选通单元为开关电路、电子开关、选通器、选择器或者分配器。
第二方面,本发明实施例提供了一种CPU互连系统,包括多个节点,所述多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,所述CPU互连系统还包括如前所述的CPU互连装置。
第三方面,本发明实施例提供了一种CPU互连控制方法,适用于CPU互连系统,所述CPU互连系统包括多个节点,所述多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,所述CPU互连系统还包括CPU互连装置,所述CPU互连装置包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,每个所述切换电路的两个所述第一端子分别用于连接第一节点内的两个CPU,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,或者每个所述切换电路的两个第二端子分别用于连接所述第二节点内的两个CPU,所述方法包括:
获取拓扑变化指示信号;
根据所述拓扑变化指示信号确定选通单元的状态,所述状态包括第一状态和第二状态;
当所述选通单元的状态为所述第一状态时,控制所述选通单元的所述第一端子与所述第二端子连接,当所述选通单元的状态为所述第二状态时,控制所述第一端子与所述第二端子断开。
在本发明实施例的一种实现方式中,所述选通单元还包括第三端子,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,每个所述切换电路的两个第三端子分别用于连接所述第二节点内的两个CPU,所述方法还包括:
当所述选通单元的状态为所述第一状态时,控制所述第一端子与所述第三端子断开,当所述选通单元的状态为所述第二状态时,控制所述第一端子与所述第三端子连接。
在本发明实施例的另一种实现方式中,所述获取拓扑变化指示信号,包括:
接收用户输入的拓扑变化指示信号,所述拓扑变化指示信号包括所述拓扑变化指示信息,所述拓扑变化指示信息包括变化后的系统分区CPU数量或变化后的系统应用场景,所述系统应用场景为联机分析处理场景或者联机事务处理场景。
在本发明实施例的另一种实现方式中,所述获取拓扑变化指示信号,包括:
获取系统监测信息,所述系统监测信息包括CPU的负载和延迟中的至少一个;
根据所述系统监测信息生成所述拓扑变化指示信号,所述拓扑变化指示信号包括拓扑变化指示信息,所述拓扑变化指示信息包括负载过高的CPU和延迟过大的CPU中的至少一个。
在本发明实施例的另一种实现方式中,所述根据所述拓扑变化指示信号确定选通单元的状态,包括:
根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑;
根据变换后的所述CPU互连系统的拓扑确定选通单元的状态。
在本发明实施例的另一种实现方式中,所述根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑,包括:
获取拓扑变化指示信号与拓扑的对应关系;
根据所述拓扑变化指示信号与拓扑的对应关系,确定变换后的所述CPU互连系统的拓扑,所述变换后的所述CPU互连系统的拓扑与拓扑变化指示信号相对应。
在本发明实施例的另一种实现方式中,所述根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑,包括:
根据所述拓扑变化指示信号确定拓扑变化,所述拓扑变化包括连通两CPU之间的线路或者断开两CPU之间的线路;
根据变换前的所述CPU互连系统的拓扑和所述拓扑变化,确定变换后的所述CPU互连系统的拓扑。
在本发明实施例的另一种实现方式中,所述根据所述拓扑变化指示信号确定拓扑变化,包括:
当所述拓扑变化指示信号包括负载过高的CPU或延迟过大的CPU时,确定所述负载过高或延迟过大的CPU;
将确定出的CPU与所述第二节点中的CPU之间的连接,改为与所述第一节点内的CPU之间的连接,所述确定出的CPU处于所述第一节点内。
在本发明实施例的另一种实现方式中,所述确定变换后的所述CPU互连系统的拓扑,包括:
确定连接集C1、C2和C3,所述连接集C1包括两个CPU间的直连连接,所述连接集C2包括第一中间线路、第二中间线路、CPU与选通单元之间的连接或者CPU与处理单元之间的连接,所述C3连接集包括伪直连连接,所述伪直连连接是两CPU通过第一中间线路或第二中间线路建立的连接。
在本发明实施例的另一种实现方式中,所述根据变换后的所述CPU互连系统的拓扑确定选通单元的状态,包括:
获取变换后的所述CPU互连系统的拓扑中的连接集C2和C3;
根据所述连接集C2和C3确定每个选通单元所连通的第一中间线路或者第二中间线路;
根据所述选通单元所连通的第一中间线路或者第二中间线路确定所述选通的状态。
第四方面,本发明实施例提供了一种CPU互连控制装置,适用于CPU互连系统,所述CPU互连系统包括多个节点,所述多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,所述CPU互连系统还包括CPU互连装置,所述CPU互连装置包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,每个所述切换电路的两个所述第一端子分别用于连接第一节点内的两个CPU,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,或者每个所述切换电路的两个第二端子分别用于连接所述第二节点内的两个CPU,所述装置包括:
获取模块,用于获取拓扑变化指示信号;
确定模块,用于根据所述拓扑变化指示信号确定选通单元的状态,所述状态包括第一状态和第二状态;
控制模块,用于当所述选通单元的状态为所述第一状态时,控制所述选通单元的所述第一端子与所述第二端子连接,当所述选通单元的状态为所述第二状态时,控制所述第一端子与所述第二端子断开。
在本发明实施例的一种实现方式中,所述选通单元还包括第三端子,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,每个所述切换电路的两个第三端子分别用于连接所述第二节点内的两个CPU,所述控制模块,还用于:
当所述选通单元的状态为所述第一状态时,控制所述第一端子与所述第三端子断开,当所述选通单元的状态为所述第二状态时,控制所述第一端子与所述第三端子连接。
在本发明实施例的另一种实现方式中,所述获取模块,具体用于:
接收用户输入的拓扑变化指示信号,所述拓扑变化指示信号包括所述拓扑变化指示信息,所述拓扑变化指示信息包括变化后的系统分区CPU数量或变化后的系统应用场景,所述系统应用场景为联机分析处理场景或者联机事务处理场景。
在本发明实施例的另一种实现方式中,所述获取模块,包括:
第一获取子模块,用于获取系统监测信息,所述系统监测信息包括CPU的负载和延迟中的至少一个;
生成子模块,用于根据所述系统监测信息生成所述拓扑变化指示信号,所述拓扑变化指示信号包括拓扑变化指示信息,所述拓扑变化指示信息包括负载过高的CPU和延迟过大的CPU中的至少一个。
在本发明实施例的另一种实现方式中,所述确定模块,包括:
第二获取子模块,用于根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑;
第一确定子模块,用于根据变换后的所述CPU互连系统的拓扑确定选通单元的状态。
在本发明实施例的另一种实现方式中,所述第二获取子模块,具体用于:
获取拓扑变化指示信号与拓扑的对应关系;
根据所述拓扑变化指示信号与拓扑的对应关系,确定变换后的所述CPU互连系统的拓扑,所述变换后的所述CPU互连系统的拓扑与拓扑变化指示信号相对应。
在本发明实施例的另一种实现方式中,所述第二获取子模块,具体用于:
根据所述拓扑变化指示信号确定拓扑变化,所述拓扑变化包括连通两CPU之间的线路或者断开两CPU之间的线路;
根据变换前的所述CPU互连系统的拓扑和所述拓扑变化,确定变换后的所述CPU互连系统的拓扑。
在本发明实施例的另一种实现方式中,所述第二获取子模块,具体用于:
当所述拓扑变化指示信号包括负载过高的CPU或延迟过大的CPU时,确定所述负载过高或延迟过大的CPU;
将确定出的CPU与所述第二节点中的CPU之间的连接,改为与所述第一节点内的CPU之间的连接,所述确定出的CPU处于所述第一节点内。
在本发明实施例的另一种实现方式中,所述第二获取子模块,具体用于:
确定连接集C1、C2和C3,所述连接集C1包括两个CPU间的直连连接,所述连接集C2包括第一中间线路、第二中间线路、CPU与选通单元之间的连接或者CPU与处理单元之间的连接,所述C3连接集包括伪直连连接,所述伪直连连接是两CPU通过第一中间线路或第二中间线路建立的连接。
在本发明实施例的另一种实现方式中,所述第一确定子模块,具体用于:
获取变换后的所述CPU互连系统的拓扑中的连接集C2和C3;
根据所述连接集C2和C3确定每个选通单元所连通的第一中间线路或者第二中间线路;
根据所述选通单元所连通的第一中间线路或者第二中间线路确定所述选通的状态。
本发明实施例提供的技术方案带来的有益效果是:
CPU互连装置中的两个选通单元在第一状态下,连通第一端子和第二端子,两个第二端子通过第一中间线路连接,实现第一节点内的CPU互连,或者,两个第二端子分别用于连接第二节点内的两个CPU,实现第一节点与第二节点间的CPU互连,而当处在第二状态下时,断开第一端子和第二端子,因此通过在第一状态和第二状态下的切换,可以节点内或节点间CPU互连与断开,使得CPU互连系统的拓扑符合不同特性、场景需求,提高了CPU互连系统中CPU的处理性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种CPU互连装置的结构示意图;
图1b是本发明实施例提供的另一种CPU互连装置的结构示意图;
图1c是本发明实施例提供的另一种CPU互连装置的结构示意图;
图2是本发明实施例提供的一种CPU互连系统的结构示意图;
图3a是本发明实施例提供的一种CPU互连系统的结构示意图;
图3b是本发明实施例提供的一种CPU互连系统的结构示意图;
图4是本发明实施例提供的另一种CPU互连系统的结构示意图;
图5a是本发明实施例提供的另一种CPU互连系统的结构示意图;
图5b是本发明实施例提供的另一种CPU互连系统的结构示意图;
图6是本发明实施例提供的一种CPU互连控制方法的流程图;
图7是本发明实施例提供的另一种CPU互连控制方法的流程图;
图8是本发明实施例提供的一种拓扑结构图;
图9是本发明实施例提供的另一种拓扑结构图;
图10a是本发明实施例提供的另一种拓扑结构图;
图10b是本发明实施例提供的另一种拓扑结构图;
图11是本发明实施例提供的一种CPU互连控制装置的结构示意图;
图12是本发明实施例提供的一种CPU互连控制装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1a是本发明实施例提供的一种CPU互连装置的结构示意图,CPU互连装置10包括:至少一个切换电路11,每个切换电路11包括两个选通单元110和一条第一中间线路120,每个选通单元110包括第一端子111和第二端子112,当选通单元110处于第一状态时,第一端子111与第二端子112连接,当选通单元110处于第二状态时,第一端子111与第二端子112断开,每个切换电路11的两个第一端子111分别用于连接第一节点20内的两个CPU(如图中CPU0和CPU3),每个切换电路11的两个第二端子112分别与第一中间线路120的两端连接。
图1b是本发明实施例提供的另一种CPU互连装置的结构示意图,与图1a提供的装置相比,每个切换电路11的两个第二端子112分别用于连接第二节点内的两个CPU。
本发明实施例中,CPU互连装置中的两个选通单元在第一状态下,连通第一端子和第二端子,两个第二端子通过第一中间线路连接,实现第一节点内的CPU互连,或者,两个第二端子分别用于连接第二节点内的两个CPU,实现第一节点与第二节点间的CPU互连,而当处在第二状态下时,断开第一端子和第二端子,因此通过在第一状态和第二状态下的切换,可以节点内或节点间CPU互连与断开,使得CPU互连系统的拓扑符合不同特性、场景需求,提高了CPU互连系统中CPU的处理性能。
图1c是本发明实施例提供的另一种CPU互连装置的结构示意图,与图1a提供的装置相比,选通单元110还包括第三端子113,当选通单元110处于第一状态时,第一端子111与第三端子113断开,当选通单元110处于第二状态时,第一端子111与第三端子113连接,每个切换电路11的两个第二端子112分别与第一中间线路120的两端连接,每个切换电路11的两个第三端子113分别用于连接第二节点30内的两个CPU。
本发明实施例还提供了另一种CPU互连装置,与图1a、1b或1c提供的装置相比,该装置还可以包括第二中间线路,切换电路的第三端子通过第二中间线路与第二节点内的CPU所连的切换电路的第三端子连接。
本发明实施例还提供了另一种CPU互连装置,与图1a、1b或1c提供的装置相比,该切换电路的第三端子通过节点控制器(英文Node Controller,简称NC)中的处理单元与第二节点内的CPU所连的切换电路的第三端子连接。
本发明实施例还提供了另一种CPU互连装置,与图1a、1b或1c提供的装置相比,选通单元为开关电路、电子开关、选通器、选择器、分配器、或具有类似功能的硬件逻辑。选通单元还可以是上述元器件中至少两个的组合。开关电路可以采用具有通路选择功能的硬件芯片、电路器件、组合电路或者逻辑电路实现(如采用NC中的已有电路实现),在本发明中对此具体实现或组合的方式不做限定,但此类实现方式均在本发明涵盖范围内。
图2是本发明实施例提供的一种CPU互连系统的结构示意图,该系统包括多个节点,多个节点包括第一节点21和第二节点22,每个节点20包括多个直连连接的CPU,CPU互连系统还包括如图1a、1b或1c(图中以1c为例)所示的CPU互连装置10。
本发明实施例中,CPU互连系统的CPU互连装置中的两个选通单元在第一状态下,连通第一端子和第二端子,两个第二端子通过第一中间线路连接,实现第一节点内的CPU互连,或者,两个第二端子分别用于连接第二节点内的两个CPU,实现第一节点与第二节点间的CPU互连,而当处在第二状态下时,断开第一端子和第二端子,因此通过在第一状态和第二状态下的切换,可以节点内或节点间CPU互连与断开,使得CPU互连系统的拓扑符合不同特性、场景需求,提高了CPU互连系统中CPU的处理性能。
本发明实施例还提供了另一种CPU互连系统,与图2提供的CPU互连系统相比,该系统中每个节点包括偶数个CPU,且CPU互连系统中选通单元的数量与CPU数量相等,每个CPU分别与一个选通单元的第一端子连接,且每个CPU连接的选通单元不同。当然,在本发明实施例中,CPU互连系统还可以包括比CPU数量少的选通单元。
下面通过举例对本发明实施例提供的CPU互连系统进行说明:
图3a是本发明实施例提供的一种CPU互连系统的结构示意图,参见图3a,该系统中包括两个节点和两个NC0,其中,第一节点包括CPU0~3,且CPU0、CPU1、CPU3、CPU2首尾相连围成一圈,同样第二节点包括CPU4~7,且CPU4、CPU5、CPU7、CPU6首尾相连围成一圈,NC0分别与CPU0、CPU3、CPU6和CPU5连接,NC2分别与CPU2、CPU1、CPU4和CPU7连接,上述CPU和NC组成一个8P的分区。
具体地,下面对NC内部结构进行说明,以NC0为例,具体如图3b所示,NC0包括处理单元S1,处理单元S1用于进行数据接收、校验、解析和路由处理,可以实现CPU之间的连通与断开;NC0还包括CPU互连装置,CPU互连装置包括切换电路,切换电路包括选通单元S2、S3和第一中间线路S0,选通单元S2和S3用于使CPU0和CPU3通过处理单元S1连通,或者通过第一中间线路S0连通。其中,第一中间线路S0为NC中的线路。
图4是本发明实施例提供的另一种CPU互连系统的结构示意图,参见图4,该系统中包括两个节点以及CPU互连装置,第一节点包括CPU0~3,且CPU0、CPU1、CPU3、CPU2首尾相连围成一圈,同样第二节点包括CPU4~7,且CPU4、CPU5、CPU7、CPU6首尾相连围成一圈。CPU互连装置包括切换电路,切换电路包括选通单元A1、A2和第一中间线路a2,选通单元A1和A2分别用于使CPU0和CPU3通过第一中间线路a2连通,或者通过第二中间线路(如a1)连接到第二节点的CPU上。
其中,a2为一条第二中间线路,切换电路中选通单元A1的第三端子通过第二中间线路a2与第二节点内的CPU5所连的切换电路的第三端子连接。
图5a和5b是本发明实施例提供的另一种CPU互连系统的结构示意图,该系统与图4提供的系统的主要区别在于,节点内CPU间或者节点间的CPU间连接可以通过多条线路实现,参见图5a,该系统中包括多个4个节点(Node0~3),任意两个节点之间有四条线路连接,每个节点的内部结构如图5b所示,其中包括4个CPU(CPU0~3),任意两个CPU之间有一条通路,每个CPU通过三条线路与另外三个节点连接。
需要说明的是,以上应用场景中CPU及其他元器件的数量仅为举例,本发明对此不作限制。
图6是本发明实施例提供的一种CPU互连控制方法的流程图,适用于前述图2所示的CPU互连系统,CPU互连系统包括多个节点,多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,CPU互连系统还包括CPU互连装置,CPU互连装置包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,每个切换电路的两个第一端子分别用于连接第一节点内的两个CPU,每个切换电路的两个第二端子分别与第一中间线路的两端连接,或者每个切换电路的两个第二端子分别用于连接第二节点内的两个CPU,参见图6,该方法包括:
步骤101:获取拓扑变化指示信号。
拓扑变化指示信号既可以是用户输入的,也可以是系统自动生成的。
步骤102:根据拓扑变化指示信号确定选通单元的状态,状态包括第一状态和第二状态。
步骤103:当选通单元的状态为第一状态时,控制选通单元的第一端子与第二端子连接,当选通单元的状态为第二状态时,控制第一端子与第二端子断开。
本发明通过获取到的拓扑变化指示信号确定选通单元的状态,状态包括第一状态和第二状态,当选通单元的状态为第一状态时,控制选通单元的第一端子与第二端子连接,当选通单元的状态为第二状态时,控制第一端子与第二端子断开,从而实现根据拓扑变化指示智能化选择CPU间的通路,使得CPU互连系统的拓扑符合当前需求,提高了CPU互连系统中CPU的处理性能。
图7是本发明实施例提供的另一种CPU互连控制方法的流程图,适用于前文的CPU互连系统,参见图7,该方法包括:
步骤201:获取拓扑变化指示信号,拓扑变化指示信号用于指示进行CPU互连系统的拓扑变化。
在本发明实施例的一种实现方式中,获取拓扑变化指示信号,包括:
接收用户输入的拓扑变化指示信号,拓扑变化指示信号包括拓扑变化指示信息,拓扑变化指示信息包括变化后的系统分区CPU数量(如4个)或变化后的系统应用场景。当然拓扑变化指示信息不限于上述所列举的形式,例如还可以是直接指示优先节点内连接或节点间连接。
在本发明实施例的另一种实现方式中,获取拓扑变化指示信号,包括:
获取系统监测信息,系统监测信息包括CPU的负载和延迟中的至少一个;
根据系统监测信息生成拓扑变化指示信号,拓扑变化指示信号包括拓扑变化指示信息,拓扑变化指示信息包括负载过高的CPU和延迟过大的CPU中的至少一个。
其中,根据系统监测信息生成拓扑变化指示信号可以包括:比较系统监测信息中的负载与预设负载阀值的大小,以及系统监测信息中的延迟与预设延迟阀值的大小;当系统监测信息中负载大于预设负载阀值或者延迟大于预设延迟阀值时,生成拓扑变化指示信号。其中,系统监测信息的获取可以采用现有的性能检测装置或电路实现,这里不做赘述。
步骤202:根据拓扑变化指示信号确定选通单元的状态,状态包括第一状态和第二状态。
具体地,步骤202可以包括:
根据拓扑变化指示信号确定变换后的CPU互连系统的拓扑;
根据变换后的CPU互连系统的拓扑确定选通单元的状态。
在本发明实施例的一种实现方式中,根据拓扑变化指示信号确定变换后的CPU互连系统的拓扑可以采用下述方式实现:
步骤一:获取拓扑变化指示信号与拓扑的对应关系。
由于对于一个系统而言,其中CPU等元件的布置是固定的,因此可以事先根据拓扑变化指示信号设计出对应的拓扑结构。具体地,拓扑变化指示信号与拓扑的对应关系包括但不限于:系统分区CPU数量变化与拓扑的对应关系,系统应用场景与拓扑的对应关系,负载过高与拓扑的对应关系及延迟过大与拓扑的对应关系。
下面通过举例对上述拓扑变化指示与拓扑的对应关系进行说明:
例如,系统分区CPU数量变化指示与拓扑的对应关系可以按如下方式设置:
以图3a和3b为例,当CPU之间(如CPU0和CPU3)通过处理单元连接时,构成一个8P的分区,其拓扑如图3a所示;当CPU之间通过第一中间线路连接时,构成两个4P的分区,其拓扑简化如图8所示。因此,上述拓扑变化指示与拓扑的对应关系可以如下:当拓扑变化指示信息包括系统分区CPU数量为8时,其对应的拓扑如图3a所示;当拓扑变化指示信息包括系统分区CPU数量为4时,其对应的拓扑如图8所示。
以图4为例,当拓扑变化指示信息包括系统分区CPU数量为8时,其对应的拓扑如图9所示;当拓扑变化指示信息包括系统分区CPU数量为4时,其对应的拓扑如图8所示。
以图5a为例,当拓扑变化指示信息包括的系统应用场景为联机分析处理OLAP场景时,其对应的拓扑如图5a和5b所示;当拓扑变化指示信息包括的系统应用场景为联机事务处理OLTP场景时,其对应的拓扑如图10a和10b所示。
步骤二:根据拓扑变化指示信号与拓扑的对应关系,确定变换后的CPU互连系统的拓扑,变换后的CPU互连系统的拓扑与拓扑变化指示信号相对应。
在本发明实施例的另一种实现方式中,根据拓扑变化指示信号确定变换后的CPU互连系统的拓扑还可以采用下述方式实现:
步骤一:根据拓扑变化指示信号确定拓扑变化,拓扑变化包括连通两CPU之间的线路或者断开两CPU之间的线路。
其中,步骤一可以包括:当拓扑变化指示信号包括负载过高的CPU或延迟过大的CPU时,确定负载过高或延迟过大的CPU;将确定出的CPU与第二节点中的CPU之间的连接,改为与第一节点内的CPU之间的连接,确定出的CPU处于第一节点内。
步骤二:根据变换前的CPU互连系统的拓扑和拓扑变化,确定变换后的CPU互连系统的拓扑。
其中,变换前的CPU互连系统的拓扑可能是在步骤201之前获取到的,也可以是在步骤一前获取到的。因此,在这种实现方式中,步骤202还可以包括:获取变换前的CPU互连系统的拓扑。
下面通过举例对上述拓扑变化进行说明:
以图3a为例,变换前的拓扑如图3a所示。当拓扑变化指示信号包括延迟过大,延迟过大的为第一节点CPU0和CPU1时,需要降低第一节点CPU0和CPU1的延迟;具体可以通过增加节点内CPU0和CPU3、CPU1和CPU2的连接线路来降低两种延迟,按照此方案确定出的变换后的拓扑如图8所示。
以图4为例,变换前的拓扑如图9所示。当拓扑变化指示信号包括延迟过大,延迟过大的为第一节点CPU0和CPU1时,需要降低第一节点CPU0和CPU1的延迟;具体可以通过增加节点内CPU0和CPU3、CPU1和CPU2的连接线路来降低两种延迟,按照此方案确定出的变换后的拓扑如图8所示。
以图5a为例,变换前的拓扑如图5a和5b所示。当拓扑变化指示信号包括负载过高,负载过高大的为第一节点CPU0和CPU1时,需要降低第一节点CPU0和CPU1的负载;具体可以通过增加节点内CPU0与其他CPU的连接线路来降低其负载,如将CPU0与节点内其他CPU之间的线路增加至两条,按照此方案确定出的变换后的拓扑如图10a和10b所示。
在上述方案中,拓扑是采用图示方式表示的,但是对于处理器或者控制器而言,为了降低其处理复杂度,可以采用下述方式连接集的方式表示拓扑。具体地,在上述两种实现方式中,确定变换后的CPU互连系统的拓扑包括:
确定连接集C1、C2和C3,连接集C1包括两个CPU间的直连连接,连接集C2包括第一中间线路、第二中间线路、CPU与选通单元之间的连接或者CPU与处理单元之间的连接,C3连接集包括伪直连连接,伪直连连接是两CPU通过第一中间线路或第二中间线路建立的连接。
具体地,连接集C1为两个CPU间的直连连接,可以采用两个CPU来表示,例如(CPU0,CPU1),对于多节点系统而言,可以在CPU前加上节点号,如(node1CPU0,node2CPU1)。连接集C2为包括第一或者第二中间线路、CPU与选通单元之间的连接或者CPU与节点连接器,可以采用第一或者第二中间线路两端的选通单元、或者线路两端的CPU与选通单元表示,例如(A1,A2)、(CPU0、A1),同样对于多节点系统而言,可以在CPU和选通单元前加上节点号。C3连接集包括伪直连连接,可以采用该伪直连连接连通的两个CPU及中间的两个选通单元表示,例如(CPU0,A1,A2,CPU1),同样对于多节点系统而言,可以在CPU和选通单元前加上节点号。在本发明实施例中,伪直连连接只需进行硬件层或物理层信号或数据转发,而不需要进行二层及以上的数据处理:接收、校验、解析、交换、重组、路由等。
在前述步骤中,确定变换后的CPU互连系统的拓扑,即包括确定连接集C1、C2和C3。
在本发明实施例中,根据变换后的CPU互连系统的拓扑确定选通单元的状态,包括:
获取变换后的CPU互连系统的拓扑中的连接集C2和C3;
根据连接集C2和C3确定每个选通单元所连通的第一中间线路或者第二中间线路;
根据选通单元所连通的第一中间线路或者第二中间线路确定选通的状态。
以图3a为例,当选通单元连接第一中间线路S0时,确定选通单元为第一状态。
步骤203:当选通单元的状态为第一状态时,控制选通单元的第一端子与第二端子连接,控制第一端子与第三端子断开;当选通单元的状态为第二状态时,控制第一端子与第二端子断开,控制第一端子与第三端子连接。
其中,选通单元还包括第三端子,每个切换电路的两个第二端子分别与第一中间线路的两端连接,每个切换电路的两个第三端子分别用于连接第二节点内的两个CPU。
具体控制时,根据选通单元的状态确定对应的控制信号,将确定出的控制信号发送给选通单元。
具体地,控制信号可以包括二进制数0或者1。在本发明实施例中,控制信号可能是一个单一的信号例如0或者1,也可以是多个信号的组合。此外,控制信号还可以是单个信号或者组合经过运算(如非运算)后的信号。
本发明所提供的CPU互连控制方法主要应用于需要进行CPU连接调整的各种场景中,通过CPU互连的拓扑调整,从而大大改善CPU互连的性能,例如在CPU延迟和负载较高时,通过增加节点间的CPU连接,减少数据在节点间CPU传输的跳数,从而减少了传输数据量,从而很大程度提高了CPU的处理性能。
图11是本发明实施例提供的一种CPU互连控制装置的结构示意图,适用于前述图2所示的CPU互连系统,CPU互连系统包括多个节点,多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,CPU互连系统还包括CPU互连装置,CPU互连装置包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,每个切换电路的两个第一端子分别用于连接第一节点内的两个CPU,每个切换电路的两个第二端子分别与第一中间线路的两端连接,或者每个切换电路的两个第二端子分别用于连接第二节点内的两个CPU,参见图11,该装置包括:
获取模块301,用于获取拓扑变化指示信号;
确定模块302,用于根据拓扑变化指示信号确定选通单元的状态,状态包括第一状态和第二状态;
控制模块303,用于当选通单元的状态为第一状态时,控制选通单元的第一端子与第二端子连接,当选通单元的状态为第二状态时,控制第一端子与第二端子断开。
本发明通过获取到的拓扑变化指示信号确定选通单元的状态,状态包括第一状态和第二状态,当选通单元的状态为第一状态时,控制选通单元的第一端子与第二端子连接,当选通单元的状态为第二状态时,控制第一端子与第二端子断开,从而实现根据拓扑变化指示智能化选择CPU间的通路,使得CPU互连系统的拓扑符合当前需求,提高了CPU互连系统中CPU的处理性能。
图12是本发明实施例提供的一种CPU互连控制装置的结构示意图,适用于前文的CPU互连系统,参见图12,该装置包括:
获取模块401,用于获取拓扑变化指示信号;
确定模块402,用于根据拓扑变化指示信号确定选通单元的状态,状态包括第一状态和第二状态;
控制模块403,用于当选通单元的状态为第一状态时,控制选通单元的第一端子与第二端子连接,当选通单元的状态为第二状态时,控制第一端子与第二端子断开。
进一步地,选通单元还包括第三端子,每个切换电路的两个第二端子分别与第一中间线路的两端连接,每个切换电路的两个第三端子分别用于连接第二节点内的两个CPU,控制模块403,还用于:
当选通单元的状态为第一状态时,控制第一端子与第三端子断开,当选通单元的状态为第二状态时,控制第一端子与第三端子连接。
在一种实现方式中,获取模块401,具体用于:
接收用户输入的拓扑变化指示信号,拓扑变化指示信号包括拓扑变化指示信息,拓扑变化指示信息包括变化后的系统分区CPU数量或变化后的系统应用场景。
在另一种实现方式中,获取模块401,包括:
第一获取子模块4011,用于获取系统监测信息,系统监测信息包括CPU的负载和延迟中的至少一个;
生成子模块4012,用于根据系统监测信息生成拓扑变化指示信号,拓扑变化指示信号包括拓扑变化指示信息,拓扑变化指示信息包括负载过高的CPU和延迟过大的CPU中的至少一个。
在本发明实施例的一种实现方式中,确定模块402,包括:
第二获取子模块4021,用于根据拓扑变化指示信号确定变换后的CPU互连系统的拓扑;
第一确定子模块4022,用于根据变换后的CPU互连系统的拓扑确定选通单元的状态。
在本发明实施例的一种实现方式中,第二获取子模块4021,具体用于:
获取拓扑变化指示信号与拓扑的对应关系;
根据拓扑变化指示信号与拓扑的对应关系,确定变换后的CPU互连系统的拓扑,变换后的CPU互连系统的拓扑与拓扑变化指示信号相对应。
在本发明实施例的另一种实现方式中,第二获取子模块4021,具体用于:
根据拓扑变化指示信号确定拓扑变化,拓扑变化包括连通两CPU之间的线路或者断开两CPU之间的线路;
根据变换前的CPU互连系统的拓扑和拓扑变化,确定变换后的CPU互连系统的拓扑。
其中,变换前的CPU互连系统的拓扑可能是事先获取到的,也可以是确定模块402获取到的。因此,在这种实现方式中,确定模块402还可以包括:第二获取子模块4021,用于获取变换前的CPU互连系统的拓扑。
具体地,第二获取子模块4021,具体用于:
当拓扑变化指示信号包括负载过高的CPU或延迟过大的CPU时,确定负载过高或延迟过大的CPU;
将确定出的CPU与第二节点中的CPU之间的连接,改为与第一节点内的CPU之间的连接,确定出的CPU处于第一节点内。
在本发明实施例中,第二获取子模块4021,具体用于:
确定连接集C1、C2和C3,连接集C1包括两个CPU间的直连连接,连接集C2包括第一中间线路、第二中间线路、CPU与选通单元之间的连接或者CPU与处理单元之间的连接,C3连接集包括伪直连连接,伪直连连接是两CPU通过第一中间线路或第二中间线路建立的连接。
进一步地,第一确定子模块4022,具体用于:
获取变换后的CPU互连系统的拓扑中的连接集C2和C3;
根据连接集C2和C3确定每个选通单元所连通的第一中间线路或者第二中间线路;
根据选通单元所连通的第一中间线路或者第二中间线路确定选通的状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是:上述实施例提供的CPU互连控制装置在进行CPU互连时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的CPU互连控制装置与CPU互连控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (26)

1.一种CPU互连装置,其特征在于,包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,当任意一个所述选通单元处于第一状态时,处于所述第一状态的所述选通单元的所述第一端子与所述第二端子连接,当任意一个所述选通单元处于第二状态时,处于所述第二状态的所述选通单元的所述第一端子与所述第二端子断开,每个所述切换电路的两个所述第一端子分别用于连接第一节点内的两个CPU,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,或者每个所述切换电路的两个第二端子分别用于连接第二节点内的两个CPU。
2.根据权利要求1所述的装置,其特征在于,每个所述选通单元还包括第三端子,当任意一个所述选通单元处于所述第一状态时,处于所述第一状态的所述选通单元的所述第一端子与所述第三端子断开,当任意一个所述选通单元处于所述第二状态时,处于所述第二状态的所述选通单元的所述第一端子与所述第三端子连接,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,每个所述切换电路的两个第三端子分别用于连接所述第二节点内的两个CPU。
3.根据权利要求2所述的装置,其特征在于,所述装置包括第二中间线路,所述至少一个切换电路中的一个或多个所述切换电路的第三端子通过所述第二中间线路与所述第二节点内的CPU所连的切换电路的第三端子连接。
4.根据权利要求2所述的装置,其特征在于,所述至少一个切换电路中的一个或多个所述切换电路的第三端子通过节点控制器NC中的处理单元与所述第二节点内的CPU所连的切换电路的第三端子连接。
5.根据权利要求2所述的装置,其特征在于,每个所述切换电路中的至少一个所述选通单元为以下的任意一种或任意一种组合:开关电路、电子开关、选通器、选择器或者分配器。
6.一种CPU互连系统,包括多个节点,所述多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,其特征在于,所述CPU互连系统还包括如权利要求1-5任一项所述的CPU互连装置。
7.一种CPU互连控制方法,适用于CPU互连系统,所述CPU互连系统包括多个节点,所述多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,其特征在于,所述CPU互连系统还包括CPU互连装置,所述CPU互连装置包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,每个所述切换电路的两个所述第一端子分别用于连接第一节点内的两个CPU,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,或者每个所述切换电路的两个第二端子分别用于连接所述第二节点内的两个CPU,所述方法包括:
获取拓扑变化指示信号;
根据所述拓扑变化指示信号确定选通单元的状态,所述状态包括第一状态和第二状态;
当所述选通单元的状态为所述第一状态时,控制所述选通单元的所述第一端子与所述第二端子连接,当所述选通单元的状态为所述第二状态时,控制所述第一端子与所述第二端子断开。
8.根据权利要求7所述的方法,其特征在于,每个所述选通单元还包括第三端子,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,每个所述切换电路的两个第三端子分别用于连接所述第二节点内的两个CPU,所述方法还包括:
当任意一个所述选通单元的状态为所述第一状态时,控制处于所述第一状态的所述选通单元的所述第一端子与所述第三端子断开,当任意一个所述选通单元的状态为所述第二状态时,控制处于所述第二状态的所述选通单元的所述第一端子与所述第三端子连接。
9.根据权利要求7或8所述的方法,其特征在于,所述获取拓扑变化指示信号,包括:
接收用户输入的拓扑变化指示信号,所述拓扑变化指示信号包括拓扑变化指示信息,所述拓扑变化指示信息包括变化后的系统分区CPU数量或变化后的系统应用场景,所述系统应用场景为联机分析处理场景或者联机事务处理场景。
10.根据权利要求7或8所述的方法,其特征在于,所述获取拓扑变化指示信号,包括:
获取系统监测信息,所述系统监测信息包括CPU的负载和延迟中的至少一个;
根据所述系统监测信息生成所述拓扑变化指示信号,所述拓扑变化指示信号包括拓扑变化指示信息,所述拓扑变化指示信息包括负载过高的CPU和延迟过大的CPU中的至少一个。
11.根据权利要求7所述的方法,其特征在于,所述根据所述拓扑变化指示信号确定选通单元的状态,包括:
根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑;
根据变换后的所述CPU互连系统的拓扑确定选通单元的状态。
12.根据权利要求11所述的方法,其特征在于,所述根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑,包括:
获取拓扑变化指示信号与拓扑的对应关系;
根据所述拓扑变化指示信号与拓扑的对应关系,确定变换后的所述CPU互连系统的拓扑,所述变换后的所述CPU互连系统的拓扑与拓扑变化指示信号相对应。
13.根据权利要求11所述的方法,其特征在于,所述根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑,包括:
根据所述拓扑变化指示信号确定拓扑变化,所述拓扑变化包括连通两CPU之间的线路或者断开两CPU之间的线路;
根据变换前的所述CPU互连系统的拓扑和所述拓扑变化,确定变换后的所述CPU互连系统的拓扑。
14.根据权利要求13所述的方法,其特征在于,所述根据所述拓扑变化指示信号确定拓扑变化,包括:
当所述拓扑变化指示信号包括负载过高的CPU或延迟过大的CPU时,确定所述负载过高或延迟过大的CPU;
将确定出的CPU与所述第二节点中的CPU之间的连接,改为与所述第一节点内的CPU之间的连接,所述确定出的CPU处于所述第一节点内。
15.根据权利要求12-14任一项所述的方法,其特征在于,所述确定变换后的所述CPU互连系统的拓扑,包括:
确定连接集C1、C2和C3,所述连接集C1包括两个CPU间的直连连接,所述连接集C2包括第一中间线路、第二中间线路、CPU与选通单元之间的连接或者CPU与处理单元之间的连接,所述C3连接集包括伪直连连接,所述伪直连连接是两CPU通过第一中间线路或第二中间线路建立的连接。
16.根据权利要求15所述的方法,其特征在于,所述根据变换后的所述CPU互连系统的拓扑确定选通单元的状态,包括:
获取变换后的所述CPU互连系统的拓扑中的连接集C2和C3;
根据所述连接集C2和C3确定每个选通单元所连通的第一中间线路或者第二中间线路;
根据每个所述选通单元所连通的第一中间线路或者第二中间线路确定选通的状态。
17.一种CPU互连控制装置,适用于CPU互连系统,所述CPU互连系统包括多个节点,所述多个节点包括第一节点和第二节点,每个节点包括多个直连连接的CPU,其特征在于,所述CPU互连系统还包括CPU互连装置,所述CPU互连装置包括:至少一个切换电路,每个切换电路包括两个选通单元和一条第一中间线路,每个选通单元包括第一端子和第二端子,每个所述切换电路的两个所述第一端子分别用于连接第一节点内的两个CPU,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,或者每个所述切换电路的两个第二端子分别用于连接所述第二节点内的两个CPU,所述装置包括:
获取模块,用于获取拓扑变化指示信号;
确定模块,用于根据所述拓扑变化指示信号确定选通单元的状态,所述状态包括第一状态和第二状态;
控制模块,用于当所述选通单元的状态为所述第一状态时,控制所述选通单元的所述第一端子与所述第二端子连接,当所述选通单元的状态为所述第二状态时,控制所述第一端子与所述第二端子断开。
18.根据权利要求17所述的装置,其特征在于,每个所述选通单元还包括第三端子,每个所述切换电路的两个所述第二端子分别与第一中间线路的两端连接,每个所述切换电路的两个第三端子分别用于连接所述第二节点内的两个CPU,所述控制模块,还用于:
当任意一个所述选通单元的状态为所述第一状态时,控制处于所述第一状态的所述选通单元的所述第一端子与所述第三端子断开,当任意一个所述选通单元的状态为所述第二状态时,控制处于所述第二状态的所述选通单元的所述第一端子与所述第三端子连接。
19.根据权利要求17或18所述的装置,其特征在于,所述获取模块,具体用于:
接收用户输入的拓扑变化指示信号,所述拓扑变化指示信号包括拓扑变化指示信息,所述拓扑变化指示信息包括变化后的系统分区CPU数量或变化后的系统应用场景,所述系统应用场景为联机分析处理场景或者联机事务处理场景。
20.根据权利要求17所述的装置,其特征在于,所述获取模块,包括:
第一获取子模块,用于获取系统监测信息,所述系统监测信息包括CPU的负载和延迟中的至少一个;
生成子模块,用于根据所述系统监测信息生成所述拓扑变化指示信号,所述拓扑变化指示信号包括拓扑变化指示信息,所述拓扑变化指示信息包括负载过高的CPU和延迟过大的CPU中的至少一个。
21.根据权利要求17所述的装置,其特征在于,所述确定模块,包括:
第二获取子模块,用于根据所述拓扑变化指示信号确定变换后的所述CPU互连系统的拓扑;
第一确定子模块,用于根据变换后的所述CPU互连系统的拓扑确定选通单元的状态。
22.根据权利要求21所述的装置,其特征在于,所述第二获取子模块,具体用于:
获取拓扑变化指示信号与拓扑的对应关系;
根据所述拓扑变化指示信号与拓扑的对应关系,确定变换后的所述CPU互连系统的拓扑,所述变换后的所述CPU互连系统的拓扑与拓扑变化指示信号相对应。
23.根据权利要求21所述的装置,其特征在于,所述第二获取子模块,具体用于:
根据所述拓扑变化指示信号确定拓扑变化,所述拓扑变化包括连通两CPU之间的线路或者断开两CPU之间的线路;
根据变换前的所述CPU互连系统的拓扑和所述拓扑变化,确定变换后的所述CPU互连系统的拓扑。
24.根据权利要求23所述的装置,其特征在于,所述第二获取子模块,具体用于:
当所述拓扑变化指示信号包括负载过高的CPU或延迟过大的CPU时,确定所述负载过高或延迟过大的CPU;
将确定出的CPU与所述第二节点中的CPU之间的连接,改为与所述第一节点内的CPU之间的连接,所述确定出的CPU处于所述第一节点内。
25.根据权利要求22-24任一项所述的装置,其特征在于,所述第二获取子模块,具体用于:
确定连接集C1、C2和C3,所述连接集C1包括两个CPU间的直连连接,所述连接集C2包括第一中间线路、第二中间线路、CPU与选通单元之间的连接或者CPU与处理单元之间的连接,所述C3连接集包括伪直连连接,所述伪直连连接是两CPU通过第一中间线路或第二中间线路建立的连接。
26.根据权利要求25所述的装置,其特征在于,所述第一确定子模块,具体用于:
获取变换后的所述CPU互连系统的拓扑中的连接集C2和C3;
根据所述连接集C2和C3确定每个选通单元所连通的第一中间线路或者第二中间线路;
根据每个所述选通单元所连通的第一中间线路或者第二中间线路确定选通的状态。
CN201510526313.5A 2015-08-25 2015-08-25 Cpu互连装置、系统及其控制方法、控制装置 Active CN105205032B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201510526313.5A CN105205032B (zh) 2015-08-25 2015-08-25 Cpu互连装置、系统及其控制方法、控制装置
PCT/CN2016/076267 WO2017031978A1 (zh) 2015-08-25 2016-03-14 Cpu互连装置、系统及其控制方法、控制装置
EP16838241.4A EP3285173A4 (en) 2015-08-25 2016-03-14 Cpu interconnecting apparatus, system and control method, control apparatus therefor
US15/903,032 US20180181536A1 (en) 2015-08-25 2018-02-23 Cpu interconnect apparatus and system, and cpu interconnect control method and control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510526313.5A CN105205032B (zh) 2015-08-25 2015-08-25 Cpu互连装置、系统及其控制方法、控制装置

Publications (2)

Publication Number Publication Date
CN105205032A CN105205032A (zh) 2015-12-30
CN105205032B true CN105205032B (zh) 2018-06-26

Family

ID=54952725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510526313.5A Active CN105205032B (zh) 2015-08-25 2015-08-25 Cpu互连装置、系统及其控制方法、控制装置

Country Status (4)

Country Link
US (1) US20180181536A1 (zh)
EP (1) EP3285173A4 (zh)
CN (1) CN105205032B (zh)
WO (1) WO2017031978A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205032B (zh) * 2015-08-25 2018-06-26 华为技术有限公司 Cpu互连装置、系统及其控制方法、控制装置
CN108701117B (zh) * 2017-05-04 2022-03-29 华为技术有限公司 互连系统、互连控制方法和装置
CN107547451B (zh) * 2017-05-31 2020-04-03 新华三信息技术有限公司 一种多路服务器、cpu连接方法及装置
US20220308890A1 (en) * 2021-03-29 2022-09-29 Alibaba Singapore Holding Private Limited Multi-processing unit interconnected accelerator systems and configuration techniques
US11983540B1 (en) * 2022-12-22 2024-05-14 Lenovo Enterprise Solutions (Singapore) Pte Ltd. Partitioning a multi-processor system having a single baseboard management controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933259A (en) * 1997-06-27 1999-08-03 Gigalabs, Inc Remotely disposed high speed switches for high speed connection between computers and peripheral devices
CN1501250A (zh) * 2002-11-14 2004-06-02 株式会社瑞萨科技 多处理器系统
CN1610417A (zh) * 2003-10-17 2005-04-27 京瓷株式会社 信息处理装置
CN103443776A (zh) * 2011-03-24 2013-12-11 瑞萨电子株式会社 半导体装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4967340A (en) * 1985-06-12 1990-10-30 E-Systems, Inc. Adaptive processing system having an array of individually configurable processing components
JP2509947B2 (ja) * 1987-08-19 1996-06-26 富士通株式会社 ネットワ−ク制御方式
JPH06290158A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
US5832303A (en) * 1994-08-22 1998-11-03 Hitachi, Ltd. Large scale interconnecting switch using communication controller groups with multiple input-to-one output signal lines and adaptable crossbar unit using plurality of selectors
US6167501A (en) * 1998-06-05 2000-12-26 Billions Of Operations Per Second, Inc. Methods and apparatus for manarray PE-PE switch control
US7043596B2 (en) * 2001-08-17 2006-05-09 Sun Microsystems, Inc. Method and apparatus for simulation processor
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US7380102B2 (en) * 2005-09-27 2008-05-27 International Business Machines Corporation Communication link control among inter-coupled multiple processing units in a node to respective units in another node for request broadcasting and combined response
JP4915779B2 (ja) * 2006-06-02 2012-04-11 株式会社メガチップス 装置間の接続方式および接続装置
CN101699425A (zh) * 2009-10-30 2010-04-28 曙光信息产业(北京)有限公司 兼容有单片和smp架构的计算机处理系统
WO2012103705A1 (zh) * 2011-06-24 2012-08-09 华为技术有限公司 计算机子系统和计算机系统
JP5949312B2 (ja) * 2012-08-16 2016-07-06 富士通株式会社 並列計算機システム、データ転送装置及び並列計算機システムの制御方法
US9639437B2 (en) * 2013-12-13 2017-05-02 Netapp, Inc. Techniques to manage non-disruptive SAN availability in a partitioned cluster
US9276815B2 (en) * 2013-12-27 2016-03-01 Dell Products L.P. N-node virtual link trunking (VLT) systems management plane
CN105205032B (zh) * 2015-08-25 2018-06-26 华为技术有限公司 Cpu互连装置、系统及其控制方法、控制装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933259A (en) * 1997-06-27 1999-08-03 Gigalabs, Inc Remotely disposed high speed switches for high speed connection between computers and peripheral devices
CN1501250A (zh) * 2002-11-14 2004-06-02 株式会社瑞萨科技 多处理器系统
CN1610417A (zh) * 2003-10-17 2005-04-27 京瓷株式会社 信息处理装置
CN103443776A (zh) * 2011-03-24 2013-12-11 瑞萨电子株式会社 半导体装置

Also Published As

Publication number Publication date
CN105205032A (zh) 2015-12-30
US20180181536A1 (en) 2018-06-28
EP3285173A1 (en) 2018-02-21
WO2017031978A1 (zh) 2017-03-02
EP3285173A4 (en) 2018-07-04

Similar Documents

Publication Publication Date Title
CN105205032B (zh) Cpu互连装置、系统及其控制方法、控制装置
US5602754A (en) Parallel execution of a complex task partitioned into a plurality of entities
CN107888425B (zh) 移动通信系统的网络切片部署方法和装置
CA2069195C (en) Communication switching system
CA1335836C (en) Adaptive routing system
CN107547249A (zh) 链路切换方法、装置、sdn交换机、控制器及存储介质
CN107769956A (zh) 计算系统和冗余资源连接结构
JP2002199005A (ja) 相互接続構造を設計する方法
CN109451540A (zh) 一种网络切片的资源分配方法和设备
US20130346934A1 (en) High-end fault-tolerant computer system and method for same
CN110417665B (zh) 一种数据中心多Fabric场景的EVPN组网系统及方法
KR19980066621A (ko) 대역폭확장이 가능한 상호연결망
JP2001298482A (ja) 分散型障害回復装置及びシステムと方法並びに記録媒体
Masson Binomial switching networks for concentration and distribution
JP2513933B2 (ja) ネットワ―クにおけるメッセ―ジ送信設備及びその経路選択制御方法
CN108337179A (zh) 链路流量控制方法及装置
CN104579951A (zh) 片上网络中新颖的故障与拥塞模型下的容错方法
CN106470165A (zh) 一种负载分担方法、系统及相关设备
CN110062303B (zh) 基于mesh网络的自适应大容量交叉光通信设备架构
CN110210102B (zh) 仿生自修复硬件分布式全局动态布线系统
US5289467A (en) Manhattan street network with loop architecture
CN112862068A (zh) 面向复杂卷积神经网络的容错架构及方法
CN103067298A (zh) 一种网络流量分担的方法及系统
CN108768864B (zh) 一种易拓展高容错的数据中心网络拓扑系统
CN104462726A (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
GR01 Patent grant
GR01 Patent grant