CN103902498B - 一种面向异构计算的软件定义服务器系统及方法 - Google Patents

一种面向异构计算的软件定义服务器系统及方法 Download PDF

Info

Publication number
CN103902498B
CN103902498B CN201310694585.7A CN201310694585A CN103902498B CN 103902498 B CN103902498 B CN 103902498B CN 201310694585 A CN201310694585 A CN 201310694585A CN 103902498 B CN103902498 B CN 103902498B
Authority
CN
China
Prior art keywords
processor
control instruction
data
heterogeneous computing
module
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.)
Expired - Fee Related
Application number
CN201310694585.7A
Other languages
English (en)
Other versions
CN103902498A (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.)
Qufu Normal University
Original Assignee
Qufu Normal University
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 Qufu Normal University filed Critical Qufu Normal University
Priority to CN201310694585.7A priority Critical patent/CN103902498B/zh
Publication of CN103902498A publication Critical patent/CN103902498A/zh
Application granted granted Critical
Publication of CN103902498B publication Critical patent/CN103902498B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种面向异构计算的软件定义服务器系统及方法。所述软件定义异构多处理器系统,包括:通用处理器、异构计算处理器、软件定义控制器和外围设备。通用处理器负责执行控制平面的任务,包括执行并行程序的控制流程,对多处理器系统进行初始配置,提供通用计算能力;异构计算处理器(如GPGPU等处理器)负责执行并行程序的计算任务;软件定义控制器根据控制平面的控制指令,进行多处理器系统内各个部件(包括通用处理器、异构计算处理器、和外围设备)间在数据平面的数据交换;外围设备包括内存设备(DRAM内存等),存储设备(磁盘等)和网络设备(网卡)等。

Description

