多节点内存互联装置及一种大规模计算机集群的制作方法

xiaoxiao2020-7-22  21

多节点内存互联装置及一种大规模计算机集群的制作方法
【专利摘要】本发明属于计算机内存数据传输【技术领域】,并提供了一种多节点内存互联装置及大规模计算机集群,该多节点内存互联装置包括与指定处理器相连的若干内存装置;该多节点内存互联装置还包括:与所述若干内存装置耦接的内存桥接模块,所述内存桥接模块包括若干发送端口、接收端口以及通过系统总线与处理器进行通讯的控制端口;其中,所述控制端口接收计算机启动自检时生成的端口映射表,根据处理器发送的内存数据迁移操作指令,在指定的两个或者两个以上的内存装置之间通过发送端口与接收端口建立数据链路。通过本发明,避免了内存数据迁移对处理器所造成的负荷,节约了处理器资源,缩短了数据迁移路径,提高了内存数据迁移效率。
【专利说明】多节点内存互联装置及一种大规模计算机集群
【技术领域】
[0001]本发明涉及计算机和计算机内部与外部的内存数据传输【技术领域】,尤其涉及一种多节点内存互联装置和基于该多节点内存互联装置的一种大规模计算机集群。
【背景技术】
[0002]随着大数据时代的到来,对计算机提出了更高的数据运算、处理、传输、存储等各项要求。因此,服务器或者高性能计算机的主板上通常设置多个处理器(CPU)。
[0003]内存的存取机制和架构对于处理器的运算速度,具有决定性的影响。传统的主板架构中,内存控制是有北桥芯片所负责,其充当内存控制集线器(MCH)的作用。单个处理器作浮点运算时可使用绝大部分的内存,不过由于内存的使用会受到内存控制集线器的控制,仍然会影响到处理器对内存的存取速度。当两个或者四个处理器同时运作时,必须共享内存总线(Memory Bus)的带宽,造成存取数据的速度下降。虽然,Intel或者AMD等处理器制造商已经在处理器中设置多级高速缓存(L1/L2/L3),用于存储常用的指令与数据供处理器使用,但是仍然无法解决内存对数据存储数据瓶颈问题。
[0004]同时,对于设置多个处理器的计算机而言,各个处理器均有指定的内存。因此,当某一处理器发生数据拥堵、内存中数据出现错误时,往往需要将某一处理器及内存中的数据迁移到另一个处理器及其所指定的内存中。
[0005]随着计算机中内存容量的提高,内存之间需要传输的数据量会非常巨大。参图1所示,若内存512中有IOGB的数据需要传输至内存511中。通常由内存512将数据发送至处理器502,然后通过处理器502通过快速通道互联(Quick Path Interconnect, QPI)发送至处理器501,然后通过处理器501将数据发送至内存511。
[0006]在该数据传输过程中,需要处理器通过访问存取指令引导数据从源地址发送至目的地地址。因为处理器指令一次传输的数据量有限,最大为8个字节,故在大规模数据迁移过程中,处理器需要执行数量庞当的指令来弓丨导数据的传输;同时,数据在迁移过程中的传输路径比较长。因此,这对于与特定内存连接的处理器在数据传输过程中,对处理器所占用的资源较大,极大的影响计算机的性能。这种缺陷随着计算机内存系统容量和频率的提高后,所导致的技术问题会变得越来越明显,导致现有技术中计算机中的内存装置之间的数据迁移效率比较低,不利于内存装置的维护、升级。
[0007]有鉴于此,有必要对现有技术中的内存数据迁移的装置予以改进,以解决上述技术瑕疵。

【发明内容】

