CN107656894A - 一种多主机处理系统和方法 - Google Patents

一种多主机处理系统和方法 Download PDF

Info

Publication number
CN107656894A
CN107656894A CN201710873782.3A CN201710873782A CN107656894A CN 107656894 A CN107656894 A CN 107656894A CN 201710873782 A CN201710873782 A CN 201710873782A CN 107656894 A CN107656894 A CN 107656894A
Authority
CN
China
Prior art keywords
host computer
computer system
logic controller
message
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710873782.3A
Other languages
English (en)
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710873782.3A priority Critical patent/CN107656894A/zh
Publication of CN107656894A publication Critical patent/CN107656894A/zh
Pending legal-status Critical Current

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
    • 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
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种多主机处理系统和方法,一种多主机处理系统包括:至少两个主机系统;与所述主机系统相连的逻辑控制器;所述逻辑控制器用于在满足触发条件时,确定与所述触发条件对应的消息;所述消息经由所述逻辑控制器的传输实现所述主机系统之间的协同工作,由此可见,通过逻辑控制器来实现主机系统之间的协同工作,相较于网络传输信息而言,处理延时小,提高了协同工作的处理效率。

Description

一种多主机处理系统和方法
技术领域
本发明涉及跨主机处理技术信息,更具体的说是涉及一种多主机处理系统和方法。
背景技术
目前,随着科技的发展,用户对电子设备的要求也越来越高,而为了实现某些特定的需求,多个主机之间可以协同工作。例如,当一个主机的业务量较大时,为了保证某一任务的处理效率,可以通过多个主机共同实现针对同一任务的处理。
而在现有技术中,多个主机之间通过网络连接,当需要多个主机协同工作时,需要通过网络传输相应的信息。
但是,由于网络处理延时大,降低了协同工作的处理效率。
发明内容
有鉴于此,本发明提供一种多主机处理系统和方法,以解决现有技术中由于网络处理延时大,降低协同工作的处理效率的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种多主机处理系统,包括:
至少两个主机系统;
与所述主机系统相连的逻辑控制器;
所述逻辑控制器用于在满足触发条件时,确定与所述触发条件对应的消息;所述消息经由所述逻辑控制器的传输实现所述主机系统之间的协同工作。优选的,所述主机系统包括共享内存区;
所述逻辑控制器包括缓存区,所述缓存区用于分别映射到至少两个主机系统的所述共享内存区。
优选的,所述逻辑控制器还包括第一控制模块;
所述第一控制模块用于基于所述缓存区控制所述主机系统之间进行数据交互。
优选的,所述第一控制模块具体用于在第一主机系统向所述缓存区写入共享数据时,确定与所述第一主机系统具有映射关系的第二主机系统,并通知所述第二主机系统从所述缓存区读取所述共享数据。
优选的,该系统还包括:
与所述逻辑控制器相连的输入输出设备;
所述逻辑控制器包括第二控制模块;
所述第二控制模块用于基于预先设定的分配策略确定所述输入输出设备在所述至少两个主机系统之间的资源分配。
优选的,所述主机系统上设置有至少一个虚拟机;
所述逻辑控制器包括虚拟机交换模块;
其中,所述虚拟机交换模块用于控制不同主机系统之间的虚拟机的数据交互。
优选的,所述虚拟机交换模块具体用于在接收到第一主机系统的第一虚拟机发送的携带有目标地址的第一消息时,确定与所述目标地址对应的第二主机系统的第二虚拟机,并将所述第一消息转发给所述第二虚拟机。
优选的,所述逻辑控制器设置有高速接口,所述主机系统通过所述高速接口与所述逻辑控制器相连。
优选的,所述逻辑控制器上设置有级联通道,用于与其他逻辑控制器相连;
其中,所述其他逻辑控制器连接有主机系统。
一种多主机控制方法,应用于逻辑控制器中,至少两个主机系统与所述逻辑控制器相连,该方法包括:
检测是否满足触发条件;
若是,确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作。
优选的,所述检测是否满足触发条件,包括:检测第一主机系统是否向所述逻辑控制器的缓存区写入共享数据;其中,所述缓存区用于分别映射到至少两个主机系统的共享内存区;
相应的,所述确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作,包括:
生成通知消息;
将所述通知消息发送给所述第二主机系统,以通知所述第二主机系统从所述缓存区读取所述共享数据;其中,所述第二主机系统与所述第一主机系统具有映射关系。
优选的,所述检测是否满足触发条件,包括:检测所述逻辑控制器是否连接有输入输出设备;
相应的,所述确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作,包括:
生成资源分配消息;
将所述资源分配消息发送给所述主机系统,以使得所述主机系统基于所述资源分配消息获取所述输入输出设备的资源。
优选的,所述检测是否满足触发条件,包括:
检测是否接收到第一主机系统的第一虚拟机发送的携带有目标地址的第一消息;
相应的,所述确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作,包括:
确定与所述目的地址对应的第二主机系统的第二虚拟机;
将所述第一消息发送给所述第二虚拟机。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种本多主机处理系统,包括至少两个主机系统,与主机系统相连的逻辑控制器,该逻辑控制器用于在满足触发条件时,确定与所述触发条件对应的消息,该消息经由逻辑控制器的传输实现主机系统之间的协同工作;由此可见,通过逻辑控制器来实现主机系统之间的协同工作,相较于网络传输信息而言,处理延时小,提高了协同工作的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一个实施例公开的一种多主机处理系统的结构示意图;
图2为本发明另一实施例公开的一种多主机处理系统的结构示意图;
图3为本发明又一实施例公开的一种多主机处理系统的结构示意图;
图4为本发明又一实施例公开的一种多主机处理系统的结构示意图;
图5为本发明又一实施例公开的一种多主机处理系统的结构示意图;
图6为本发明一个实施例公开的一种多主机处理方法的流程示意图;
图7为本发明另一实施例公开的一种多主机处理方法的流程示意图;
图8为本发明又一实施例公开的一种多主机处理方法的流程示意图;
图9为本发明又一实施例公开的一种多主机处理方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一个实施例公开了一种多主机处理系统,如图1所示,该系统包括:主机系统1001、主机系统1002、……主机系统100N、逻辑控制器200;其中,N为大于等于2的正整数。具体的:
主机系统1001、主机系统1002、……主机系统100N分别与逻辑控制器200相连,逻辑控制器200用于在满足触发条件时,确定与所述触发条件对应的消息;该消息经由逻辑控制器200的传输实现主机系统之间的协同工作。
其中,不同的触发条件对应于不同的消息,详细内容会在后文进行介绍。
逻辑控制器200可以为FPGA(Field-Programmable Gate Array,现场可编程门阵列)器件。
由此可见,在本实施例提供的一种多主机处理系统中,包括至少两个主机系统,与主机系统相连的逻辑控制器,该逻辑控制器用于在满足触发条件时,确定与所述触发条件对应的消息,该消息经由逻辑控制器的传输实现主机系统之间的协同工作;因此本发明通过逻辑控制器来实现主机系统之间的协同工作,相较于网络传输信息而言,处理延时小,提高了协同工作的处理效率。
下面介绍多主机处理系统的一种具体结构示意图,如图2所示,一种多主机处理系统包括主机系统1001、主机系统1002以及与主机系统1001和主机系统1002相连的逻辑控制器200。需说明的是,本实施例仅以两个主机系统为例,该多主机处理系统可以包括N个主机系统,N为大于等于2的正整数。
主机系统包括共享内存区,具体的,主机系统1001和主机系统1102上分别设置有共享内存区110。
逻辑控制器200包括缓存区210,其中,缓存区210用于分别映射到至少两个主机系统的共享内存区。如图2所示,缓存区210可以划分为多块buffer,每一块buffer分别映射到主机系统1001的共享内存区和主机系统1002的共享内存区。其中,共享内存区指代为主机系统内部的一段地址空间。
由图2可以看出,主机系统1001的共享内存区可以通过缓存区buffer与主机系统1002的共享内存区建立映射关系,使得主机系统1001写入缓存区的数据能够被主机系统1002读取;主机系统1002的共享内存区可以通过缓存区buffer与主机系统1002的共享内存区建立映射关系,使得主机系统1002写入缓存区的数据能够被主机系统1001读取。
可以看出,图2所示的映射关系为一对一为例,但是本发明并不限定缓存区映射主机系统的数量,该映射关系可以为一对多、多对多、多对一。例如,主机系统1001的共享内存区可以通过缓存区buffer分别与主机系统1002、主机系统1003、主机系统1004的共享内存区建立映射关系,使得主机系统1001写入缓存区的数据能够分别被主机系统1002、主机系统1003、主机系统1004读取。
可选的,如图2所示,逻辑控制器200还包括第一控制模块220,第一控制模块用于基于所述缓存区控制所述主机系统之间进行数据交互。
具体的,主机系统之间的数据交互指代为具有映射关系的主机系统之间的数据交互。当某一主机系统需要进行数据交互时,可以将共享数据写入到缓存区中,以使得第一控制模块能够基于缓存区控制与该主机系统具有映射关系的主机系统从该缓存区读取该共享数据。作为一个应用场景,当一个主机系统的业务量较大时,其可以将部分业务分配给其他主机系统进行处理,这种情况下,则将待处理业务放入缓存区,以使得与该主机系统具有映射关系的主机系统能够基于该缓存区读取待处理业务,从而进行业务的处理。
作为一种实现方式,第一控制模块200用于在第一主机系统向缓存区写入共享数据时,确定与第一主机系统具有映射关系的第二主机系统,并通知第二主机系统从缓存区读取所述共享数据。
需说明的是,与第一主机系统具有映射关系的第二主机系统并不局限于一个,当包括多个时,第一控制模块可以基于多个第二主机系统的处理能力分配共享数据,处理能力大的第二主机系统分配的共享数据量大,处理能力小的第二主机系统分配的共享数据量小,以保证数据的处理效率。
在现有技术中,主机系统之间的数据交互是通过网络实现的,从而导致处理延迟大,降低了数据交互的效率。而在本发明中,与至少两个主机系统相连的逻辑控制器每一主机系统包括共享内存区、逻辑控制器包括缓存区和第一控制模块,缓存区分别映射到不同的主机系统的共享内存区,第一控制模块用于基于所述缓存区控制所述主机系统之间进行数据交互,即通过逻辑控制器实现多个主机系统之间的数据交互,相较于现有技术中主机系统之间通过网络进行数据交互而言,处理延时小,提高了处理效率。
下面介绍多主机处理系统的另一种具体结构示意图,如图3所示,一种多主机系统包括主机系统1001、主机系统1002……主机系统100N,逻辑控制器200,输入输出设备300,其中,N为大于等于2的正整数。
主机系统1001、主机系统1002……主机系统100N分别与逻辑控制器200相连,输入输出设备300与逻辑控制器200相连。
逻辑控制器200包括第二控制模块230,第二控制模块230用于基于预先设定的分配策略确定输入输出设备200在至少两个主机系统之间的资源分配。
其中,输入输出设备的资源分配给至少两个主机系统后,每一主机系统将可以直接使用该输入输出设备上相应的资源。即相当于每一台主机系统均具有一输入输出设备。
该预定的分配资源策略可以基于不同主机的系统的使用方式进行资源的分配。
其中,输入输出设备的资源包括处理能力、带宽中的至少一种。
该输入输出设备可以网卡、硬盘、键盘、显示器等设备。
现有技术中,主机系统之间的输入输出设备共享是通过网络来实现的,从而导致处理延迟大,降低了数据交互的效率。而在本发明中,至少两个主机系统通过逻辑控制器与输入输出设备相连,逻辑控制器包括第二控制模块,第二控制模块用于基于预先设定的分配策略确定输入输出设备在至少两个主机系统之间的资源分配,即通过逻辑控制器实现多个主机系统共享输入输出设备,相较于现有技术中主机系统之间通过网络共享输入输出设备而言,处理延时小,提高了处理效率。
下面介绍多主机处理系统的又一种结构示意图,如图4所示,一种多主机系统包括主机系统1001、主机系统1002……主机系统100N,逻辑控制器200,其中,N为大于等于2的正整数。
主机系统1001、主机系统1002、……、主机系统100N分别与逻辑控制器200相连。主机系统1001、主机系统1002、……、主机系统100N分别设置有虚拟即VM1、VM2、……、VMN;其中,N为大于等于1的正整数。即,主机系统上设置有至少一个虚拟机。
可以理解的是,每一主机系统上的虚拟机数量本发明并不做限定,不同的主机系统的虚拟机数量可以相同也可以不同。
逻辑控制器200包括虚拟机交换模块240,虚拟机交换模块240用于控制不同主机系统之间的虚拟机的数据交互。
具体的,虚拟机交换模块240可以用于在接收到第一主机系统的第一虚拟机发送的携带有目标地址的第一消息时,确定与所述目标地址对应的第二主机系统的第二虚拟机,并将所述第一消息转发给所述第二虚拟机。
该第一消息内可以携带有地址指针,地址指针用于指向第一主机的地址空间,使得第二主机系统能够从该地址空间内读取第一主机系统放入地址空间的数据。
当然,该第一消息中可以携带有控制命令,以实现第一主机系统对其他主机系统的控制。
需说明的是,逻辑控制器可以设置有高速接口,如PCIe接口,该高速接口支持SRIOV(Single-root I/O virtualization,单根I/O虚拟化),不同的主机系统的虚拟机可以通过高速接口与逻辑控制器的虚拟机交换模块相连。
在现有技术中,不同主机系统之间的虚拟机的交互,即跨主机系统之间的虚拟机交互只能通过网络实现,例如,两个主机系统通过各自的网卡进行连接,那么一个主机系统的虚拟机发送的数据需先通过本地网卡传输出去,再通过另一个主机系统的网卡传输进去,显然处理延迟大,降低了数据传输效率。而在本发明中,多个主机系统通过逻辑控制器相连,即跨主机的虚拟机之间只需交互消息,无需交互数据,通过逻辑控制器实现多个主机系统之间的虚拟机交互,相较于现有技术中主机系统之间的虚拟机通过网络交互数据而言,处理延时小,提高了处理效率。
在本发明又一实施例中,逻辑控制器可以设置有高速接口,主机系统通过高速接口与逻辑控制器相连;该高速接口可以为PCIe接口,当然还可以为其他接口。
该逻辑控制器为FPGA器件,当然还可以为其他能够实现上述功能的器件,本发明对此并不限定。
在本发明又一实施例中,如图5所示,逻辑控制器200上设置有级联通道250,用于与其他逻辑控制器400相连;其中,其他逻辑控制器连接有主机系统。
也就是说,通过该级联通道可以实现主机系统的扩展,当该逻辑控制器上的接口全部连接有主机系统后,可以通过级联通道与其他逻辑控制器相连,其他逻辑控制器上连接主机系统,从而实现主机系统的扩展,当然,本发明中的逻辑控制器的同样能够控制通过级联通道连接的其他主机系统。
与上述一种多主机处理系统对应的,本发明还公开了一种多主机处理方法,以下通过各个实施例进行介绍:
本发明一个实施例公开了一种多主机处理方法,该方法应用于逻辑控制器中,其中,至少两个主机系统与逻辑控制器相连。
其中,逻辑控制器200可以为FPGA(Field-Programmable Gate Array,现场可编程门阵列)器件。
如图6所示,该方法包括以下步骤:
步骤601:检测是否满足触发条件;
步骤602:当满足触发条件时,确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作。
其中,不同的触发条件对应于不同的消息。
由此可见,本发明中至少两个主机系统逻辑控制器相连,该逻辑控制器用于在满足触发条件时,确定与所述触发条件对应的消息,该消息经由逻辑控制器的传输实现主机系统之间的协同工作;因此本发明通过逻辑控制器来实现主机系统之间的协同工作,相较于网络传输信息而言,处理延时小,提高了协同工作的处理效率。
本发明另一实施例公开了一种多主机处理方法,如图7所示,该方法包括以下步骤:
步骤701:检测第一主机系统是否向所述逻辑控制器的缓存区写入共享数据;
其中,检测第一主机系统是否向所述缓存区写入共享数据的步骤为检测是否满足触发条件的步骤的具体实现。
具体的,逻辑控制器包括缓存区,主机系统包括共享内存区,缓存区用于分别映射到至少两个主机系统的共享内存区。其中,共享内存区指代为主机系统内部的一段地址空间。
需说明的是,主机系统之间基于缓存区所建立的映射关系可以为一对一、一对多、多对多、多对一的映射关系。
步骤702:生成通知消息;
步骤703:将所述通知消息发送给所述第二主机系统,以通知所述第二主机系统从所述缓存区读取所述共享数据。
其中,所述第二主机系统与所述第一主机系统具有映射关系,即逻辑控制器的缓存区分别映射到第一主机系统的共享内存区和第二主机系统的共享内存区。
在本发明中,第二主机系统并不局限于一个,当包括多个时,可以基于多个第二主机系统的处理能力分配共享数据,处理能力大的第二主机系统分配的共享数据量大,处理能力小的第二主机系统分配的共享数据量小,以保证数据的处理效率
其中,步骤702和步骤703为确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作的步骤的具体实现。
在现有技术中,主机系统之间的数据交互是通过网络实现的,从而导致处理延迟大,降低了数据交互的效率。而在本发明中,与至少两个主机系统相连的逻辑控制器每一主机系统包括共享内存区、逻辑控制器包括缓存区,缓存区分别映射到不同的主机系统的共享内存区,通过逻辑控制器实现多个主机系统之间的数据交互,相较于现有技术中主机系统之间通过网络进行数据交互而言,处理延时小,提高了处理效率。
本发明又一实施例公开了一种多主机处理方法,如图8所示,该方法包括以下步骤:
步骤801:检测所述逻辑控制器是否连接有输入输出设备;
其中,检测所述逻辑控制器是否连接有输入输出设备的步骤为检测是否满足触发条件的步骤的具体实现。
该输入输出设备可以网卡、硬盘、键盘、显示器等设备。
步骤802:生成资源分配消息;
步骤803:将所述资源分配消息发送给所述主机系统,以使得所述主机系统基于所述资源分配消息获取所述输入输出设备的资源。
该输入输出设备的资源分配给至少两个主机系统后,每一主机系统将可以直接使用该输入输出设备上相应的资源。即相当于每一台主机系统均具有一输入输出设备。
该预定的分配资源策略可以基于不同主机的系统的使用方式进行资源的分配。
其中,输入输出设备的资源包括处理能力、带宽中的至少一种。
其中,步骤802和步骤803为确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作的步骤的具体实现。
现有技术中,主机系统之间的输入输出设备共享是通过网络来实现的,从而导致处理延迟大,降低了数据交互的效率。而在本发明中,至少两个主机系统通过逻辑控制器与输入输出设备相连,逻辑控制器基于预先设定的分配策略确定输入输出设备在至少两个主机系统之间的资源分配,即通过逻辑控制器实现多个主机系统共享输入输出设备,相较于现有技术中主机系统之间通过网络共享输入输出设备而言,处理延时小,提高了处理效率。
本发明又一实施例公开了一种多主机处理方法,如图9所示,该方法包括以下步骤:
步骤901:检测是否接收到第一主机系统的第一虚拟机发送的携带有目标地址的第一消息;
其中,检测是否接收到第一主机系统的第一虚拟机发送的携带有目标地址的第一消息的步骤为检测是否满足触发条件的步骤的具体实现。
每一主机系统上设置有虚拟机,而不同主机系统设置虚拟机的数量本发明不做限定。
步骤902:确定与所述目的地址对应的第二主机系统的第二虚拟机;
步骤903:将所述第一消息发送给所述第二虚拟机。
该第一消息内可以携带有地址指针,地址指针用于指向第一主机的地址空间,使得第二主机系统能够从该地址空间内读取第一主机系统放入地址空间的数据。
当然,该第一消息中可以携带有控制命令,以实现第一主机系统对其他主机系统的控制。
其中,步骤902和步骤903为确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作的步骤的具体实现。
需说明的是,逻辑控制器可以设置有高速接口,如PCIe接口,该高速接口支持SRIOV(Single-root I/O virtualization,单根I/O虚拟化),不同的主机系统的虚拟机可以通过高速接口与逻辑控制器的虚拟机交换模块相连。
在现有技术中,不同主机系统之间的虚拟机的交互,即跨主机系统之间的虚拟机交互只能通过网络实现,例如,两个主机系统通过各自的网卡进行连接,那么一个主机系统的虚拟机发送的数据需先通过本地网卡传输出去,再通过另一个主机系统的网卡传输进去,显然处理延迟大,降低了数据传输效率。而在本发明中,多个主机系统通过逻辑控制器相连,即跨主机的虚拟机之间只需交互消息,无需交互数据,通过逻辑控制器实现多个主机系统之间的虚拟机交互,相较于现有技术中主机系统之间的虚拟机通过网络交互数据而言,处理延时小,提高了处理效率。
在本发明中,逻辑控制器可以设置有高速接口,主机系统通过高速接口与逻辑控制器相连;该高速接口可以为PCIe接口,当然还可以为其他接口。
该逻辑控制器为FPGA器件,当然还可以为其他能够实现上述功能的器件,本发明对此并不限定。
在本发明中,逻辑控制器上可以设置有级联通道,用于与其他逻辑控制器相连;其中,其他逻辑控制器连接有主机系统。
也就是说,通过该级联通道可以实现主机系统的扩展,当该逻辑控制器上的接口全部连接有主机系统后,可以通过级联通道与其他逻辑控制器相连,其他逻辑控制器上连接主机系统,从而实现主机系统的扩展,当然,本发明中的逻辑控制器的同样能够控制通过级联通道连接的其他主机系统。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的装置相对应,所以描述的比较简单,相关之处参见装置部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (13)