一种面向异构计算的软件定义服务器系统及方法
技术领域
本发明涉及并行多处理器系统领域,特别是涉及一种面向异构计算的软件定义服务器结构。
背景技术
当前主流的服务器多为SMP和ccNUMA结构,使用芯片组(Chipset)实现服务器内处理器和外围设备间的互连,而异构计算处理器(如GPGPU,Intel Xeon Phi,DSP等处理器)作为协处理器,被归于外围设备的范畴(外围计算设备)。在这种结构中,通用处理器与外围设备间的互连拓扑采用树形结构,通用处理器位于该树形拓扑的根,外围设备位于树形拓扑的叶子。然而叶子(外围设备)仅能与根(通用处理器)进行数据交换,叶子之间的数据交换只能通过根进行转发。因此,通用处理器除了负责整个服务器中的控制平面(ControlPlane),还要参与到所有的数据交换,即数据平面(Data Plane)。这一结构限制了异构计算处理器间,异构计算处理器与外围设备间的数据交换效率,也就是说,传统的服务器结构并不适合应用于异构计算领域。
此外,随着异构计算处理器种类的增多,不同类型异构计算处理器适合于不同的计算模式(如GPGPU适合于大规模的流式数据处理,网络处理器适合于网络数据处理,DSP适合信号处理),这就使得处理器间的协同处理模式更加复杂,复杂的协同处理模式就需要数据能够高效灵活地在处理器间传输,即数据可以在任意两个处理器间进行直接传输。
因此,面向异构计算的服务器需要消除通用处理器执行数据平面导致的性能瓶颈,需要实现数据在服务器内各部件间的直接传输。鉴于上述需求,本发明提出了将控制平面和数据平面分离的面向异构计算的软件定义服务器,由通用处理器的管理/应用软件来实现控制平面,控制平面通过动态配置一个软件定义控制器,实现对其他部件(包括异构计算处理器和外围设备)间的数据交换控制,而具体的数据交换流程均由软件定义控制器完成。
发明内容
本发明的目的在于提供一种面向异构计算的软件定义服务器,它将服务器的控制平面和数据平面分离,由通用处理器的管理/应用软件来实现控制平面,控制平面通过动态配置一个软件定义控制器,实现对其他部件(包括异构计算加速处理器和外围设备)间的数据交换控制,而具体的数据交换流程均由软件定义控制器完成。此外,可以根据不同应用计算模式的需要,改变控制平面发出的控制指令内容和依赖性,进而实现针对计算模式的处理流程及通信优化。
本发明的面向异构计算的软件定义服务器,包括:通用处理器,异构计算处理器,外围设备和软件定义控制器(Software Defined Controller)。
所述的通用处理器,其功能在于负责服务器中控制平面的运行,包括整个服务器的初始化配置、数据在各部件间的处理流程由其控制,但是对于特定计算模式,需要通用处理器进行计算的情况,通用处理器也会执行计算任务。通用处理器拥有私有的内存,用于控制平面的运行。本发明并不对通用处理器的指令集进行限定,可以是X86、MIPS、或ARM等,此外,本发明也不对通用处理器的数目进行限制。
所述异构计算处理器,其功能在于负责执行服务器中的计算任务。异构计算处理器拥有私有的内存,用于计算任务的执行。不同的异构计算处理器有其对应的数据处理模式,本发明并不对异构计算处理器的种类进行限定,可以是GPGPU、DSP或FPGA等,此外,本发明也不对异构计算处理器的数目进行限制。
所述外围设备,包括内存设备、存储设备和网络设备,其功能在于:分别实现本发明所述服务器中的数据缓存、文件存储和对外网络连接功能。其中,需要与通用处理器和异构计算处理器的私有内存进行区分的是,内存设备中的内存可被通用处理器和异构处理器共享使用。
所述软件定义控制器,其功能在于:响应控制平面的控制指令,对控制指令进行解析,并根据控制指令内容,进行各部件间的数据交换,其包括:控制平面端口模块、数据平面端口模块、全局地址映射表和数据平面交换模块。
所述软件定义控制器中的控制平面端口模块,其功能在于:实现与通用处理器中控制平面的接口,接收控制指令,并根据控制指令中的内容,将控制指令转发给对应的数据平面端口模块,此外,它还会执行属于自己的控制指令。相应地,该模块由接口控制器子模块、中央控制指令分发子模块、中央控制指令执行子模块组成。软件定义控制器仅为通用处理器设置控制平面端口模块。
所述软件定义控制器中的数据平面端口模块,其功能在于:实现与异构计算处理器、外围设备、数据平面交换模块间的接口,执行分发至该端口的控制指令,同时接收并执行与之相连接的异构计算处理器或外围设备发出的控制指令。相应地,该模块由接口控制器子模块、中央控制指令执行子模块、外设控制指令执行子模块组成。软件定义控制器为每个外围设备、每个异构计算处理器都设置一个数据平面端口模块。
所述软件定义控制器中的全局地址映射表,其功能在于将本发明所述服务器系统中的所有部件(包括通用处理器、异构计算处理器、外围设备)映射于单一的物理地址空间之内。
所述软件定义控制器中的数据平面交换模块,其功能在于:实现本发明所述服务器系统中所有部件中数据的交换,根据源端口(控制平面端口模块或数据平面端口模块)发出的数据传输目的端口号,将数据传输到对应的目的端口(控制平面端口模块或数据平面端口模块)。本发明并不限定该模块的实现方式,可以是交叉开关、多层交叉开关、或Mesh等。
所述控制平面端口模块和数据平面端口模块中的接口控制器子模块,其功能在于:实现与通用处理器、异构计算处理器、或外围设备的数据通路。该子模块实现的协议依据通用处理器、异构计算处理器或外围设备的接口类型而定,例如与GPGPU相互连的接口控制器子模块可采用PCIe协议。
所述控制平面端口模块和数据平面端口模块中的中央控制指令执行子模块,其功能在于:解析并执行通用处理器发出的控制指令,根据控制指令的内容,产生一系列对应的数据消息发往数据平面交换模块;接收数据平面交换模块发来的数据消息,将数据消息写入与其相连的通用处理器、异构计算处理器、或外围设备。
所述控制平面端口模块中的中央控制指令分发子模块,其功能在于:通过查询全局地址映射表,将来自通用处理器的控制指令分发到对应的数据平面端口模块。
所述数据平面端口模块中的外设控制指令执行子模块,其功能在于:解析异构计算处理器或外围设备发出的控制指令,根据控制指令的内容,产生一系列对应的数据消息发往数据平面交换模块。
为实现本发明的目的,本发明还提供控制平面通过使用控制指令,控制数据交换的方法,该方法分为两个子方法,一个是将控制指令分发到对应控制平面端口模块或数据平面端口模块的方法,另一个是控制平面端口模块或数据平面端口模块执行控制指令的方法。
将控制指令分发到对应控制平面端口模块或数据平面端口模块的方法,包括下列步骤:
步骤 110.当控制平面端口模块接收到控制指令后,从控制指令中获取目的地址域;
步骤 120.使用该目的地址查询全局地址映射表;
步骤 130.根据全局地址映射表输出的端口号,将该控制指令发送至对应的控制平面端口模块或数据平面端口模块。
控制平面端口模块或数据平面端口模块执行控制指令的方法,包括下列步骤:
步骤 210. 查看该指令是否能直接执行,如果可以,跳转至步骤 230,如果不是跳转至步骤 220;
步骤 220.查看该指令依赖的指令(根据依赖指令序号获取依赖指令状态)是否已经完成,如果已经完成,跳转至步骤 230,否则等待,回到开始状态;
步骤 230.根据指令中的源地址和长度,从与其相连的处理器或外围设备中读取需要传输的数据;
步骤 240. 使用指令中的目的地址,并根据数据平面交换模块的最大包长设定,将读取的数据打包为一系列数据消息;
步骤 250. 数据平面交换模块将这些数据消息转发至目的控制平面端口模块或数据平面端口模块;
步骤 260. 目的控制平面端口模块或数据平面端口模块将数据消息转换为与其相连的处理器或外围设备的接口协议消息;
步骤 270. 将转换后的接口协议消息发送至目的处理器或外围设备,并记录该指令的状态为已完成。
附图说明
图1是本发明的软件定义服务器结构框图;
图2是本发明的软件定义控制器结构框图;
图3是本发明的控制平面端口模块结构图;
图4是本发明的数据平面端口模块结构图;
图5是本发明的全局地址映射表结构图;
图6是本发明的控制指令格式图;
图7是本发明的数据消息格式图;
图8是本发明的控制平面端口模块的控制指令分发步骤流程图;
图9是本发明的数据平面端口模块的控制指令执行步骤流程图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种面向异构计算的软件定义服务器进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明的目的在于提供一种面向异构计算的软件定义服务器,它将服务器的控制平面和数据平面分离,由通用处理器的管理/应用软件来实现控制平面,控制平面通过动态配置一个软件定义控制器,实现对其他部件(包括异构计算加速处理器和外围设备)间的数据交换控制,而具体的数据交换流程均由软件定义控制器完成。最终根据不应用计算模式的需要,实现数据在各部件间的直接高效交换。
下面结合上述目的,详细说明的本发明的软件定义服务器,图1是本发明的软件定义服务器结构框图,包括:
通用处理器1,其功能在于负责服务器中控制平面的运行,包括整个服务器的初始化配置、数据在各部件间的处理流程由其控制。通用处理器拥有私有的内存,用于控制平面的运行。但是对于特定计算模式,需要通用处理器进行计算的情况,通用处理器也会执行计算任务。本发明并不对通用处理器的指令集进行限定,可以是X86、MIPS、或ARM等。图1中所示通用处理器数目为N, 但本发明不对通用处理器的数目进行限制。
异构计算处理器2,其功能在于负责执行服务器中的计算任务。异构计算处理器拥有私有的内存,用于计算任务的执行。不同的异构计算处理器有其对应的数据处理模式,本发明并不对异构计算处理器的种类进行限定,可以是GPGPU、DSP或FPGA等。图1中所示通用处理器数目为M,但本发明不对异构计算处理器的数目进行限制。
外围设备3,包括内存设备31、存储设备32和网络设备33。
内存设备31,其功能在于:实现本发明所述服务器中的数据缓存,其中,需要与通用处理器和异构计算处理器的私有内存进行区分的是,内存设备中的内存可被通用处理器和异构处理器共享使用。
存储设备32,其功能在于:实现本发明所述服务器中的文件存储。
网络设备33,其功能在于:实现本发明所述服务器对外网络连接功能。
软件定义控制器4,其功能在于:响应控制平面的控制指令,对控制指令进行解析,并根据控制指令内容,进行各部件间的数据交换。
软件定义控制器4的结构如图2所示(其中设备数目总和为P,但本发明不对设备的数目进行限制),包括:
控制平面端口模块41,其功能在于:实现与通用处理器中控制平面的接口,接收控制指令,并根据控制指令中的内容,将控制指令转发给对应的数据平面端口模块。控制平面端口模块对外仅于通用处理器互连。
数据平面端口模块42,其功能在于:实现与异构计算处理器、外围设备、数据平面交换模块间的接口,执行分发至该端口的控制指令,同时接收并执行与之相连接的异构计算处理器或外围设备发出的控制指令。软件定义控制器为每个外围设备、每个异构计算处理器都设置一个数据平面端口模块。
全局地址映射表43,其功能在于将本发明所述服务器系统中的所有部件(包括通用处理器、异构计算处理器、外围设备)映射于单一的物理地址空间之内,该表由一个通用处理器进行配置,由软件定义控制器中的其他模块共享读取。
数据平面交换模块 44,其功能在于:实现本发明所述服务器系统中所有部件中数据的交换,根据源端口(控制平面端口模块或数据平面端口模块)发出的数据传输目的端口号,将数据传输到对应的目的端口(控制平面端口模块或数据平面端口模块)。本发明并不限定该模块的实现方式,可以是交叉开关、多层交叉开关、或Mesh等。
控制平面端口模块41的结构如图3所示,包括:
接口控制器子模块411,其功能在于:实现与通用处理器、异构计算处理器、或外围设备的数据通路。该子模块实现的协议依据通用处理器、异构计算处理器或外围设备的接口类型而定,例如与GPGPU相互连的接口控制器子模块可采用PCIe协议。
中央控制指令执行子模块412,其功能在于:解析并执行通用处理器发出的控制指令,根据控制指令的内容,产生一系列对应的数据消息发往数据平面交换模块;接收数据平面交换模块发来的数据消息,将数据消息写入与其相连的通用处理器、异构计算处理器、或外围设备。
中央控制指令分发子模块413,其功能在于:通过查询全局地址映射表,将来自通用处理器的控制指令分发到对应的数据平面端口模块,图3中共M+P个数据平面端口模块与其互连,N-1个控制平面端口模块与其互连。
数据平面端口模块42的结构如图4所示,其中接口控制器子模块411和中央控制指令执行子模块412与控制平面端口模块中的相同,此外它还包含:
外设控制指令执行子模块421,其功能在于:解析异构计算处理器或外围设备发出的控制指令,根据控制指令的内容,产生一系列对应的数据消息发往数据平面交换模块。
全局地址映射表43,其结构如图5所示,它是一个查找表,存储的是服务器中每个部件(包括通用处理器、异构计算处理器、外围设备)所占用的物理地址范围,查找表由端口号索引,图5所示的端口号编码规则为通用处理器占第0 ~ N-1个表项,异构计算处理器占第N ~ N+M-1个表项,外围设备占第N+M ~ N+M+P-1个表项。
本发明中控制软件定义控制器工作的控制指令格式如图6所示,其中各个域含义如下:
1.控制者:记录产生该指令的处理器或外围设备号;
2.指令序号:指示该指令的指令序号,仅在其所在“控制者”范围内编号;
3. 源地址:该指令对应的数据交换的源地址,需强调的是,该地址与“控制者”无关,可以是任何部件的地址;
4. 目的地址:该指令对应的数据交换的目的地址,需强调的是,该地址与“控制者”无关,可以是任何部件的地址;
5. 长度:所要交换的数据长度;
6. 是否直接执行:该指令是否能够直接发出,如果能够直接发出,则忽略后面的“依赖指令序号”,如果不能直接发出,则检查“依赖指令序号”
7.依赖指令序号:限制执行该指令的条件,由期望的“控制者”和“指令序号”组成,当期望的指令未执行完毕,则该指令不能被执行。
当一条控制指令达到执行条件时,它将会被本发明中的中央控制指令执行子模块或外设控制指令执行子模块进行解析执行,根据其源地址、目的地址和长度,产生一系列的数据消息。数据消息的格式如图7所示,其中:
1.目的端口号:通过使用控制指令中的目的地址,查询本发明中的全局地址映射表获得;
2.目的数据地址:当前数据消息要被存入的目的地址;
3.长度:当前数据消息中数据负载的长度;
4.数据负载:携带的有效数据。
基于本发明的软件定义服务器结构、控制指令格式、数据消息格式,本发明的控制指令分发流程如图8所示,包括下列步骤:
步骤 110.当控制平面端口模块接收到控制指令后,从控制指令中获取目的地址域;
步骤 120.使用该目的地址查询全局地址映射表;
步骤 130.根据全局地址映射表输出的端口号,将该控制指令发送至对应的控制平面端口模块或数据平面端口模块。
基于本发明的软件定义服务器结构、控制指令格式、数据消息格式,本发明的控制指令执行流程如图9所示,包括下列步骤:
步骤 210. 查看该指令是否能直接执行,如果可以,跳转至步骤 230,如果不是跳转至步骤 220;
步骤 220.查看该指令依赖的指令(根据依赖指令序号获取依赖指令状态)是否已经完成,如果已经完成,跳转至步骤 230,否则等待,回到开始状态;
步骤 230.根据指令中的源地址和长度,从与其相连的处理器或外围设备中读取需要传输的数据;
步骤 240. 使用指令中的目的地址,并根据数据平面交换模块的最大包长设定,将读取的数据打包为一系列数据消息;
步骤 250. 数据平面交换模块将这些数据消息转发至目的控制平面端口模块或数据平面端口模块;
步骤 260. 目的控制平面端口模块或数据平面端口模块将数据消息转换为与其相连的处理器或外围设备的接口协议消息;
步骤 270. 将转换后的接口协议消息发送至目的处理器或外围设备,并记录该指令的状态为已完成。
本发明的有益效果在于:
1. 将控制平面和数据平面分离,通用处理器不再进行数据的转发,解决了SMP或ccNUMA传统服务器结构中异构计算处理器间,异构计算处理器与外围设备间的数据交换效率低下问题;
2.以网络交换方式实现数据平面,打破传统的树形拓扑结构,具有更好的扩展性;
3.通用处理器通过发出不同的控制指令,调整控制指令间依赖关系,即可实现对不同异构计算模式的支持,即可以通过对数据处理和交换流程的调整,实现对特定异构计算应用的性能优化;
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