[0008]本发明的目的在于提供一种多点内存互联装置以及运用该多节点内存装置的一种大规模计算机集群,从而在大规模内存数据迁移过程中避免处理器资源过度消耗的问题,进而提高内存数据迁移效率,提高内存装置维护、升级以及数据迁移的能力;同时,基于上述发明目的提供一种大规模计算机集群。[0009]为实现上述发明目的,本发明提供了一种多节点内存互联装置,包括与指定处理器相连的若干内存装置;
该多节点内存互联装置还包括:
与所述若干内存装置耦接的内存桥接模块,所述内存桥接模块包括若干发送端口、接收端口以及通过系统总线与处理器进行通讯的控制端口 ;其中,
所述控制端口接收计算机启动自检时生成的端口映射表,根据处理器发送的内存数据迁移操作指令,在指定的两个或者两个以上的内存装置之间通过发送端口或者接收端口建立数据链路。
[0010]作为本发明的进一步改进,所述内存桥接模块由若干组匹配设置的发送端口与接收端口、控制端口以及藕接所述发送端口与接收端口的介质访问控制模块组成。
[0011]作为本发明的进一步改进,所述内存桥接模块由分别与内部总线相连的若干组匹配设置的发送端口与接收端口、控制端口以及数据传输任务队列解析模块组成。
[0012]作为本发明的进一步改进,所述数据传输任务队列解析模块包括:核心控制器、指令解码器、地址属性寄存器和数据长度属性寄存器;其中,
所述核心控制器通过内部总线接收内存数据迁移操作指令并发送至地址属性寄存器和数据长度属性寄存器;
所述地址属性寄存器和数据长度属性寄存器通过查询端口映射表获取源数据地址和目的地址所对应的端口信息;由指令解码器首先生成读指令,通过核心控制器经由内部总线将读指令通过接收端口发送至源设备,然后源设备将数据上传至发送端口 ;所述数据传输任务队列解析模块控制源设备的发送端口通过内部总线将数据发送至目的地设备的接收端口,最后通过指令解码器生成写指令,将数据写入目的地设备中。作为本发明的进一步改进,还包括与介质访问控制模块相连的外部数据发送端口、外部数据接收端口,并通过所述协议解析模块和通讯端口与外部计算机、网络,以及不同物理机中所形成的虚拟机之间进行数据迁移。
[0013]作为本发明的进一步改进,还包括与内部总线相连的外部数据发送端口、外部数据接收端口,并通过所述协议解析模块和通讯端口与外部计算机、网络,以及不同物理机中所形成的虚拟机之间进行数据迁移。
[0014]作为本发明的进一步改进,所述协议解析模块包括=WiFi解析模块、蓝牙解析模块、Zigbee解析模块、以太网解析模块、RF解析模块、API解析模块。
[0015]作为本发明的进一步改进,所述系统总线为基于sm_bUs协议或者PC1-e协议的总线形式。
[0016]作为本发明的进一步改进,所述内存装置包括:
主控制模块、与主控制模块并行连接的若干易失性存储装置和若干非易失性存储装置、电源监测控制电路、串行接口,与电压转换电路相连的充放电模块;其中,
所述主控制模块能够根据电源监测控制电路所监测到的系统电压的断电与恢复的电平变化信号,并在计算机发生异常掉电时,在充放电模块与主控制模块、若干易失性存储装置以及若干非易失性存储装置之间建立电连接,以通过主控制模块控制系统数据在易失性存储装置与非易失性存储装置之间作备份与恢复。
[0017]同时,本发明还提供了一种大规模计算机集群,包括多个如上述任一项所述多节点内存互联装置的计算机,各计算机能够通过所述多节点内存互联装置中的通讯端口建立数据链路。
[0018]与现有技术相比,本发明的有益效果是:在本发明中,由于内存数据的迁移不需要通过其所属的处理器,避免占用处理器中宝贵的L1\L2\L3缓存,从而在大规模内存数据迁移过程中避免处理器资源过度消耗的问题,同时缩短了数据迁移路径,进而提高内存数据迁移效率,提高了内存装置的维护、升级以及数据迁移的能力。
【专利附图】

