CN111488302B - 具有弹性配置的计算系统、计算机实施方法及存储介质 - Google Patents

具有弹性配置的计算系统、计算机实施方法及存储介质 Download PDF

Info

Publication number
CN111488302B
CN111488302B CN201910332544.0A CN201910332544A CN111488302B CN 111488302 B CN111488302 B CN 111488302B CN 201910332544 A CN201910332544 A CN 201910332544A CN 111488302 B CN111488302 B CN 111488302B
Authority
CN
China
Prior art keywords
switch
multiplexer
central processing
switch circuit
processing unit
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
CN201910332544.0A
Other languages
English (en)
Other versions
CN111488302A (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.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
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 Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN111488302A publication Critical patent/CN111488302A/zh
Application granted granted Critical
Publication of CN111488302B publication Critical patent/CN111488302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3808Network interface controller
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本公开提供一种系统及方法,用于在计算系统中致能弹性PCIe拓扑。弹性PCIe拓扑可允许使用者调整基于特定应用调整计算系统的CPU与组件之间的PCIe链接。在一些实施例中,计算系统包括多个CPU、多个GPU或现场可程序门阵列(FPGA)、多个PCIe交换器以及多个网络接口控制器(NIC)。在一些实施例中,计算系统包括交换器电路,以连接多个CPU、多个PCIe交换器以及多个NIC。交换器电路包括多个输入及多个输出,以连接多个CPU、多个PCIe交换器以及多个NIC。交换器电路中的连接路线可被调整,以设置计算系统的特定PCIe拓扑。

Description

具有弹性配置的计算系统、计算机实施方法及存储介质
技术领域
本公开涉及计算机服务器系统,特别涉及具有弹性配置的计算机服务器系统。
背景技术
现代计算系统包括许多电子组件,例如图像处理单元(Graphics ProcessingUnits,GPUs)、中央处理单元(Central Processing Units,CPUs)、随机存取内存(Random-Access Memory,RAM)等。随着计算系统变得越来越复杂以支持使用者对计算及其他应用的需求,在同一个计算系统内经常需要多个GPU和/或CPU。
传统上,计算系统设计有固定的快速外围组件互连(Peripheral ComponentInterconnect Express,PCIe)拓扑,以支援多个GPU及CPU。计算系统的用户并不能改变计算系统的PCIe拓扑。然而,对特定应用而言相当理想的特定PCIe拓扑,却可能在一些其他应用(例如:其他GPU应用)上效能低落。
发明内容
根据本公开范例的系统及方法,通过致能计算系统中的弹性(flexible)PCIe拓扑以解决上述问题。弹性PCIe拓扑可允许计算系统的用户或管理控制器基于特定应用以调整计算系统的CPUs与组件之间的PCIe链接。在一些实施例中,计算系统包括多个CPU、多个GPU或现场可程序门阵列(Field-Programmable Gate Arrays,FPGAs)、多个PCIe交换器以及多个网络接口控制器(network interface controllers,NICs)。在一些实施例中,计算系统包括交换器电路,以连接多个CPU、多个PCIe交换器以及多个NIC。交换器电路包括多个输入及多个输出,以连接多个CPU、多个PCIe交换器以及多个NIC。交换器电路内的连接路线(connection route)可被调整,以设置计算系统的特定PCIe拓扑。特定PCIe拓扑包括但不限于:全配置模式(configuration mode)、平衡模式(balance mode)、共享模式(commonmode)以及串级模式(cascade mode)。
在一些实施例中,交换器电路被连接至双行组件(Dual-Inline-Package,DIP)交换器。其中DIP交换器被配置以设置交换器电路的多个输入与多个输出之间的连接路线。
在一些实施例中,交换器电路包括多个多任务器(multiplexers,MUXs),以连接多个输入及多个输出。DIP交换器可设置每个MUX之连接状态,并因此设置交换器电路的多个输入与多个输出之间的连接路线。
在一些实施例中,多个CPU、多个PCIe交换器及多个NIC之间的至少一个连接路线包括多重迷你SAS连接器(multiple mini Serial Attached SCSI(SAS)connector)及至少一个物理快速外围组件互连(PCIe)缆线。可通过经由至少一个物理PCIe缆线,调整多重迷你SAS连接器和/或金手指转发器板(golden finger repeater board)之间的连接路线,以设置计算系统的特定PCIe拓扑,其中金手指转发器板安装于多个NIC的其中一个NIC上。
根据本公开实施例的态样,提供一种计算机实施方法,用于在计算系统中设置快速外围组件互连(PCIe)拓扑,上述方法包括下列步骤:接收对计算系统的特定PCIe拓扑的要求;判断计算系统中,多个CPU、多个PCIe交换器、多个NIC以及多个FPGA和/或多个GPU之间的当前连接路线;判断当前连接路线是否与特定PCIe拓扑一致;以及在多个CPU、多个PCIe交换器及多个NIC之间的当前连接路线与特定PCIe拓扑不一致的事件(event)中,调整多个CPU、多个PCIe交换器及多个NIC之间的至少一个连接路线。
根据本公开实施例的态样,提供用于存储指令的一种非瞬时计算机可读取存储介质(non-transitory computer-readable storage medium),当上述指令由计算系统的处理器执行时,会使处理器执行下列操作:接收对计算系统的特定PCIe拓扑的要求;判断计算系统中,多个CPU、多个PCIe交换器、多个NIC以及多个FPGA和/或多个GPU之间的当前连接路线;判断当前连接路线是否与特定PCIe拓扑一致;以及在多个CPU、多个PCIe交换器及多个NIC之间的当前连接路线与特定PCIe拓扑不一致的事件(event)中,调整多个CPU、多个PCIe交换器及多个NIC之间的至少一个连接路线。
本公开的其他特征及优点将于下列叙述中阐明,且将于说明中变得显而易见,或者可以透过本公开的原理而了解。本公开的特征及优点可通过所附申请专利范围特别指出的手段与组合以实现及获得。
附图说明
本公开及本公开的优点与制图自后续范例性实施例及附图可更加理解。这些附图仅描绘范例性的实施例,因此不应被视为对多种实施例或申请专利范围的限制。
图1所示是根据本公开实施例的区块示意图,用于说明具有弹性配置的多个CPU、多个PCIe交换器及多个GPU所组成的范例性系统。
图2A-2E所示是根据本公开实施例的区块示意图,在示意图中,多个CPU、多个PCIe交换器及多个NIC之间的至少一个连接路线包括多重迷你SAS连接器及一个物理PCIe缆线。
图3A-3F所示是根据本公开实施例的区块示意图,用于说明范例性系统,范例性系统包括用以设置范例性系统的特定PCIe拓扑的交换器电路。
图4是根据本公开实施例所示,用于在计算系统中设置PCIe拓扑的范例性方法。
具体实施方式
本公开可以多种不同实施形式呈现。其表现于图式并详述于此。这些实施例为本公开原理的范例或说明,并非旨于限制本公开所公开范围。举例来说,公开于摘要、先前技术、发明内容(但未明确阐述于申请专利范围)的范围、要素及限制,上述范围、要素及限制不应单独地或集体地以暗示、推论或其他方式体现在申请专利范围。为本公开内容的详述目的,除非特定否认,单数词包含复数词,反之亦然。并且字词“包含”其意为“非限制性地包含”。此外,进似性的(approximation)用语例如“大约”、“几乎”、“相当地”、“大概”等,可用于本公开实施例,其意义上如“在、接近或接近在”或“在3至5%内”或“在可接受的制造公差内”或任意符合逻辑的组合。
本公开的多种范例提供系统及方法,上述系统及方法用于致能计算系统中的弹性PCIe拓扑。弹性PCIe拓扑可允许计算系统的用户或管理控制器基于特定应用以调整计算系统的CPUs与组件之间的PCIe链接。在一些实施例中,计算系统包括多个CPU、多个GPU或现场可程序门阵列(Field-Programmable Gate Arrays,FPGAs)、多个PCIe交换器以及多个网络接口控制器(network interface controllers,NICs)。在一些实施例中,计算系统包括交换器电路,以连接多个CPU、多个PCIe交换器以及多个NIC。交换器电路包括多个输入及多个输出,以连接多个CPU、多个PCIe交换器以及多个NIC。交换器电路内的连接路线可被调整,以设置计算系统的特定PCIe拓扑。
图1根据本公开实施例所示的区块示意图用于说明范例性的计算系统100,范例性的计算系统100包括具有弹性配置的多个处理器104、多个PCIe交换器113以及多个GPU或FPGA 112。在该范例中,计算系统100包括GPUs112、处理器104、PCIe交换器113、一个或多个冷却模块(cooling module)110、主存储器(MEM)111以及至少一个电源供应单元(powersupply unit,PSU)102,其中PSU 102从交流电源供应器101接收交流电。PSU 102提供电力至计算系统100的各种组件,例如处理器104、北桥(NB)逻辑电路106、PCIe扩展槽161、南桥(SB)逻辑电路108、存储装置109、工业标准体系结构(ISA)扩展槽151、PCI扩展槽171、以及管理控制器103。
在该范例中,GPUs或FPGAs 112经由PCIe交换器113被连接至处理器104。PCIe交换器113致能多个I/O装置、GPUs或FPGAs 112及处理器104之间的高速串行(serial)点对点连接,以优化到主机的端点流量(end-point traffic)的聚合(aggregation)、扇出(fan-out)或同级间通信(peer-to-peer communication)。在一些范例中,计算系统100还包括连接至PCIe交换器113的NICs(未图示)。NICs将计算系统100连接至计算机网络。
处理器104可为中央处理单元(CPUs),其被配置以执行用于特定功能的程序指令。举例来说,在启动程序期间,处理器104可存取存储于管理控制器103或快闪存储装置的韧体数据,并执行BIOS 105以初始化计算系统100。于启动程序后,处理器104可执行操作系统(OS),以执行并管理用于计算系统100的特定任务。
在一些配置中,每个处理器104经由连接至北桥逻辑电路的CPU总线(未图标)耦接在一起。在一些配置中,北桥逻辑电路106可被整合至处理器104。北桥逻辑电路106亦可连接至多个快速外围组件互连(PCIe)扩展槽161及南桥逻辑电路108(可选用)。多个PCIe扩展槽161可用于连接器及总线,例如PCI Express x1、USB 2.0、SIM卡、作为日后扩充所用的另一PCIe通道、1.5V及3.3V电源以及连接计算系统100机箱上的诊断LED(diagnostics LEDs)的线路。
在计算系统100中,北桥逻辑电路106及南桥逻辑电路108通过外围组件互连(PCI)总线107所连接。南桥逻辑电路108可经由扩充总线将PCI总线107耦接至多个扩充卡(expansion card)或ISA扩展槽150(例如:ISA扩展槽151)。南桥逻辑电路108可进一步耦接至连接到至少一个PSU 102的管理控制器103。在一些实施例中,管理控制器103可为嵌入计算系统100的主板的专用微控制器。管理控制器103可为基板管理控制器(baseboardmanagement controller,BMC)或框架管理控制器(rack management controller,RMC)。
在一些实施例中,处理器104可经由交换器电路(未图标)连接至PCIe交换器113。交换器电路包括多个输入及多个输出,以连接多个处理器、多个PCIe交换器113及多个NIC(未图示)。交换器电路中的连接路线(connection route)可被调整,以设置计算系统100的特定PCIe拓扑。特定PCIe拓扑包括全配置模式、平衡模式、共享模式以及串级模式。
在一些实施例中,多个处理器104、多个PCIe交换器113及多个NIC之间的至少一个连接路线包括多重迷你SAS连接器(未图示),以及至少一个物理PCIe缆线(未图示)。可通过经由至少一个物理PCIe缆线,调整多重迷你SAS连接器和/或金手指转发器板(goldenfinger repeater board)之间的连接路线,以设置计算系统100的特定PCIe拓扑,其中金手指转发器板安装于多个NIC的其中一个NIC上。
图2A至图2E进一步说明图1中的PCIe配置的实施例。在第2A图至第2E图中,多重迷你串行SCSI(multiple mini Serial Attached SCSI,SAS)连接器及至少一个物理PCIe缆线被用来在计算系统中设置弹性PCIe拓扑。特定PCIe拓扑包括全配置模式、平衡模式、共享模式以及串级模式。
图2A图标计算系统200A的通用PCIe拓扑。计算系统200A包括CPUs 204-1及204-2(CPU0及CPU1)、FPGAs 212-1到212-16、NICs 202-1到202-4、PCIe交换器213-1到213-4(PLX0到PLX3)以及SAS连接器201-1到201-6。在该范例中,CPU 204-1经由超通路互连(UltraPath Interconnect,UPI)连接至CPU 204-2。CPU 204-1经由PCIe连结连接至PCIe交换器213-1,并经由两个SAS连接器201-1与201-2以及PCIe缆线203-1连接至PCIe交换器213-2。CPU 204-2经由两个SAS连接器201-3与201-4以及PCIe缆线203-2连接至PCIe交换器213-3,并经由两个SAS连接器201-5与201-6以及PCIe缆线203-3连接至PCIe交换器213-4。PCIe交换器213-1连接至FPGAs 212-1、212-3、212-5及212-7,以及NIC 202-1。PCIe交换器213-2连接至FPGAs 212-2、212-4、212-6及212-8,以及NIC 202-2。PCIe交换器213-3连接至FPGAs 212-9、212-11、212-13及212-15,以及NIC 202-3。PCIe交换器213-4连接至FPGAs212-10、212-12、212-14及212-16,以及NIC 202-4。
计算系统200A中的PCIe拓扑可被调整为全配置模式、平衡模式、共享模式以及串级模式,分别图标于第2B图至第2E图。
在图2B中,计算系统200B的PCIe拓扑为全配置模式。计算系统200B包括CPUs 204-1及204-2、FPGAs或GPUs 212-1到212-16、NICs 202-1到202-4、PCIe交换器213-1到213-4以及SAS连接器201-1到201-6。上述计算系统200B组件之间的连接路线与第2A图所示相同。在全配置模式中,计算系统200B支持连接到终端装置(endpoint device)的所有PCIe交换器(213-1到213-4)的下游(downstream)。在该范例中,计算系统200B具有四个PCIe交换器且必须支持多达20个PCIe x16终端装置。
在图2C中,计算系统200C的PCIe拓扑为平衡模式。计算系统200B包括CPUs 204-1及204-2、FPGAs或GPUs(例如:212-1、212-3、212-5、212-7、212-9、212-11、212-13及212-15)、NICs 202-1及202-3、PCIe交换器213-1及213-3以及SAS连接器201-1到201-6。比较第2B图的全配置模式与第2C图的平衡模式,计算系统200C不需要或未装上PCIe交换器213-2及213-4。PCIe缆线203-1用于连接SAS连接器201-3及201-4。SAS连接器201-3及201-4分别连接至CPU 204-2及PCIe交换器213-3。在平衡模式中,计算系统200C的每个CPU连接至一个PCIe交换器,并连接至所对应的PCIe交换器的所有下游。在该范例中,每个CPU 204-1及204-2连接至一个PCIe交换器,如此一来,每个CPU的PCIe根埠(root port)可经由对应的PCIe交换器213-1及213-3分别连接多达5个的PCIe x16终端装置。
在图2D中,计算系统200D的PCIe拓扑为共享模式。与第2C图的计算系统200C相似,计算系统200D不需要或未装上PCIe交换器213-2及213-4。然而,在计算系统200D中,PCIe缆线203-1被用于连接SAS连接器201-1及201-4。SAS连接器201-1及201-4分别连接至CPU204-1及PCIe交换器213-3。计算系统200D的PCIe拓扑的剩余连接路线与计算系统200C的PCIe拓扑相同。通过调整连接SAS连接器201-4、201-1和/或201-3的PCIe缆线203-1,PCIe拓扑可在共享模式与平衡模式之间切换。于共享模式中,计算系统200D的CPU连接至两个PCIe交换器及两个PCIe交换器的所有下游。在该范例中,CPU 204-1连接至动作的(active)PCIe交换器213-1及213-3,以及连接至终端装置(end point device)212-1、212-3、212-5、212-7、202-1、202-3、212-9、212-11、212-13及212-15。来自这些终端装置的数据被直接传送至CPU 204-1,而非让一些数据须自CPU 204-2经由UPI传送至CPU 204-1。
在图2E中,计算系统200E的PCIe拓扑为串级模式。与第2C图的计算系统200C及第2D图的计算系统200D相似,计算系统200E不需要或未装上PCIe交换器213-2及213-4。然而,在计算系统200E中,PCIe缆线203-1被用于连接SAS连接器201-4及安装于NIC 202-1上的金手指转发器板205-1。SAS连接器201-4连接至PCIe交换器213-3。金手指转发器板205-1被配置以将PCIe讯号自NIC 202-1传递(pass)至SAS信道(例如:PCIe缆线203-1)及PCIe交换器213-3。在串级模式中,计算系统200E的CPU连接至两个PCIe交换器及两个PCIe交换器的所有下游。在该范例中,CPU 204-1连接至动作的PCIe交换器213-1及213-3,以及连接至终端装置212-1、212-3、212-5、212-7、202-1、202-3、212-9、212-11、212-13及212-15。来自这些终端装置的数据被直接传送至CPU 204-1,而非让一些数据须自CPU 204-2经由UPI传送至CPU 204-1。在串级模式中,计算系统200E连接至第一PCIe交换器,而第二PCIe交换器串行在第一PCIe交换器下。如此一来,CPU可连接至所有动作的终端装置,并在不受制于计算系统100E的CPUs的通量的情况下,在第一及第二PCIe交换器之间传送数据。在该范例中,CPU204-1连接至第一PCIe交换器213-1,而第二PCIe交换器213-3则经由NIC 202-1连接至第一PCIe交换器213-1。
如上述图2A至图2E所示,多重迷你串行SCSI(SAS)连接器及至少一个物理PCIe缆线可用于在计算系统200A至计算系统200E中设置弹性PCIe拓扑。然而,本公开考虑一种交换器电路,可用于在不同模式间切换PCIe拓扑。图示于第3A图至第3F图。
图3A至图3F所示是根据本公开实施例的区块示意图,用于说明范例性的计算系统300A至300F,范例性的计算系统包括用以设置范例性的计算系统的特定PCIe拓扑的交换器电路301。交换器电路301被配置,以基于范例性系统的管理控制器或使用者以设置特定PCIe拓扑。
在图3A中,计算系统300A包括CPUs 304-1及304-2(CPU0及CPU1)、FPGAs 312-1到312-16、NICs 302-1到302-4、PCIe交换器313-1到313-4(PLX0到PLX3)以及交换器电路301,其中交换器电路301连接至CPUs(即304-1及304-2)、PCIe交换器(即313-1到313-4)及NICs(即302-1及302-3)。在该范例中,CPU 304-1经由经由超通路互连(UPI)连接至CPU 304-2。CPU 304-1亦连接至PCIe交换器313-1,而CPU 304-2亦连接至PCIe交换器313-4。PCIe交换器313-1连接至FPGAs 312-1、312-3、312-5及312-7。PCIe交换器313-2连接至FPGAs 312-2、312-4、312-6、312-8及NIC 302-2。PCIe交换器313-3连接至FPGAs 312-9、312-11、312-13及312-15。PCIe交换器313-4连接至FPGAs 312-10、312-12、312-14、312-16及NIC 302-4。
在该范例中,交换器电路301具有四个输入(即来自CPUs 304-1与304-2,以及来自PCIe交换器313-1与313-3),以及四个输出(即输出至PCIe交换器313-2与313-3,以及输出至NICs 302-1与302-3)。于此实施例中,DIP交换器被用来设置交换器电路301中的连接路线。
在一些实施例中,交换器电路301包括连接至CPUs(即304-1与304-2)、PCIe交换器(即313-1到313-4)以及NICs(即302-1与302-3)的多个SAS连接器(即多任务器MUXs 301-1到301-6),图示于第3B图中。DIP交换器302可设置多个MUX(即301-1到301-6)中每个MUX的连接路线,并以此设置交换器电路301的四个输入与四个输出之间的连接路线。
在图3C中,计算系统300C的PCIe拓扑为全配置模式。计算系统300C包括CPUs 304-1及304-2、FPGAs或GPUs 312-1到312-16、NICs 302-1到302-4、PCIe交换器313-1到313-4以及MUXs 301-1到301-6。在该范例中,DIP交换器302将交换器电路301的输入设置为自CPU304-1到MUX 301-1,再到MUX 301-3,接着再到PCIe交换器313-2。同时,DIP交换器302亦将交换器电路301的输入设置为自CPU 304-2到MUX 301-2,再到MUX 301-4,接着再到PCIe交换器313-3。DIP交换器302进一步将交换器电路301的输入设置为自PCIe交换器313-1到MUX301-5,接着再到NIC 302-1。同时,DIP交换器302亦将交换器电路301的输入设置为自PCIe交换器313-3到MUX 301-6,接着再到NIC 302-3。在计算系统300C中,DIP交换器302使交换器电路301中的所有其他连接路线全部失效。
在图3D中,计算系统300D的PCIe拓扑为平衡模式。在该范例中,DIP交换器302将交换器电路301的输入设置为自CPU 304-2到MUX 301-2,再到MUX 301-4,接着再到PCIe交换器313-3。DIP交换器302进一步将交换器电路301的输入设置为自PCIe交换器313-1到MUX301-5,接着再到NIC 302-1。同时,DIP交换器302亦将交换器电路301的输入设置为自PCIe交换器313-3到MUX 301-6,接着再到NIC 302-3。在计算系统300D中,DIP交换器302使交换器电路301中的所有其他连接路线全部失效。
图3E中,计算系统300E的PCIe拓扑为共享模式。在该范例中,DIP交换器302将交换器电路301的输入设置为自CPU 304-1到MUX 301-1,再到MUX 301-4,接着再到PCIe交换器313-3。DIP交换器302进一步将交换器电路301的输入设置为自PCIe交换器313-1到MUX301-5,接着再到NIC 302-1。同时,DIP交换器302亦将交换器电路301的输入设置为自PCIe交换器313-3到MUX 301-6,接着再到NIC 302-3。于计算系统300E中,DIP交换器302使交换器电路301中的所有其他连接路线全部失效。
图3F中,计算系统300F的PCIe拓扑为串级模式。在该范例中,DIP交换器302将交换器电路301的输入设置为自PCIe交换器313-1到MUX 301-5,再到MUX 301-6,接着再到PCIe交换器313-3。在计算系统300F中,DIP交换器302使交换器电路301中的所有其他连接路线全部失效。
如上述图3A至图3F所示,交换器电路301可用于在计算系统300A至计算系统300F中设置弹性PCIe拓扑。由交换器电路301所设置的PCIe拓扑包括但不限于:全配置模式、平衡模式、共享模式以及串级模式。
图4是根据本公开实施例所示,用于在计算系统中设置PCIe拓扑的范例性的方法400。应理解的是,范例性的方法400仅用于说明的目的,且根据本公开的其他方法可包括附加的、更少的或替代的步骤,并以相似的或替换的顺序执行上述步骤,或是同步执行上述步骤。范例性的方法400始于步骤402,接收对计算系统的特定PCIe拓扑的要求。在一些实施例中,上述要求可来自计算系统的管理控制器(例如:BMC)或使用者。特定PCIe拓扑包括但不限于:全配置模式、平衡模式、共享模式以及串级模式。
在步骤404中,管理控制器可判断计算系统中,多个CPU、多个PCIe交换器、多个NIC以及多个FPGA和/或多个GPU之间的当前连接路线。在一些实施例中,计算系统包括交换器电路,上述交换器电路包括多个输入及多个输出。交换器电路的输入及输出连接多个CPU、多个PCIe交换器、多个NIC以及多个FPGA和/或多个GPU。在一些实施例中,交换器电路包括多个MUX(即SAS连接器)。连接至交换器电路的DIP交换器可设置多个MUX中的每一个MUX的连接路线,并以此设置交换器电路的多个输入及多个输出之间的连接路线。
在步骤405中,管理控制器可判断CPUs、PCIe交换器、NICs以及FPGAs和/或GPUs之间的当前连接路线是否与特定PCIe拓扑一致。在CPUs、PCIe交换器、NICs以及FPGAs和/或GPUs之间的当前连接路线与特定PCIe拓扑一致的事件中,方法400止于步骤406。在CPUs、PCIe交换器、NICs以及FPGAs和/或GPUs之间的当前连接路线与特定PCIe拓扑不一致的事件中,管理控制器可在步骤408中使交换器电路的多个输入及多个输出之间的连接路线被调整,使得连接路线与特定PCIe拓扑一致。在一些实施例中,管理控制器可调整DIP交换器的设定,以设置交换器电路中多个MUX的每个MUX的连接路线。
尽管已于上就本公开多种实施例进行描述,但应理解的是,上述实施例仅用作范例,而非对本公开的限制。在不脱离本公开的精神或范围的情况下,可根据本文对本公开实施例进行诸多改动,因此,本公开的广度与范围不应受限于任何上述实施例。更确切的说,本公开的范围应根据后续之申请专利范围及其均等物而定。
符号说明
100~计算系统
101~交流电源供应器
102~电源供应单元
103~管理控制器
104~处理器
105~BIOS
106~北桥逻辑电路
107~PCI总线
108~南桥逻辑电路
109~存储装置
110~冷却模块
111~主存储器
112~GPUs或FPGAs
113~PCIe交换器
151~ISA扩展槽
161~PCIe扩展槽
171~PCI扩展槽
200A~计算系统
201-1~201-6~SAS连接器
202-1~202-4~NIC
203-1~203-4~PCIe缆线
204-1、204-2~CPU
205-1~金手指转发器板
212-1~212-16~FPGA或GPU
213-1~213-4~PCIe交换器
UPI~超通路互连
200B~计算系统
200C~计算系统
200D~计算系统
200E~计算系统
300A~计算系统
301~交换器电路
302~DIP交换器
302-1~302-4~NIC
304-1、304-2~CPU
312-1~312-16~FPGA
313-1~313-4~PCIe交换器
300B~计算系统
301-1~301-6~MUX
300C~计算系统
300D~计算系统
300E~计算系统
300F~计算系统
400~方法
402-408~步骤

Claims (10)

1.一种计算系统,包括:
多个中央处理单元,所述多个中央处理单元包括被配置为彼此连接的第一中央处理单元和第二中央处理单元;
多个终端装置包括多个图像处理单元或现场可程序门阵列,以及多个网络接口控制器;
多个快速外围组件互连交换器包括第一快速外围组件互连交换器、第二快速外围组件互连交换器和第三快速外围组件互连交换器,所述第一快速外围组件互连交换器被配置为将第一中央处理单元连接至多个终端装置的第一组,所述第二快速外围组件互连交换器被配置为将第二中央处理单元连接至多个终端装置的第二组;以及
连结机制,使得上述多个中央处理单元、上述多个快速外围组件互连交换器以及上述多个终端装置之间的至少一个连接路线可被调整,以设置计算系统的特定快速外围组件互连拓扑,其中所述特定快速外围组件互连拓扑包括全配置模式和平衡模式;所述连结机制包括交换器电路,其中所述交换器电路包括多个多任务器,其中多个多任务器包括第一多任务器、第二多任务器、第三多任务器、第四多任务器、第五多任务器、第六多任务器;
双行组件交换器,被配置为设置所述交换器电路的多个输入与多个输出之间的多个连接路线;
其中,在全配置模式和平衡模式中,第一中央处理单元被配置为经由第二中央处理单元被连接至终端装置的第二组;以及
其中,在全配置模式中,所述第一中央处理单元被配置为经由第三快速外围组件互连交换器被连接至多个终端装置的第三组;
其中,在全配置模式中,所述双行组件交换器被配置为将所述交换器电路的第一输入设置为从所述第一中央处理单元连接到第一多任务器,再连接到第三多任务器,再到第一快速外围组件互连交换器;将所述交换器电路的第二输入设置为从第二中央处理器单元连接到第二多任务器,再连接到第四多任务器,再到第二快速外围组件互连交换器;将所述交换器电路的第三输入设置为从第二快速外围组件互连交换器连接到第六多任务器,再连接到所述多个网络接口控制器中的一个;所述双行组件交换器还被配置为使所述交换器电路中的其他连接线路全部失效;
其中,在平衡模式中,所述双行组件交换器被配置为将所述交换器电路的第一输入设置为从第二中央处理单元连接到第二多任务器,再连接到第四多任务器,再到第二快速外围组件互连交换器;将所述交换器电路的第二输入设置为从第一中央处理单元连接到第三快速外围组件互连交换器,再连接到第五多任务器,再到所述多个网络接口控制器中的一个;将所述交换器的第三输入设置为从第二快速外围组件互连交换器连接到第六多任务器,再连接到所述多个网络接口控制器中的一个;所述双行组件交换器还被配置为使所述交换器电路中的其他连接线路全部失效。
2.如权利要求1所述的计算系统,其中上述连结机制包括:
多重迷你串行SCSI连接器;
至少一个物理快速外围组件互连缆线;以及
金手指转发器板,上述金手指转发器板安装于上述多个网络接口控制器的其中一个网络接口控制器。
3.如权利要求1所述的计算系统,其中:
所述交换器电路,连接上述多个中央处理单元、上述多个快速外围组件互连交换器以及上述多个网络接口控制器。
4.如权利要求1所述的计算系统,其中:
所述多个多任务器连接所述多个输入及所述多个输出;以及
上述双行组件交换器被配置以设置每个上述多个多任务器的连接状态,并因此设置上述交换器电路的上述多个输入与上述多个输出之间的上述多个连接路线。
5.一种计算机实施方法,用于在计算系统中设置快速外围组件互连拓扑,包括:
接收对上述计算系统的特定快速外围组件互连拓扑的要求;所述特定快速外围组件互连拓扑包括全配置模式和平衡模式;
判断上述计算系统中,多个中央处理单元、多个快速外围组件互连交换器、在计算系统中的多个终端装置之间的当前连接路线,其中,多个中央处理单元包括第一中央处理单元和第二中央处理单元;
其中,多个终端装置包括多个网络接口控制器以及多个现场可程序门阵列和/或多个图像处理单元之间的多个当前连接路线;以及
其中,多个快速外围组件互连交换器包括第一快速外围组件互连交换器、第二快速外围组件互连交换器和第三快速外围组件互连交换器,所述第一快速外围组件互连交换器被配置为将第一中央处理单元连接至多个终端装置的第一组,所述第二快速外围组件互连交换器被配置为将第二中央处理单元连接至多个终端装置的第二组;
判断上述多个当前连接路线是否与上述特定快速外围组件互连拓扑一致;以及
在上述多个中央处理单元、上述多个快速外围组件互连交换器及上述多个网络接口控制器之间的上述多个当前连接路线与上述特定快速外围组件互连拓扑不一致的事件中,调整上述多个中央处理单元、上述多个快速外围组件互连交换器及上述多个终端装置之间的至少一个连接路线,其中所述调整至少一个连接路线包括将多个中央处理单元中的第一中央处理单元连接至不同快速外围组件互连交换器;其中在全配置模式和平衡模式中,第一中央处理单元被配置为经由第二中央处理单元被连接至终端装置的第二组;以及
其中在全配置模式中,所述第一中央处理单元被配置为经由第三快速外围组件互连交换器被连接至多个终端装置的第三组;
其中,连结机制,使得上述多个中央处理单元、上述多个快速外围组件互连交换器以及上述多个终端装置之间的至少一个连接路线可被调整;所述连结机制包括交换器电路,其中所述交换器电路包括多个多任务器,其中多个多任务器包括第一多任务器、第二多任务器、第三多任务器、第四多任务器、第五多任务器、第六多任务器;
其中,双行组件交换器,被配置为设置所述交换器电路的多个输入与多个输出之间的多个连接路线;
其中,在全配置模式中,所述双行组件交换器被配置为将所述交换器电路的第一输入设置为从所述第一中央处理单元连接到第一多任务器,再连接到第三多任务器,再到第一快速外围组件互连交换器;将所述交换器电路的第二输入设置为从第二中央处理器单元连接到第二多任务器,再连接到第四多任务器,再到第二快速外围组件互连交换器;将所述交换器电路的第三输入设置为从第二快速外围组件互连交换器连接到第六多任务器,再连接到所述多个网络接口控制器中的一个;所述双行组件交换器还被配置为使所述交换器电路中的其他连接线路全部失效;
其中,在平衡模式中,所述双行组件交换器被配置为将所述交换器电路的第一输入设置为从第二中央处理单元连接到第二多任务器,再连接到第四多任务器,再到第二快速外围组件互连交换器;将所述交换器电路的第二输入设置为从第一中央处理单元连接到第三快速外围组件互连交换器,再连接到第五多任务器,再到所述多个网络接口控制器中的一个;将所述交换器的第三输入设置为从第二快速外围组件互连交换器连接到第六多任务器,再连接到所述多个网络接口控制器中的一个;所述双行组件交换器还被配置为使所述交换器电路中的其他连接线路全部失效。
6.如权利要求5所述的计算机实施方法,其中上述计算系统包括:
交换器电路,以连接上述多个中央处理单元、上述多个快速外围组件互连交换器以及上述多个网络接口控制器。
7.如权利要求5所述的计算机实施方法,其中:
上述交换器电路包括多个多任务器,以连接上述多个输入及上述多个输出;以及
上述双行组件交换器被配置以设置每个上述多个多任务器的连接状态,并因此设置上述交换器电路的上述多个输入与上述多个输出之间的上述多个连接路线。
8.一种非瞬时计算机可读取存储介质,上述非瞬时计算机可读取存储介质包括多个指令,当上述指令由计算系统中的至少一个处理器执行时,会使上述计算系统执行下列操作,包括:
接收对上述计算系统的特定快速外围组件互连拓扑的要求;所述特定快速外围组件互连拓扑包括全配置模式和平衡模式;
判断上述计算系统中,多个中央处理单元、多个快速外围组件互连交换器、在计算系统中的多个终端装置之间当前连接路线,
其中,多个中央处理单元包括第一中央处理单元和第二中央处理单元;
其中,多个终端装置包括多个网络接口控制器以及多个现场可程序门阵列和/或多个图像处理单元;以及
其中,多个快速外围组件互连交换器包括第一快速外围组件互连交换器、第二快速外围组件互连交换器和第三快速外围组件互连交换器,所述第一快速外围组件互连交换器被配置为将第一中央处理单元连接至多个终端装置的第一组,所述第二快速外围组件互连交换器被配置为将第二中央处理单元连接至多个终端装置的第二组;
判断上述多个当前连接路线是否与上述特定快速外围组件互连拓扑一致;以及
上述多个当前连接路线与上述特定快速外围组件互连拓扑不一致的事件中,调整上述多个中央处理单元、上述多个快速外围组件互连交换器及上述多个终端装置之间的至少一个连接路线,其中所述特定快速外围组件互连拓扑包括全配置模式和平衡模式;其中在全配置模式和平衡模式中,第一中央处理单元被配置为经由第二中央处理单元被连接至终端装置的第二组;以及
其中在全配置模式中,所述第一中央处理单元被配置为经由第三快速外围组件互连交换器被连接至多个终端装置的第三组;
其中,连结机制,使得上述多个中央处理单元、上述多个快速外围组件互连交换器以及上述多个终端装置之间的至少一个连接路线可被调整;所述连结机制包括交换器电路,其中所述交换器电路包括多个多任务器,其中多个多任务器包括第一多任务器、第二多任务器、第三多任务器、第四多任务器、第五多任务器、第六多任务器;
其中,双行组件交换器,被配置为设置所述交换器电路的多个输入与多个输出之间的多个连接路线;
其中,在全配置模式中,所述双行组件交换器被配置为将所述交换器电路的第一输入设置为从所述第一中央处理单元连接到第一多任务器,再连接到第三多任务器,再到第一快速外围组件互连交换器;将所述交换器电路的第二输入设置为从第二中央处理器单元连接到第二多任务器,再连接到第四多任务器,再到第二快速外围组件互连交换器;将所述交换器电路的第三输入设置为从第二快速外围组件互连交换器连接到第六多任务器,再连接到所述多个网络接口控制器中的一个;所述双行组件交换器还被配置为使所述交换器电路中的其他连接线路全部失效;
其中,在平衡模式中,所述双行组件交换器被配置为将所述交换器电路的第一输入设置为从第二中央处理单元连接到第二多任务器,再连接到第四多任务器,再到第二快速外围组件互连交换器;将所述交换器电路的第二输入设置为从第一中央处理单元连接到第三快速外围组件互连交换器,再连接到第五多任务器,再到所述多个网络接口控制器中的一个;将所述交换器的第三输入设置为从第二快速外围组件互连交换器连接到第六多任务器,再连接到所述多个网络接口控制器中的一个;所述双行组件交换器还被配置为使所述交换器电路中的其他连接线路全部失效。
9.如权利要求8所述的非瞬时计算机可读取存储介质,其中上述计算系统包括:
交换器电路,以连接上述多个中央处理单元、上述多个快速外围组件互连交换器以及上述多个网络接口控制器。
10.如权利要求9所述的非瞬时计算机可读取存储介质,其中:
上述多个多任务器连接上述多个输入及上述多个输出;以及
上述双行组件交换器被配置以设置每个上述多个多任务器的连接状态,并因此设置上述交换器电路的上述多个输入与上述多个输出之间的上述多个连接路线。
CN201910332544.0A 2019-01-28 2019-04-24 具有弹性配置的计算系统、计算机实施方法及存储介质 Active CN111488302B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/259,488 US10585833B1 (en) 2019-01-28 2019-01-28 Flexible PCIe topology
US16/259,488 2019-01-28

Publications (2)

Publication Number Publication Date
CN111488302A CN111488302A (zh) 2020-08-04
CN111488302B true CN111488302B (zh) 2022-03-29

Family

ID=67303389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910332544.0A Active CN111488302B (zh) 2019-01-28 2019-04-24 具有弹性配置的计算系统、计算机实施方法及存储介质

Country Status (5)

Country Link
US (1) US10585833B1 (zh)
EP (1) EP3686747B1 (zh)
JP (1) JP2020119498A (zh)
CN (1) CN111488302B (zh)
TW (1) TWI710879B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737181A (zh) * 2020-06-19 2020-10-02 苏州浪潮智能科技有限公司 异构处理设备、系统、端口配置方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497432A (zh) * 2011-12-13 2012-06-13 华为技术有限公司 一种多路径访问i/o设备的方法、i/o多路径管理器及系统
CN103444133A (zh) * 2010-09-16 2013-12-11 卡尔克塞达公司 性能和功率优化计算机系统架构和运用功率优化树结构互连的方法
CN109242754A (zh) * 2018-07-17 2019-01-18 北京理工大学 一种基于OpenVPX平台的多GPU高性能处理系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1811395A4 (en) * 2004-09-28 2008-01-02 Zentek Technology Japan Inc HOST CONTROLLER
CN100531037C (zh) * 2004-12-24 2009-08-19 鸿富锦精密工业(深圳)有限公司 通用异步收发器桥接电路
TWM295417U (en) * 2005-12-01 2006-08-01 Wistron Corp Interface card with a mechanism for covering a golden finger thereof
US8693208B2 (en) * 2010-08-06 2014-04-08 Ocz Technology Group, Inc. PCIe bus extension system, method and interfaces therefor
CN104011691B (zh) * 2011-12-29 2016-12-14 英特尔公司 非易失性ram盘
JP6090017B2 (ja) * 2013-07-10 2017-03-08 富士ゼロックス株式会社 コンピュータシステム
US10073801B2 (en) * 2014-04-25 2018-09-11 Hitachi, Ltd. Computer and method of controlling I/O switch of computer
US10191877B2 (en) * 2015-12-22 2019-01-29 Intel Corporation Architecture for software defined interconnect switch
CN105721357B (zh) * 2016-01-13 2019-09-03 华为技术有限公司 交换设备、外围部件互连高速系统及其初始化方法
US10387346B2 (en) 2016-05-06 2019-08-20 Quanta Computer Inc. Dynamic PCIE switch reconfiguration mechanism
US10795842B2 (en) 2017-05-08 2020-10-06 Liqid Inc. Fabric switched graphics modules within storage enclosures
CN107992438A (zh) 2017-11-24 2018-05-04 郑州云海信息技术有限公司 一种服务器及在服务器内灵活配置PCIe拓扑的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103444133A (zh) * 2010-09-16 2013-12-11 卡尔克塞达公司 性能和功率优化计算机系统架构和运用功率优化树结构互连的方法
CN102497432A (zh) * 2011-12-13 2012-06-13 华为技术有限公司 一种多路径访问i/o设备的方法、i/o多路径管理器及系统
CN109242754A (zh) * 2018-07-17 2019-01-18 北京理工大学 一种基于OpenVPX平台的多GPU高性能处理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高速PCIE总线在核信号实时采集系统中的应用;贾芮;《中国优秀硕士学位论文全文数据库信息科技辑》;20180331(第2018年03期);I140-917 *

Also Published As

Publication number Publication date
TWI710879B (zh) 2020-11-21
EP3686747A1 (en) 2020-07-29
CN111488302A (zh) 2020-08-04
EP3686747B1 (en) 2024-10-09
US10585833B1 (en) 2020-03-10
JP2020119498A (ja) 2020-08-06
TW202028915A (zh) 2020-08-01

Similar Documents

Publication Publication Date Title
US9645956B2 (en) Delivering interrupts through non-transparent bridges in a PCI-express network
US11775464B2 (en) Computer system and a computer device
US20150347345A1 (en) Gen3 pci-express riser
US8756360B1 (en) PCI-E compatible chassis having multi-host capability
KR102147629B1 (ko) 플렉시블 서버 시스템
US9524262B2 (en) Connecting expansion slots
US11269803B1 (en) Method and system for processor interposer to expansion devices
WO2023273140A1 (zh) 一种信号传输装置、方法、计算机设备及存储介质
US10474612B1 (en) Lane reversal detection and bifurcation system
CN111488302B (zh) 具有弹性配置的计算系统、计算机实施方法及存储介质
CN115981971A (zh) 一种服务器硬盘的点灯方法及服务器
US20150186317A1 (en) Method and apparatus for detecting the initiator/target orientation of a smart bridge
US20070079046A1 (en) Multiprocessor system
US20170010993A1 (en) Computing system control
US9557783B2 (en) Configurable card slots
US10360167B1 (en) Systems and methods for using a bus exchange switch to control processor affinity
US11500808B1 (en) Peripheral device having an implied reset signal
WO2016175837A1 (en) Configuration of a peripheral component interconnect express link
TW201544972A (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