1.一种多主机处理系统,其特征在于,包括:
至少两个主机系统;
与所述主机系统相连的逻辑控制器;
所述逻辑控制器用于在满足触发条件时,确定与所述触发条件对应的消息;所述消息经由所述逻辑控制器的传输实现所述主机系统之间的协同工作。
2.根据权利要求1所述的系统,其特征在于,所述主机系统包括共享内存区;
所述逻辑控制器包括缓存区,所述缓存区用于分别映射到至少两个主机系统的所述共享内存区。
3.根据权利要求2所述的系统,其特征在于,所述逻辑控制器还包括第一控制模块;
所述第一控制模块用于基于所述缓存区控制所述主机系统之间进行数据交互。
4.根据权利要求3所述的系统,其特征在于,所述第一控制模块具体用于在第一主机系统向所述缓存区写入共享数据时,确定与所述第一主机系统具有映射关系的第二主机系统,并通知所述第二主机系统从所述缓存区读取所述共享数据。
5.根据权利要求1的系统,其特征在于,该系统还包括:
与所述逻辑控制器相连的输入输出设备;
所述逻辑控制器包括第二控制模块;
所述第二控制模块用于基于预先设定的分配策略确定所述输入输出设备在所述至少两个主机系统之间的资源分配。
6.根据权利要求1所述的系统,其特征在于,所述主机系统上设置有至少一个虚拟机;
所述逻辑控制器包括虚拟机交换模块;
其中,所述虚拟机交换模块用于控制不同主机系统之间的虚拟机的数据交互。
7.根据权利要求6所述的系统,其特征在于,所述虚拟机交换模块具体用于在接收到第一主机系统的第一虚拟机发送的携带有目标地址的第一消息时,确定与所述目标地址对应的第二主机系统的第二虚拟机,并将所述第一消息转发给所述第二虚拟机。
8.根据权利要求1所述的系统,其特征在于,所述逻辑控制器设置有高速接口,所述主机系统通过所述高速接口与所述逻辑控制器相连。
9.根据权利要求1-8任一项所述的系统,其特征在于,所述逻辑控制器上设置有级联通道,用于与其他逻辑控制器相连;
其中,所述其他逻辑控制器连接有主机系统。
10.一种多主机控制方法,其特征在于,应用于逻辑控制器中,至少两个主机系统与所述逻辑控制器相连,该方法包括:
检测是否满足触发条件;
若是,确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作。
11.根据权利要求10所述的方法,其特征在于,
所述检测是否满足触发条件,包括:检测第一主机系统是否向所述逻辑控制器的缓存区写入共享数据;其中,所述缓存区用于分别映射到至少两个主机系统的共享内存区;
相应的,所述确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作,包括:
生成通知消息;
将所述通知消息发送给所述第二主机系统,以通知所述第二主机系统从所述缓存区读取所述共享数据;其中,所述第二主机系统与所述第一主机系统具有映射关系。
12.根据权利要求10所述的方法,其特征在于,
所述检测是否满足触发条件,包括:检测所述逻辑控制器是否连接有输入输出设备;
相应的,所述确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作,包括:
生成资源分配消息;
将所述资源分配消息发送给所述主机系统,以使得所述主机系统基于所述资源分配消息获取所述输入输出设备的资源。
13.根据权利要求10所述的方法,其特征在于,所述检测是否满足触发条件,包括:
检测是否接收到第一主机系统的第一虚拟机发送的携带有目标地址的第一消息;
相应的,所述确定与所述触发条件对应的消息,通过向与所述逻辑控制器相连的至少两个主机系统传输所述消息控制所述主机系统之间的协同工作,包括:
确定与所述目的地址对应的第二主机系统的第二虚拟机;
将所述第一消息发送给所述第二虚拟机。
CN201710873782.3A 2017-09-25 2017-09-25 一种多主机处理系统和方法 Pending CN107656894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710873782.3A CN107656894A (zh) 2017-09-25 2017-09-25 一种多主机处理系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710873782.3A CN107656894A (zh) 2017-09-25 2017-09-25 一种多主机处理系统和方法