Claims (3)

1.一种面向异构计算的软件定义服务器,其特征在于,所述软件定义服务器,包括:多个通用处理器,多个异构计算处理器,多个外围设备和软件定义控制器,其中:
(a)所述的通用处理器,其功能在于负责软件定义服务器中控制平面的运行,包括整个软件定义服务器的初始化配置、数据在各部件间的处理流程由其控制,但是对于特定计算模式,需要通用处理器进行计算的情况,通用处理器也会执行计算任务,通用处理器拥有私有的内存,用于控制平面的运行,通用处理器的指令集是X86、MIPS、或ARM;
(b)所述异构计算处理器,其功能在于负责执行软件定义服务器中的计算任务,异构计算处理器拥有私有的内存,用于计算任务的执行,不同的异构计算处理器有其对应的数据处理模式,异构计算处理器的种类是GPGPU、DSP 或FPGA;
(c)所述外围设备,包括内存设备、存储设备和网络设备,其功能在于:分别实现所述软件定义服务器中的数据缓存、文件存储和对外网络连接功能,其中,需要与通用处理器和异构计算处理器的私有内存进行区分的是,内存设备中的内存可被通用处理器和异构处理器共享使用;
(d)所述软件定义控制器,其功能在于:响应控制平面的控制指令,对控制指令进行解析,并根据控制指令内容,进行各部件间的数据交换;
所述软件定义控制器包括:控制平面端口模块、数据平面端口模块、全局地址映射表和数据平面交换模块,其中:
(a1)所述控制平面端口模块,其功能在于:实现与通用处理器中控制平面的接口,接收控制指令,并根据控制指令中的内容,将控制指令转发给对应的数据平面端口模块,此外,它还会执行属于自己的控制指令,软件定义控制器仅为通用处理器设置控制平面端口模块;
(b1)所述数据平面端口模块,其功能在于:实现与异构计算处理器、外围设备、数据平面交换模块间的接口,执行分发至该端口的控制指令,同时接收并执行与之相连接的异构计算处理器或外围设备发出的控制指令,软件定义控制器为每个外围设备、每个异构计算处理器都设置一个数据平面端口模块;
(c1)所述全局地址映射表,其功能在于将所述软件定义服务器中的所有部件映射于单一的物理地址空间之内,其中所述部件包括通用处理器、异构计算处理器、外围设备;
(d1)所述数据平面交换模块,其功能在于:实现所述软件定义服务器中所有部件中数据的交换,根据源端口发出的数据传输目的端口号,将数据传输到对应的目的端口,其中源端口和目的端口是控制平面端口模块或数据平面端口模块;所述数据平面交换模块的实现方式,是交叉开关、多层交叉开关、或Mesh;
所述控制平面端口模块,其包括:接口控制器子模块、中央控制指令分发子模块、中央控制指令执行子模块,其中:
(a2)所述接口控制器子模块,其功能在于:实现与通用处理器、异构计算处理器、或外围设备的数据通路,该子模块实现的协议依据通用处理器、异构计算处理器或外围设备的接口类型而定;
(b2)所述中央控制指令执行子模块,其功能在于:解析并执行通用处理器发出的控制指令,根据控制指令的内容,产生一系列对应的数据消息发往数据平面交换模块;接收数据平面交换模块发来的数据消息,将数据消息写入与其相连的通用处理器、异构计算处理器、或外围设备;
(c2)所述中央控制指令分发子模块,其功能在于:通过查询全局地址映射表,将来自通用处理器的控制指令分发到对应的数据平面端口模块;
所述数据平面端口模块,其包括:接口控制器子模块、中央控制指令执行子模块、外设控制指令执行子模块,其中:所述外设控制指令执行子模块,其功能在于:解析异构计算处理器或外围设备发出的控制指令,根据控制指令的内容,产生一系列对应的数据消息发往数据平面交换模块。
2.一种根据权利要求1所述的面向异构计算的软件定义服务器实现将控制指令分发到对应控制平面端口模块或数据平面端口模块的方法,所述方法,包括下列步骤:
(110)当控制平面端口模块接收到控制指令后,从控制指令中获取目的地址域;
(120)使用该目的地址查询全局地址映射表;
(130)根据全局地址映射表输出的端口号,将该控制指令发送至对应的控制平面端口模块或数据平面端口模块。
3.一种根据权利要求1所述的面向异构计算的软件定义服务器实现控制平面端口模块或数据平面端口模块执行控制指令的方法,所述方法,包括下列步骤:
(210)查看该指令是否能直接执行,如果可以,跳转至步骤 230,如果不是跳转至步骤220 ;
(220)查看该指令依赖的指令是否已经完成,根据依赖指令序号获取依赖指令状态,如果已经完成,跳转至步骤 230, 否则等待,回到开始状态;
(230)根据指令中的源地址和长度,从与其相连的处理器或外围设备中读取需要传输的数据;
(240)使用指令中的目的地址,并根据数据平面交换模块的最大包长设定,将读取的数据打包为一系列数据消息;
(250)数据平面交换模块将这些数据消息转发至目的控制平面端口模块或数据平面端口模块;
(260)目的控制平面端口模块或数据平面端口模块将数据消息转换为与其相连的处理器或外围设备的接口协议消息;
(270)将转换后的接口协议消息发送至目的处理器或外围设备,并记录该指令的状态为已完成。
CN201310694585.7A 2013-12-18 2013-12-18 一种面向异构计算的软件定义服务器系统及方法 Expired - Fee Related CN103902498B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310694585.7A CN103902498B (zh) 2013-12-18 2013-12-18 一种面向异构计算的软件定义服务器系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310694585.7A CN103902498B (zh) 2013-12-18 2013-12-18 一种面向异构计算的软件定义服务器系统及方法