【附图说明】
[0019]附图用来提供对本发明的进一步理解,与本发明的各实施例共同用于解释本发明,但并不构成对本发明的限制。其中,
图1为现有技术中内存数据迁移的示意图;
图2为本发明实施一中一种多节点内存互联装置的示意图;
图3为图2中所示的内存桥接模块在实施例一中的示意图;
图4为多节点互联存储装置连接实现与外部数据进行内存数据迁移的示意图;
图5为计算机启动自检时所生成的端口映射表;
图6为图3、图4及图7所示的接收端口或者发送端口的示意图;
图7为图2中所示的内存桥接模块在实施例二中的示意图;
图8为图7中所示的数据传输任务队列解析模块的示意图;
图9为非易失性的内存装置的示意图;
图10为图9中所示的内存装置中主控制模块设置数据传输引擎的示意图;
图11为在云计算环境中虚拟机在不同物理机之间进行虚拟机迁移的示意图;
图12为本发明一种大规模计算机集群的示意图。
[0020]其中,说明书中各实施例的附图标记说明如下:
多节点内存互联装置-100 ;处理器-501、502 ;内存-511、512 ;内存装置_600、611、612、613、614 ;内存桥接模块-700 ;发送端 口 _7011、7012、7013、7014 ;接收端 口 -7021,7022,7023,7024 ;控制端口 -703 ;系统总线-7031 ;介质访问控制模块-704 ;协议解析模块-705 ;通讯接口 -706 ;内部总线-707 ;数据传输任务队列模块_708 ;核心控制器-7081 ;指令解码器-7082 ;地址属性寄存器-7083 ;数据长度属性寄存器-7084 ;外部数据发送端口 -7111 ;外部数据接收端口 -7211 ;PM(A) -201 ;PM(B) -202 ;迁移前运行于PM(A)中的VM (a)-211 ;迁移后运行于PM(B)中的VM(a)_212 ;主控制模块-601 ;数据传输引擎-6011 ;非易失性存储装置-602 ;易失性存储装置-603 ;电源检测控制电路-604 ;串行接口 -605 ;充放电模块-606 ;数据接收或发送端口 -7000 ;数据差分信号输入/输出装置-7001 ;时钟同步装置-7002 ;FIF0-7003 ;大规模计算机集群-200 ;应用网络-222。
【具体实施方式】
[0021]下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
[0022]实施例一: 请参图2、图3、图6、图9和图10所示的本发明一种多节点内存互联装置的一种【具体实施方式】。
[0023]在本实施方式中,该多节点内存互联装置100包括与指定处理器501、502相连的四个内存装置611、612、613、614。需要说明的是,本实施例仅是示例性说明,在实际应用过程中,并不限制处理器和内存装置的数量。
[0024]同时,为便于阐述,在本实施例中,处理器501串行连接内存装置611和612,处理器502串行连接内存装置613和614。
[0025]在本实施方式中,该内存装置611、612、613、614优选为非易失性的内存装置。需要说明的是,也可部分的或者全部的将内存装置611、612、613、614选用普通的易失性内存装置(参图1中的内存511、512)。
[0026]具体的,请参图9所示,该非易失性的内存装置600包括:
主控制模块601、与主控制模块601并行连接的若干易失性存储装置603和若干非易失性存储装置602、电源监测控制电路604、串行接口 605,与电压转换电路相连的充放电模块606。
[0027]进一步的,该主控制模块601能够根据电源监测控制电路604所监测到的系统电压的断电与恢复的电平变化信号,并在计算机发生异常掉电时,在充放电模块606与主控制模块601、若干易失性存储装置603以及若干非易失性存储装置602之间建立电连接,以通过主控制模块601控制系统数据(即易失性存储装置603中运行的数据)在易失性存储装置603与非易失性存储装置602之间作备份与恢复。
[0028]配合参图10所示,在本实施方式中,该主控制模块601还包含了数据传输引擎6011,其可通过串行接口 605接收主机(HOST)发布的数据迁移的命令队列,在源设备与目的地设备之间进行数据传输。
[0029]具体的,在本实施方式中,该易失性存储装置603为DRAM,该非易失性存储装置602为NAND FLASH,该充放电模块606由五个单位容量为100F,输出工作电压为2.7V的超级电容(Super Capacitor)串联而成,该串行接口 605为基于SMI (Scalable MemoryInterface)协议的串行数据通信接口,该主控制模块601优选为FPGA,或者其他具有逻辑运算功能的半导体芯片。
[0030]同时在本实施方式中,该多节点内存互联装置100还包括:与所述四个内存装置611、612、613、614耦接的内存桥接模块700,所述内存桥接模块包括四个发送端口 7011、7012、7013、7014、四个接收端口 7021、7022、7023、7024以及通过系统总线7031与处理器501,502进行通讯的控制端口 703。
[0031]具体的,该控制端口 703可接收计算机启动自检时生成的端口映射表(参图5所示),根据处理器501或502发送的内存数据迁移操作指令,在指定的两个或者两个以上的内存装置611、612、613、614之间通过发送端口 7011?7014或者接收端口 7021?7024建立数据链路。上述过程的具体实现过程和方式参本说明书实施例三。
[0032]结合参照图10所示。在本实施方式中,处理器501或502,可将内存迁移参数和命令发送至源内存装置611中主控制模块601的数据传输引擎709,并通过系统总线7031连接的控制端口 703通知介质访问控制模块704打通源设备与目的地设备之间的物理链路,然后由该源内存装置611的数据传输引擎709控制完成整个数据传输工作。传输完成后,由处理器501或502通知介质访问控制模块704关闭此次传输的数据链路。
[0033]需要说明的是,当源设备与目的地设备建立物理链路之时,需要在接收端口 7021、7022,7023,7024与发送端口 7011、7012、7013、7014进行时钟同步,其具体实现方式参图6所示。
[0034]具体的,该系统总线7031是基于sm_bus协议总线形式。sm_bus (系统管理总线)是一种二进制的总线形式,其基于I2C的操作原理,可用于计算机中各设备之间接收和发送消息或者命令,是一种低速率通讯总线。由于sm_bus不单独使用控制线,故可节省设备的管脚数量,减低设备制造成本。
[0035]最后,在指定的两个或者两个以上的内存装置611、612、613、614之间通过发送端口 7011、7012、7013、7014 或者接收端口 7021、7022、7023、7024 建立数据链路。
[0036]举例说明,若指定连接处理器502的内存装置613中有IOGB的数据需要迁移到指定连接处理器501的内存装置611中。则发送端口 7023与接收端口 7011之间建立数据链路,然后该内存装置613中的数据按照串行化内存数据的固定格式从接收端口 7011迁移至内存装置611中。
[0037]在上述整个数据迁移过程中,该数据迁移实则为内存数据迁移,且在整个数据迁移过程中不需要处理器501、502通过QPI进行数据迁移,有效地降低了处理器501和502的负荷,及对系统计算资源的占用,提高了计算机的整体性能。这种优势在TB和更高的PB级内存规模的服务器或者高性能计算机、图形工作站、数据中心、云计算技术等应用场合中的技术优势会变得尤其明显。
[0038]在本实施方式中,由于多节点内存互联装置100中所包含的内存装置611、612、613、614均具有非易失性特点,其具有断电数据备份与恢复的功能。同时,可在每一个内存装置 611、612、613、614 中设置一个串行模块,S卩:SMB (Scalable Memory Buffer)模块(未示出),遵循JEDEC FB-DIMM标准提供的重新建立内存与CPU之间的数据链路的能力,实现了内存装置611、612、613、614的热插拔与手动内存迁移。
[0039]该SMB模块可设置于每一个内存装置611、612、613、614PCB中,也可整合入每一个内存装置611、612、613、614中主控制模块601中。以通过该SMB模块配合串行接口 605,实现内存数据的串行化迁移。
[0040]在本实施方式中,可实现对本地计算机位于同一主板上不同插槽中的内存装置600之间的数据迁移,由于该内存装置600具有掉电数据备份与保护功能,因此在计算机运行时,通过操作系统的操作,可将某一内存装置600的数据提前迁移至操作系统指定的其他内存装置600中。
[0041]通过本发明,避免了内存数据迁移对处理器所造成的负荷,节约了处理器资源,缩短了数据迁移路径,提高了内存数据迁移效率。
[0042]需要说明是的,当内存装置600全部选用普通的易失性的内存装置时,也可通过OS (操作系统)所发送的数据迁移指令,以在不同内存装置600中进行内存数据迁移,并可同样地实现内存装置600的热插拔。
[0043]实施例二:
请参图4所示的本发明一种多节点内存互联装置的另一种【具体实施方式】。本实施方式与实施例一的主要区别在于,在本实施方式中,该多节点内存互联装置100还包括与介质访问控制模块704相连的外部数据发送端口 7111、外部数据接收端口 7211,并通过所述协议解析模块705和通讯端口 706与外部计算机之间进行数据迁移。
[0044]具体的,在本实施方式中,该协议解析模块705选自WiFi解析模块。同时,该系统总线7031是PC1-e协议的总线。PC1-e是一种高速串行点对点双通道高速宽带传输总线形式,包括PC1-e X1\X2\X4\X8\X16 ;其可视整个多节点内存互联装置100的存储规模而选择具体的PC1-e的规格,从而实现在不同的计算机之间通过WiFi无线网络环境进行内存数据迁移。
[0045]需要说明的是,该协议解析模块705还可包括:蓝牙解析模块、Zigbee解析模块、以太网解析模块、RF解析模块、API解析模块,并可根据不同计算机之间所组成的有线和/或无线通讯系统,以支持大容量的数据迁移。
[0046]实施例三:
请参图2、图5、图7和图8所示的本发明一种多节点内存互联装置的第三种【具体实施方式】。
[0047]当计算机开机时固件会进行内存检测,以得到每个内存装置611、612、613、614的物理地址范围(包括起始地址和结束地址)和端口信息,生成如图5所示的端口映射表,然后通过控制端口 703发送至内存桥接模块700。例如:以一个内存容量为64GB的内存装置611接插在主板上第一个SMI插槽中时,则内存装置611的物理地址范围为0x000000000000000(T0x0000000FFFFFFFFF,端口号为O ;内存装置612的物理地址范围为0x000000100000000(T0x0000001FFFFFFFFF,端口号为I ;内存装置613的物理地址范围为0x000000200000000(T0x0000002FFFFFFFFF,端口号为2 ;内存装置614的物理地址范围为0x000000300000000(T0x0000003FFFFFF FFF,端口号为 3。
[0048]当计算机启动时,该控制端口703能够接收计算机启动自检时所生成的端口映射表,并接收处理器发送的内存数据迁移操作指令。
[0049]接下来,我们以内存装置614中某一段内存数据迁移到内存装置611中的具体过程举例作详细阐述。
[0050]在本实施方式中,该内存桥接模块700由分别与内部总线707相连的若干组匹配设置的发送端口与接收端口、内部总线707、控制端口 703以及数据传输任务队列解析模块708组成。该数据传输任务队列解析模块708包括:核心控制器7081、指令解码器7082、地址属性寄存器7083和数据长度属性寄存器7084。
[0051]具体的,该核心控制器7081通过内部总线707接收内存数据迁移操作指令并发送至地址属性寄存器7083和数据长度属性寄存器7084。
[0052]该地址属性寄存器7083和数据长度属性寄存器7084通过查询端口映射表(参图5所示)获取源数据地址和目的地址所对应设备的端口信息。具体的,该端口信息包含了被迁移的内存数据在迁移前在源设备中内存地址与数据长度(即图5中第I列与第2列所表征的内存数据的起始地址0-3至结束地址0-3之间的内存数据的字节数大小);需要被迁移后的目的地设备中的内存地址与数据长度(即图5中第I列与第2列所表征的内存数据的起始地址0-3至结束地址0-3之间的内存数据的字节数大小);以及,源设备与目的地设备的发送/接收端口(7011/7021~7014/7024)的端口号。
[0053]接下来,由指令解码器7081首先生成读指令,并通过核心控制器7081经由内部总线707将该读指令通过接收端口 7024发送至源设备(即内存装置614);然后,原设备将数据上传至发送端口 7014。
[0054]接下来,数据队列任务解析模块708控制源设备的发送端口 7014通过内部总线707将数据发送至目的地设备(即内存装置611)的接收端口 7021。
[0055]最后,通过指令解码器7082生成写指令,将数据写入目的地设备中。从而实现在指定的两个内存装置611与614之间通过发送端口或接收端口建立数据链路。
[0056]参图6所示,该数据接收或发送端口 7000包括数据差分信号输入/输出端口7001、FIF07003以及用于同步数据差分信号的时钟同步装置7003。
[0057]需要说明的是,在本说明书中各实施例中的所描述的发送端口 7011、7012、7013、7014和接收端口 7021、7022、7023、7024以及外部数据发送端口 7111、7112均可采用如图6所示的数据接收或发送端口 7000来实现,以作为对大容量内存数据在迁移过程中作为数据的接收接口或者发送端口。
[0058]在本实施方式中,该内部总线707为一种内部高速总线,负责发送端口 7011、7012,7013,7014与接收端口 7021、7022、7023、7024以及数据传输任务队列解析模块708、外部数据发送端口 7 111和外部数据接收端口 7112之间传递数据和命令。同时,为了避免该内部总线707发生信号或数据拥堵,可在该内部总线707上再挂载若干缓存器-buffer(未示出)。
[0059]在本实施方式中,同样可实现如实施例二中所述的与外部计算机进行有线和/或无线通讯形式的内存数据迁移的技术效果。当然,本实施方式中的外部数据发送端口 7111、外部数据接收端口 7112、协议解析模块705和通讯端口 706也可省略。
[0060]实施例四:
请参图11所示,本【具体实施方式】阐述了在云计算环境中虚拟机在不同物理机之间进行虚拟机迁移的具体实现过程,并提供了一种基于云计算环境中不同物理机(PhysicalMachine, PM)中所创建的虚拟机(Virtual Machine, VM)进行虚拟机(VM)迁移的具体实现过程。
[0061]虚拟机(VM)是通过软件模拟具有完整硬件系统功能,并运行在一个完全隔离环境中的计算机系统,其本质是运行在计算机内存中的数据。随着大数据与云计算技术的发展,经常需要在不同物理机(PM)之间通过网络进行虚拟机迁移,其本质仍然是内存数据的迁移。
[0062]在本实施方式中,虚拟机在不同物理机之间进行迁移的具体操作依次执行以下具体步骤完成。
[0063]第一步:hostl上执行下列迁移命令:
virsh migrate —live vml qemu+ssh://host2.example, com/system其中,迁移后的目的端为host2.example, com ;迁移的源端为hostl (即图11中基于PM (A) 201所形成的主机)。
[0064]第二步:hostl接收到上述迁移命令后,对vm(a)211的存在性、以及hostl与host2的连通性等状态进行检查。
[0065]具体的,可通过ping host2主机域名、IP以判断hostl与host2的连通性。若验证通过,则hostl发送迁移命令给其所属物理机PM(A) 201的处理器(未图示),执行vm(a)201内存页的迁移操作。
[0066]第三步:hostl上hypervisor(监控管理器)监控内存页的传输情况,并记录hostl上对已传输的属于vm(a)211的内存页的修改。该监控管理器位于hostl中,用于管理本物理机PM (A) 201中创建的所有虚拟机。
[0067]第四步:host2 (即图11中基于PM(B) 202所形成的主机)接收hostl传输过来的内存页,并在host2的物理机PM (B) 202物理内存中分配容纳该内存页的指定空间。
[0068]接下来,host2对该内存页进行验证。
[0069]具体的,该验证命令为“virsh domstate vml”,以验证从hostl迁移到host2的虚拟机vm(a)212处于运行状态,从而完成最终的虚拟机内存页所包含的内存数据迁移。
[0070]在本【具体实施方式】中,由于不同物理机之间所创建或者部署的虚拟机在进行迁移过程中,数据的迁移过程基本上可以不依靠其所属的处理器而仅仅依靠接收端口、发送端口、外部数据接收端口 7111、外部数据发送端口 7112、协议解析模块705、通讯端口 -706,并通过局域网或者因特网完成虚拟机数据迁移,从而减少了在虚拟机迁移过程中对处理器资源的占用,提高了虚拟机迁移的效率。
[0071]甚至,由于该物理机中的内存装置600具掉电数据备份和恢复,以及支持热插拔的特性;因此,甚至可以将整个内存装置600从物理上脱离原有物理机的控制,并物理地迁移至所需要运行虚拟机的物理机中,以完成虚拟机的迁移。
[0072]结合图4或者图7所示,在本实施方式中,该通讯接口 706为网卡,该协议解析模块705为API解析模块。
[0073]实施例五:
请参图12所示的本发明一种大规模计算机集群的一种【具体实施方式】。在本实施方式中,一种大规模计算机集群200,包括数量庞大且含有实施例一至四中任一种实施例所描述的多节点内存互联装置100的计算机所组成。为便于阐述,仅以图12中所示出的计算机201、202、203、204 举例说明。
[0074]在本实施方式中,各计算机201、202、203、204能够通过其所包含的多节点内存互联装置100中的通讯端口 706以及应用网络222建立数据链路。其具体实现过程参实施例一至四,在此不再赘述。
[0075]大规模计算机集群可中的计算机可形成星形结构、拓扑结构,并依托应用网络222可形成网络化的应用装置,例如分布式计算系统。
[0076]通过本实施例,可在大规模计算机集群200中实现TB级、甚至更大规模(如PB级)的内存数据迁移,降低了内存数据迁移过程中对处理器所造成的负荷,提高了计算机的整体性能。
[0077]上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
[0078]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0079]此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
【权利要求】
1.一种多节点内存互联装置,包括与指定处理器相连的若干内存装置; 其特征在于,该多节点内存互联装置还包括: 与所述若干内存装置耦接的内存桥接模块,所述内存桥接模块包括若干发送端口、接收端口以及通过系统总线与处理器进行通讯的控制端口 ;其中, 所述控制端口接收计算机启动自检时生成的端口映射表,根据处理器发送的内存数据迁移操作指令,在指定的两个或者两个以上的内存装置之间通过发送端口或者接收端口建立数据链路。
2.根据权利要求1所述的多节点内存互联装置,其特征在于,所述内存桥接模块由若干组匹配设置的发送端口与接收端口、控制端口以及藕接所述发送端口与接收端口、控制端口的介质访问控制模块组成。
3.根据权利要求1所述的多节点内存互联装置,其特征在于,所述内存桥接模块由分别与内部总线相连的若干组匹配设置的发送端口与接收端口、控制端口以及数据传输任务队列解析模块组成。
4.根据权利要求3所述的多节点内存互联装置,其特征在于, 所述数据传输任务队列解析模块包括:核心控制器、指令解码器、地址属性寄存器和数据长度属性寄存器;其中, 所述核心控制器通过内部总线接收内存数据迁移操作指令并发送至地址属性寄存器和数据长度属性寄存器; 所述地址属性寄存器和数据长度属性寄存器通过查询端口映射表获取源数据地址和目的地址所对应的端口信息;由指令解码器首先生成读指令,通过核心控制器经由内部总线将读指令通过接收端口发送至源设备,然后源设备将数据上传至发送端口 ;所述数据传输任务队列解析模块控制源设备的发送端口通过内部总线将数据发送至目的地设备的接收端口,最后通过指令解码器生成写指令,将数据写入目的地设备中。
5.根据权利要求2所述的多节点内存互联装置,其特征在于,还包括与介质访问控制模块相连的外部数据发送端口、外部数据接收端口,并通过所述协议解析模块和通讯端口与外部计算机、网络,以及不同物理机中所形成的虚拟机之间进行数据迁移。
6.根据权利要求3所述的多节点内存互联装置,其特征在于,还包括与内部总线相连的外部数据发送端口、外部数据接收端口,并通过所述协议解析模块和通讯端口与外部计算机、网络,以及不同物理机中所形成的虚拟机之间进行数据迁移。
7.根据权利要求5或6所述的多节点内存互联装置,其特征在于,所述协议解析模块包括=WiFi解析模块、蓝牙解析模块、Zigbee解析模块、以太网解析模块、RF解析模块、API解析模块。
8.根据权利要求1所述的多节点内存互联装置,其特征在于,所述系统总线为基于sm_bus协议或者PC1-e协议的总线形式。
9.根据权利要求1至8中任一项所述的多节点内存互联装置,其特征在于,所述内存装置包括: 主控制模块、与主控制模块并行连接的若干易失性存储装置和若干非易失性存储装置、电源监测控制电路、串行接口,与电压转换电路相连的充放电模块;其中, 所述主控制模块能够根据电源监测控制电路所监测到的系统电压的断电与恢复的电平变化信号,并在计算机发生异常掉电时,在充放电模块与主控制模块、若干易失性存储装置以及若干非易失性存储装置之间建立电连接,以通过主控制模块控制系统数据在易失性存储装置与非易失性存储装置之间作备份与恢复。
10.一种大规模计算机集群,其特征在于,包括多个含有权利要求1至9中任一项所述多节点内存互联装置的计算机,各计算机能够通过所述多节点内存互联装置中的通讯端口建立数据链路。
【文档编号】G06F9/50GK103927233SQ201410179151
【公开日】2014年7月16日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】江韬, H·F·黄, 李惊雷 申请人:无锡云动科技发展有限公司

最新回复(0)