Publications (1)

Publication Number Publication Date
CN107656894A true CN107656894A (zh) 2018-02-02

Family

ID=61131331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710873782.3A Pending CN107656894A (zh) 2017-09-25 2017-09-25 一种多主机处理系统和方法

Country Status (1)

Country Link
CN (1) CN107656894A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531686A (zh) * 2019-09-28 2019-12-03 徐州可云智能科技有限公司 一种基于单主多从协议实现多主机的装置及其方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101089829A (zh) * 2007-08-01 2007-12-19 杭州华三通信技术有限公司 一种共享缓存系统及实现方法
CN101299757A (zh) * 2008-05-23 2008-11-05 华为技术有限公司 一种数据共享方法及通讯系统以及相关设备
CN102957619A (zh) * 2011-08-25 2013-03-06 清华大学 虚拟路由系统及方法
CN103455468A (zh) * 2012-11-06 2013-12-18 深圳信息职业技术学院 一种多gpu运算卡及多gpu之间的数据传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101089829A (zh) * 2007-08-01 2007-12-19 杭州华三通信技术有限公司 一种共享缓存系统及实现方法
CN101299757A (zh) * 2008-05-23 2008-11-05 华为技术有限公司 一种数据共享方法及通讯系统以及相关设备
CN102957619A (zh) * 2011-08-25 2013-03-06 清华大学 虚拟路由系统及方法
CN103455468A (zh) * 2012-11-06 2013-12-18 深圳信息职业技术学院 一种多gpu运算卡及多gpu之间的数据传输方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110531686A (zh) * 2019-09-28 2019-12-03 徐州可云智能科技有限公司 一种基于单主多从协议实现多主机的装置及其方法