Publications (2)

Publication Number Publication Date
CN103902498A CN103902498A (zh) 2014-07-02
CN103902498B true CN103902498B (zh) 2016-12-07

Family

ID=50993828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310694585.7A Expired - Fee Related CN103902498B (zh) 2013-12-18 2013-12-18 一种面向异构计算的软件定义服务器系统及方法

Country Status (1)

Country Link
CN (1) CN103902498B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956666B (zh) * 2016-04-29 2018-09-07 浪潮(北京)电子信息产业有限公司 一种机器学习方法及系统
CN108574708A (zh) * 2017-03-10 2018-09-25 晨宇创新股份有限公司 软件定义存储装置、系统与其存储方法
CN109802985B (zh) * 2017-11-17 2021-01-29 北京金山云网络技术有限公司 数据传输方法、装置、设备及可读取存储介质
CN112350959B (zh) * 2019-08-06 2022-12-02 杭州海康威视数字技术股份有限公司 一种可扩展机框设备
CN113220604B (zh) * 2021-05-31 2021-12-07 深圳华云信息系统有限公司 内存申请方法、装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728702A (zh) * 2004-07-29 2006-02-01 国家数字交换系统工程技术研究中心 一种将路由器的控制平面同数据平面的硬件相分离的方法
CN1783033A (zh) * 2004-11-19 2006-06-07 英特尔公司 共享公共高速缓存的异构处理器
CN101330390A (zh) * 2008-03-12 2008-12-24 武汉理工大学 基于多核网络处理器的慢速路径、快速路径及其接口设计方法
CN101546301A (zh) * 2009-05-05 2009-09-30 浪潮电子信息产业股份有限公司 一种由异构处理器组成协同计算机的方法
CN102446158A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器及多核处理器组

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443279B2 (en) * 2011-12-26 2016-09-13 Intel Corporation Direct link synchronization communication between co-processors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728702A (zh) * 2004-07-29 2006-02-01 国家数字交换系统工程技术研究中心 一种将路由器的控制平面同数据平面的硬件相分离的方法
CN1783033A (zh) * 2004-11-19 2006-06-07 英特尔公司 共享公共高速缓存的异构处理器
CN101330390A (zh) * 2008-03-12 2008-12-24 武汉理工大学 基于多核网络处理器的慢速路径、快速路径及其接口设计方法
CN101546301A (zh) * 2009-05-05 2009-09-30 浪潮电子信息产业股份有限公司 一种由异构处理器组成协同计算机的方法
CN102446158A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器及多核处理器组