Similar Documents

Publication Publication Date Title
EP3748510A1 (en) Network interface for data transport in heterogeneous computing environments
US8718065B2 (en) Transmission using multiple physical interface
CN107690622A (zh) 实现硬件加速处理的方法、设备和系统
CN103827842B (zh) 向控制器存储器空间写入消息
JP7010598B2 (ja) 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
CN105320628B (zh) 使能单根i/o设备多根共享的适配装置、系统及方法
CN104657308A (zh) 一种用fpga实现的服务器硬件加速的方法
CN107995129A (zh) 一种nfv报文转发方法和装置
CN105159841B (zh) 一种内存迁移方法及装置
CN106648896B (zh) 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
US8990451B2 (en) Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller
CN101540727A (zh) 一种ip报文的硬件分流方法
US8301805B2 (en) Managing I/O request in a storage system
CN102906726A (zh) 协处理加速方法、装置及系统
CN105765545B (zh) PCIe I/O设备共享方法及设备与互联系统
CN103763173A (zh) 数据传输方法和计算节点
CN103562895B (zh) 通过选择性聚合相邻数据单元来便于路由
EP2717533A1 (en) Method, network card and hard disk card for accessing to shut-down hard disk
CN106302322A (zh) 一种虚拟机数据流管理方法和系统
CN102567226A (zh) 数据访问的实现方法和装置
CN102316043A (zh) 端口虚拟化方法、交换机及通信系统
CN104978174A (zh) 多操作系统中网卡之间的切换方法和系统
US9471522B2 (en) Resource allocation by virtual channel management and bus multiplexing
CN103986585A (zh) 报文预处理方法及其装置
CN112445735A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180202

RJ01 Rejection of invention patent application after publication