Also Published As

Publication number Publication date
CN103902498A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
CN103902498B (zh) 一种面向异构计算的软件定义服务器系统及方法
CN105556496B (zh) 通过快捷外围组件互连高速(Peripheral Component Interconnect-Express,PCIe)进行的可扩展直接节点间通信的方法和装置
US8599863B2 (en) System and method for using a multi-protocol fabric module across a distributed server interconnect fabric
CN101853237B (zh) 片上系统及axi总线下的传输方法
CN103793342B (zh) 一种多通道直接内存存取dma控制器
CN103888293A (zh) 多通道fc网络数据仿真系统的数据通道调度方法
CN104820657A (zh) 一种基于嵌入式异构多核处理器上的核间通信方法及并行编程模型
CN102158435B (zh) 一种支持虚连接的基于can总线和以太网实时嵌入式网关
CN106844263B (zh) 一种基于可配置的多处理器计算机系统及实现方法
CN105765545B (zh) PCIe I/O设备共享方法及设备与互联系统
CN110442534A (zh) 用于相干消息的高带宽链路层
CN103023827A (zh) 一种虚拟化数据中心的数据转发方法及其实现设备
CN104657308A (zh) 一种用fpga实现的服务器硬件加速的方法
CN101739380B (zh) 基于共享内存结构的多处理机通信装置及其方法
CN104184663A (zh) 基于软件定义网络和一体化标识网络的通信方法和装置
CN105874758A (zh) 内存访问方法、交换机及多处理器系统
CN105095150A (zh) 一种支持片上网络的网络接口
WO2015117303A1 (zh) 一种虚拟设备访问方法及装置
CN103415062B (zh) 一种网络连接装置、无线路由器和网络连接方法
CN106662895A (zh) 计算机设备和计算机设备数据读写的方法
CN104461979A (zh) 基于环形总线的多核片上通信网络实现方法
WO2021244168A1 (zh) 片上系统、数据传送方法及广播模块
CN106484657A (zh) 一种可重构的信号处理器asic架构及其重构方法
US20230132724A1 (en) Broadcast adapters in a network-on-chip
CN110321374A (zh) 基于分布式网络的标准文件io操作系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161207

Termination date: 20171218