CN104123265A - 一种众核间通信方法及系统 - Google Patents
一种众核间通信方法及系统 Download PDFInfo
- Publication number
- CN104123265A CN104123265A CN201310150599.2A CN201310150599A CN104123265A CN 104123265 A CN104123265 A CN 104123265A CN 201310150599 A CN201310150599 A CN 201310150599A CN 104123265 A CN104123265 A CN 104123265A
- Authority
- CN
- China
- Prior art keywords
- service
- shared drive
- system service
- identifiers
- consumer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
Abstract
本发明适用于技术领域,提供了一种众核间通信方法,所述方法包括:服务管理进程向微内核操作系统申请共享内存,将微内核操作系统分配的共享内存映射到自己的虚拟地址空间;接收并记录注册的系统服务进程的服务标识和与服务标识对应的第二共享内存地址;根据系统服务请求所携带的服务标识,查找系统服务请求所携带服务标识对应的第二共享内存地址;将系统服务请求所携带服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送所述用户进程。通过本发明可以解决现有技术存在的,在微内核的众核架构下,用户进程和系统服务进程通信需要多次上下文切换的问题。
Description
技术领域
本发明属于计算机硬件技术领域,尤其涉及一种众核间通信方法及系统。
背景技术
微内核操作系统(英文:Microkernel Operating System)结构,是20世纪80年代后期发展起来的,由于有效地支持多处理机运行,非常适用于分布式系统环境。微内核是一种能够提供必要服务的操作系统内核,其中必要的服务包括任务、线程、进程间通信(英文:Inter Process Communication,简称:IPC)以及内存管理等。微内核的所有服务(包括设备驱动)在用户态下运行,而处理服务与处理其它程序一样,并且每个服务都在自己的地址空间中运行,服务彼此之间受到了保护。
图1是现有技术提供的微内核操作系统基于客户/服务器模型示意图,在图1中,用户进程和系统服务都与微内核连接,用户需要请求系统服务时,首先用户通过用户进程向所述微内核发送系统服务的请求信息,微内核响应接收到的请求信息,调度所请求信息对应的系统服务进程,系统服务处理完用户请求后,会发送消息给内核,最后内核响应接收到的消息,调度之前需要请求系统服务的用户进程。
在众核架构下,多个微内核实例同时存在,每个中央处理器(英文:CentralProcessing Unit,简称:CPU)运行一个独立的微内核实例,并且用户态的各个进程可以随意放置在各个微内核实例上运行。因此用户进程和系统服务进程可能不在同一个微内核上运行,此时两者之间的信息交换需要采用IPC核间通信机制。
图2是现有技术提供的众核架构用户进程与系统服务进程通信交互的一示意图,如图2所示,IPC核间通信需要在每个微内核上运行一个代理服务监控(英文:Monitor),Monitor负责管理微内核数据结构,以及协调核内和核间通信,并且系统启动完成后,系统中所有Monitor构成全连接,两两相连。同时Monitor采用一个数组维护本微内核上的服务列表,并且提供了每个服务在系统中全局唯一标识。
用户进程请求服务时,首先会发送消息给微内核,微内核调度Monitor运行,Monitor会根据消息内容来判断用户所请求系统服务是否在同一微内核上,若否,则根据图2所示处理,即本地Monitor会发送消息给所请求系统服务所在的微内核上的Monitor,此过程的消息通信是采用IPC核间通信机制,然后远程Monitor发送消息给所述远程Monitor所在的微内核,微内核调度目标服务进程;目标服务处理完消息后,发送消息给微内核,然后微内核调度Monitor,Monitor通过IPC核间通信将消息发送给所需要系统服务的微内核上的Monitor,Monitor再发送消息给微内核,最后微内核调度用户进程,从而完成一次用户进程和服务进程不在同一个微内核上的请求和响应的调度过程。
从图1和图2可以看出,当用户进程和系统服务进程都在同一微内核上时,至少需要四次上下文切换,即四次消息交换过程。
图3是现有技术提供的众核架构用户进程与系统服务进程通信交互的另一示意图,图3示出了当用户进程与系统服务进程不在同一微内核上时,至少需要八次上下文切换和两次IPC核间通信,如果系统服务进程不能处理用户进程请求而需要调用其他服务时,则需要更多次数的上下文切换和核间通信,而早期的宏内核(英文:MonolithicKernel,简称:Mono Kernel)操作系统中,仅需要两次上下文切换。
因此现有技术存在的问题是,在微内核的众核架构下,用户进程和系统服务进程通信需要多次上下文切换,微内核操作系统效率很低。
发明内容
本发明实施例提供一种众核间通信方法,以解决现有技术在微内核的众核架构下,用户进程和服务进程通信需要多次上下文切换,微内核操作系统效率很低的问题。
第一方面,所述众核间通信方法包括:
服务管理Service Manager进程向微内核操作系统申请共享内存,将所述微内核操作系统分配的第一共享内存映射到所述Service Manager进程的虚拟地址空间;ServiceManager进程接收系统服务进程的注册消息,记录所述注册消息所携带的所述系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;Service Manager进程向所述系统服务进程发送所述注册消息的响应消息,所述响应消息携带第一共享内存地址;Service Manager进程接收用户进程的系统服务请求,根据所述系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址;Service Manager进程将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送给所述用户进程,以使得所述用户进程把所述第一共享内存地址对应的第一共享内存和所述第二共享内存地址对应的第二共享内存映射到用户进程的虚拟地址空间。
在第一方面的第一种可能的实现方式中,在所述Service Manager进程接收系统服务进程的注册消息之前还包括:
Service Manager进程通过本地代理服务监控Monitor向所有远程Monitor发送Service Manager进程的启动消息,所述启动消息携带第一共享内存地址,以使得所述所有远程Monitor将所述第一共享内存地址对应的第一共享内存映射到所述所有远程Monitor的虚拟地址空间,建立Service Manager进程和所述所有远程Monitor的连接;
所述所有远程Monitor包括用户进程的Monitor和系统服务进程的Monitor;
所述Service Manager进程接收系统服务进程的注册消息,包括:
所述Service Manager进程通过系统服务进程的Monitor接收系统服务进程的注册消息;
所述Service Manager进程向所述系统服务进程发送所述注册消息的响应消息,包括:
所述Service Manager进程通过系统服务进程的Monitor向所述系统服务进程发送所述注册消息的响应消息;
所述Service Manager进程接收用户进程的系统服务请求,包括:
所述Service Manager进程通过用户进程的Monitor接收用户进程的系统服务请求;
所述Service Manager进程将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送给所述用户进程,包括:
所述Service Manager进程通过用户进程的Monitor将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址。
在第一方面的第二种可能的实现方式中,所述方法包括:
当系统服务进程迁移至目标微内核时,Service Manager进程接收并记录系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
Service Manager进程接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找到所述系统服务请求所携带的服务标识对应的第三共享内存地址;
Service Manager进程将所述第三共享内存地址发送至用户进程,以使得用户进程将所述第三共享内存地址对应的第三共享内存映射到用户进程的虚拟地址空间;
Service Manager进程将用户进程的系统服务请求转发给系统服务进程,以使得系统服务进程处理所述用户进程的系统服务请求并将处理结果发送至用户进程。
第二方面,所述众核间通信方法包括:
系统服务进程向微内核操作系统申请共享内存,将微内核操作系统分配的第二共享内存映射到自己的虚拟地址空间;
系统服务进程向Service Manager进程发送注册消息,所述注册消息携带系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
系统服务进程接收所述Service Manager进程发送的注册消息的响应消息,并将所述响应消息携带的第一共享内存地址对应的第一共享内存对应映射到所述系统服务进程的虚拟地址空间。
在第二方面的第一种可能的实现方式中,所述方法还包括:
当系统服务进程迁移至目标微内核时,系统服务进程向微内核操作系统申请共享内存,将所述微内核操作系统分配的第三共享内存映射到自己的虚拟地址空间;
系统服务进程将系统服务进程的服务标识和所述服务标识对应的第三共享内存地址发送至Service Manager进程。
第三方面,一种众核间通信系统,所述通信系统包括:
映射单元,用于向微内核操作系统申请共享内存,将所述微内核操作系统分配的第一共享内存映射到Service Manager进程的虚拟地址空间;
接收单元,用于接收系统服务进程的注册消息,记录所述注册消息所携带的所述系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
响应单元,用于向所述系统服务进程发送注册消息的响应消息,所述响应消息携带第一共享内存地址;
接收单元,还用于接收用户进程的系统服务请求,根据所述系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址;
发送单元,用于将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至所述用户进程,以使得所述用户进程把所述第一共享内存地址对应的第一共享内存和第二共享内存地址对应的第二共享内存映射到用户进程的虚拟地址空间。
在第三方面的第一种可能的实现方式中,
所述发送单元还用于:
通过本地代理服务监控Monitor向所有远程Monitor发送Service Manager进程的启动消息,所述启动消息携带第一共享内存地址,以使得所述所有远程Monitor将所述第一共享内存地址对应的第一共享内存映射到所述所有远程Monitor的虚拟地址空间,建立Service Manager进程和所述所有远程Monitor的连接;
所述所有远程Monitor包括用户进程的Monitor和系统服务进程的Monitor;
所述接收单元具体用于:通过所述系统服务进程的Monitor接收系统服务进程的注册消息,记录所述注册消息所携带的所述系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;以及,
通过所述用户进程的Monitor接收用户进程的系统服务请求,根据所述系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址;
所述响应单元具体用于:通过所述系统服务进程的Monitor向所述系统服务进程发送所述注册消息的响应消息;
所述发送单元具体用于:通过所述用户进程的Monitor将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至所述用户进程。
在第三方面的第二种可能的实现方式中,
所述接收单元,还用于当系统服务进程迁移至目标微内核时,Service Manager进程接收并记录系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
所述接收单元,还用于接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找到所述服务标识对应的第三共享内存地址;
所述发送单元,还用于将所述第三共享内存地址发送至用户进程,以使得用户进程将所述第三共享内存地址对应的第三共享内存映射到用户进程的虚拟地址空间;
所述发送单元,还用于将用户进程的系统服务请求转发给系统服务进程,以使得系统服务进程处理所述用户进程的系统服务请求并将处理结果发送至用户进程。
第四方面,一种众核间通信系统,所述通信系统包括:
映射单元,用于向微内核操作系统申请共享内存,将微内核操作系统分配的第二共享内存映射到自己的虚拟地址空间;
发送单元,用于向Service Manager进程发送注册消息,所述注册消息携带系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
接收单元,用于接收注册消息的响应消息,所述响应消息携带第一共享内存地址,将所述第一共享内存地址对应的第一共享内存映射到系统服务进程的虚拟地址空间。
在第四方面的第一种可能的实现方式中,
所述映射单元,还用于当系统服务进程迁移至目标微内核时,向微内核操作系统申请共享内存地址,将微内核操作系统分配的第三共享内存地址对应的第三共享内存映射到自己的虚拟地址空间;
所述发送单元,还用于将系统服务进程的服务标识和所述服务标识对应的第三共享内存地址发送至Service Manager进程。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的微内核操作系统基于客户/服务器模型示意图;
图2是现有技术提供的众核架构用户进程与系统服务进程通信交互的一示意图;
图3是现有技术提供的众核架构用户进程与系统服务进程通信交互的另一示意图;
图4是本发明一实施例提供的众核间通信方法所适用的场景示意图;
图5是本发明另一实施例提供的众核间通信方法的实现流程图;
图6是本发明另一实施例提供的众核间通信方法的实现流程图;
图7是本发明另一实施例提供的操作共享内存方法的示意图;
图8是本发明另一实施例提供的众核间通信系统的组成结构图;
图9是本发明另一实施例提供的众核间通信系统的组成结构图;
图10是本发明另一实施例提供的网络设备的组成结构图;
图11是本发明另一实施例提供的网络设备的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图4示出了本发明一实施例提供的众核间通信方法所适用的场景。
在本实施例中,所有的微内核使用同一微内核操作系统,在系统中指定一特定的微内核,以单核单线程的方式运行特定的服务管理(英文:Service Manager)进程,用来系统提供的所有服务,并管理用户所请求的系统服务进程与用户进程之间建立通信连接,用户进程包括用户进程A和用户进程B,系统服务进程包括:进程服务、设备驱动、文件服务、虚拟内存和其它服务。
在本实施例中,当一个系统服务进程调用另外一个系统服务进程时,主动调用的系统服务进程作为用户进程,而被调用的进程作为系统服务进程。
每个微内核上运行一个代理服务Monitor,所有的Monitor之间可以建立全连接,即所有的Monitor之间两两连接。
图5示出了本发明一实施例提供的众核间通信方法的实现流程,该实施例的执行主体是Service Manager,该方法过程详述如下:
在步骤S501中,Service Manager进程向微内核操作系统申请共享内存,将微内核操作系统分配的第一共享内存映射到Service Manager进程的虚拟地址空间。
需要说明的是,在Service Manager进程启动时,会向微内核操作系统申请共享内存,上述微内核操作系统是Service Manager进程所在微内核使用的操作系统。
在本文中,“第一”、“第二”和“第三”并不指代先后顺序,而是用于区分共享内存和共享内存地址,所述第一共享内存是微内核操作系统内存管理模块为ServiceManager进程分配的共享内存,第一共享内存的地址为第一共享内存地址。
在本实施例中,Service Manager进程、系统服务进程和用户进程位于同一处理器的不同微内核或者位于多个不同处理器的微内核。
如表1所示,微内核操作系统内存管理模块会将线性内存地址分成3部分,包括:内核空间、用户空间和共享内存空间,共享内存空间是从0xf…f开始分配,并且第一块的特定共享内存区域是专门分配给Service Manager进程使用的,剩余的共享内存空间分配给系统服务进程。系统服务进程启动后向微内核操作系统申请一块固定大小的内存,这里称为系统服务进程的共享内存,也就是第二共享内存,或者系统服务进程迁移至目标微内核后,系统服务进程重新向微内核操作系统申请一块固定大小的内存,这里也称为系统服务进程的共享内存,也就是第三共享内存。
表1
在步骤S502中,Service Manager进程接收系统服务进程的注册消息,记录所述注册消息所携带的系统服务进程的服务信息和第二共享内存地址。
在本实施例中,系统服务进程启动完成后,首先向微内核操作系统申请系统服务进程的共享内存地址,也就是第二共享内存地址,然后向Service Manager进程进行注册,注册时把系统服务进程的服务信息和所述第二共享内存地址发送给ServiceManager进程,所述服务信息包括服务标识,所述服务标识与第二共享内存地址对应。
需要说明的是,服务标识用于区分不同的系统服务进程,这里服务标识可以用数字、字母或者其它方式来实现。系统服务进程的服务标识和第二共享内存地址是对应关系,每个系统服务进程都有对应服务标识,每个系统服务进程都有被分配的第二共享内存,所述第二共享内存的地址为第二共享内存地址,因此系统服务进程的服务标识和第二共享内存地址是一一对应的关系,Service Manager进程记录系统服务进程的服务标识和所述服务标识对应的第二共享内存地址。
具体地,Service Manager进程接收系统服务进程的注册消息的实现方式包括:
方式一:系统服务进程的Monitor从系统服务进程接收系统服务进程的注册消息,Service Manager进程的Monitor从系统服务进程的Monitor接收系统服务进程的注册消息,Service Manager进程从Service Manager进程的Monitor接收系统服务进程的注册消息;
方式二:Service Manager进程通过系统服务进程的Monitor接收系统服务进程的注册消息。
需要说明的是,方式二省略了Service Manager进程的Monitor这一中间环节,效率更高。
在步骤S503中,Service Manager进程向系统服务进程发送注册消息的响应消息,所述响应消息携带第一共享内存地址。
在本实施例中,系统服务进程根据第一共享内存地址,将第一共享内存映射到自己的虚拟地址空间,可以实现Service Manager进程与系统服务进程直接通信。
具体地,Service Manager进程向系统服务进程发送注册消息的响应消息的实现方式包括:
方式一:Service Manager进程向Service Manager进程的Monitor发送所述注册消息的响应消息,Service Manager进程的Monitor向系统服务进程的Monitor发送所述注册消息的响应消息,系统服务进程的Monitor将所述注册消息的响应消息发送给系统服务进程;
方式二:Service Manager进程通过系统服务进程的Monitor向系统服务进程发送所述注册消息的响应消息。
需要说明的是,方式二是Service Manager进程直接与系统服务进程的Monitor进行通信,省略了Service Manager进程的Monitor这一中间环节。
在步骤S504中,Service Manager进程接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址。
具体地,Service Manager进程接收用户进程的系统服务请求的实现方式包括:
方式一:用户进程的Monitor从用户进程接收所述用户进程的系统服务请求,Service Manager进程的Monitor从用户进程的Monitor接收所述用户进程的系统服务请求,Service Manager进程从Service Manager进程的Monitor接收所述用户进程的系统服务请求;
方式二:Service Manager进程通过用户进程的Monitor接收用户进程的系统服务请求。
需要说明的是,方式二是Service Manager进程直接与用户进程进行通讯,省略了Service Manager进程的Monitor这一中间环节。
在步骤S505中,Service Manager进程将所述服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至所述用户进程,以使得所述用户进程把所述第一共享内存地址对应的第一共享内存和第二共享内存地址对应的第二共享内存映射到用户进程的虚拟地址空间。
需要说明的是,发送服务标识至用户进程的目的是,为了让用户进程能够区分第一共享内存地址和第二共享内存地址。
在本实施例中,用户进程接收第一共享内存地址和第二共享内存地址,根据所述第一共享内存地址和第二共享内存地址,将第一共享内存和第二共享内存映射到自己的虚拟地址空间,实现了用户进程可以直接与Service Manager进程和系统服务进程直接通信,解决了现有技术中用户进程和系统服务进程通信需要多次上下文切换的问题。
具体地,用户进程与系统服务进程通信的实现方式如表2所示,每个系统服务进程的共享内存存储的消息分为两部分,包括头部和消息体,头部用于设置系统服务的标识,消息体部分包括分配位图、准备位图和消息块,分配位图用于表示消息块处于空闲状态或者被使用,准备位图用于表示消息块是否准备好被处理的消息。
每次用户请求服务时,首先查询分配位图来申请一个空闲的消息块,申请成功后修改分配位图中对应的标识位,并且操作该消息块填写消息内容,同时也修改准备位图对应的标识位。系统服务进程查询到准备位图有标识位的消息块,读取该消息块中的内容,提供服务,完成后复位分配位图和准备位图中对应的标识位。
表2
具体地,Service Manager进程将所述服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至所述用户进程的实现方式包括:
方式一:Service Manager进程将所述服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至Service Manager进程的Monitor,Service Manager进程的Monitor将所述服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至用户进程的Monitor,用户进程的Monitor将所述服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至用户进程。
方式二:Service Manager进程将所述服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至用户进程的Monitor,用户进程的Monitor将所述服务标识、第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至用户进程。
可选的,在步骤所述S501之后,在步骤S502之前还包括:
Service Manager进程通过本地代理服务Monitor向所有远程Monitor发送ServiceManager进程启动消息,所述启动消息携带第一共享内存地址,以使得所述所有远程Monitor将所述第一共享内存地址对应的第一共享内存映射到所述所有远程Monitor的虚拟地址空间,建立Service Manager进程和所述所有远程Monitor的连接;
所述所有远程Monitor包括用户进程的Monitor和系统服务进程的Monitor;
所述Service Manager进程接收系统服务进程的注册消息具体为所述ServiceManager进程通过系统服务进程的Monitor接收系统服务进程的注册消息;
所述Service Manager进程向所述系统服务进程发送所述注册消息的响应消息具体为所述Service Manager进程通过系统服务进程的Monitor向所述系统服务进程发送所述注册消息的响应消息;
所述Service Manager进程接收用户进程的系统服务请求具体为所述ServiceManager进程通过用户进程的Monitor接收用户进程的系统服务请求;
所述Service Manager进程将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送给所述用户进程具体为所述Service Manager进程通过用户进程的Monitor将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址。
在本实施例中,通过上述方法,使得Service Manager进程向系统服务进程发送消息或者从系统服务进程接收消息都直接通过系统服务进程的Monitor,Service Manager进程向用户进程发送消息或者从用户进程接收消息都直接通过用户进程的Monitor。
在本实施例中,通过上述方法使得Service Manager进程直接与用户进程的Monitor和系统服务进程的Monitor通信,避免每次用户进程和系统服务进程与Service Manager进程通信还必须通过Service Manager进程的Monitor,提高了系统的通信效率。
可选的,所述方法还包括:
当系统服务进程迁移至目标微内核时,Service Manager进程接收并记录系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
Service Manager进程接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找到所述服务标识对应的第三共享内存地址;
Service Manager进程将所述第三共享内存地址发送至用户进程,以使得用户进程将所述第三共享内存地址对应第三共享内存映射到用户进程的虚拟地址空间;
Service Manager进程将用户进程的系统服务请求转发给系统服务进程,以使得系统服务进程处理所述用户进程的系统服务请求并将处理结果发送至用户进程。
在本实施例中,系统服务进程发生迁移时,系统服务进程的服务标识不变,但是系统服务进程需要通过迁移后的目标微内核,向微内核操作系统重新申请系统服务进程的共享内存,也就是上述的第三共享内存,第三共享内存的地址为第三共享内存地址,这里的第三共享内存地址是为了与原有的第二共享内存地址进行区分。
在本实施例中,当系统服务进程迁移时,用户进程不能根据原有的第二共享内存地址与系统服务进程进行通信,而是将系统服务请求发送给Service Manager进程,由Service Manager进程查询到系统服务进程更新注册的第三共享内存地址,将第三共享内存地址发送给用户进程,使得用户进程可以直接与迁移后的系统服务进程进行通信,Service Manager进程将用户的系统服务请求转发给迁移后的系统服务进程,通过简单的步骤就可以实现用户进程与迁移后的系统服务进程进行通信。
图6示出了本发明另一实施例提供的众核间通信方法的实现流程,该实施例的执行主体是系统服务进程,该方法过程详述如下:
在步骤S601中,系统服务进程向微内核操作系统申请共享内存,将微内核操作系统分配的第二共享内存映射到自己的虚拟地址空间。
需要说明的是,微内核操作系统是指系统服务进程所在微内核使用的操作系统。
在步骤S602中,系统服务进程向Service Manager进程发送注册消息,所述注册消息携带系统服务进程的服务信息和第二共享内存地址。
在本实施例中,系统服务进程的服务信息包括系统服务进程的服务标识,且服务标识与第二共享内存地址对应。
在步骤S603中,系统服务进程接收注册消息的响应消息,所述响应消息携带第一共享内存地址,将所述第一共享内存地址对应的第一共享内存映射到系统服务进程的虚拟地址空间。
可选的,所述方法还包括:
当系统服务进程迁移至目标微内核时,系统服务进程向微内核操作系统申请共享内存,将所述微内核操作系统分配的第三共享内存映射到自己的虚拟地址空间;
系统服务进程将系统服务进程的服务标识和服务标识对应的第三共享内存地址发送至Service Manager进程。
图7示出了本发明另一实施例提供的操作共享内存方法,该方法详述如下:
微内核操作系统提供了一个libc来操作系统共享内存,本发明提供了一套应用程序编程接口(英文:Application Programming Interface,简称:API)来实现微内核操作系统操作共享内存的方法。
用户进程、Monitor、系统服务进程和Service Manager进程分别将Service Manager进程的共享内存,也就是第一共享内存映射自己的虚拟地址空间,使得Service Manager进程可以直接和用户进程、Monitor以及系统服务进程通信。
需要说明的是,这里的Monitor指上述所有远程Monitor。
用户进程和系统服务进程将系统服务进程的共享内存,也就是第二共享内存或者是第三共享内存,分别映射到自己虚拟地址空间,使得用户进程和系统服务进程可以直接通信。
图8示出了本发明另一实施例提供的众核间通信系统的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该众核间通信系统包括:
映射单元81,用于向微内核操作系统申请共享内存,将微内核操作系统分配的第一共享内存映射到Service Manager进程的虚拟地址空间。
接收单元82,用于接收系统服务进程的注册消息,记录所述注册消息所携带的系统服务进程的服务信息和第二共享内存地址。
响应单元83,用于向所述系统服务进程发送注册消息的响应消息,所述响应消息携带第一共享内存地址。
所述接收单元82,还用于接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找所述服务标识对应的第二共享内存地址。
发送单元84,用于将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至所述用户进程,以使得所述用户进程把所述第一共享内存地址对应的第一共享内存和第二共享内存对应的第二共享内存映射到用户进程的虚拟地址空间。
可选的,所述发送单元84还用于:
通过本地代理服务Monitor向所有远程Monitor发送Service Manager进程的启动消息,所述启动消息携带第一共享内存地址,以使得所述所有远程Monitor将所述第一共享内存地址对应的第一共享内存映射到所述所有远程Monitor的虚拟地址空间,建立Service Manager进程和所述所有远程Monitor的连接;
所述所有远程Monitor包括用户进程的Monitor和系统服务进程的Monitor。
可选的,
所述接收单元82,还用于当系统服务进程迁移至目标微内核时,Service Manager进程接收并记录系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
所述接收单元82,还用于接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找所述服务标识对应的第三共享内存地址;
所述发送单元84,还用于将所述第三共享内存地址发送至用户进程,以使得用户进程将所述第三共享内存地址对应的第三共享内存映射到用户进程的虚拟地址空间;
所述发送单元84,还用于将用户进程的系统服务请求转发给系统服务进程,以使得系统服务进程处理所述用户进程的系统服务请求并将处理结果发送至用户。
本实施例提供的众核间通信系统可以使用在前述对应的众核间通信方法,详情参见上述众核间通信方法图5对应的实施例的相关描述,在此不再赘述。
图9示出了本发明另一实施例提供的众核间通信系统的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该众核间通信系统包括:
映射单元91,用于向微内核操作系统申请系统服务共享内存,将微内核操作系统分配的第二共享内存映射到自己的虚拟地址空间。
发送单元92,用于向Service Manager进程发送注册消息,所述注册消息携带系统服务进程的服务信息和服务标识对应的第二共享内存地址。
接收单元93,用于接收注册消息的响应消息,所述响应消息携带第一共享内存地址,将所述第一共享内存地址对应的第一共享内存映射到系统服务进程的虚拟地址空间。
可选的,
所述映射单元91,还用于当系统服务进程迁移至目标微内核时,向微内核操作系统申共享内存地址,将微内核操作系统分配的第三共享内存地址对应的第三共享内存映射到自己的虚拟地址空间;
所述发送单元92,还用于将系统服务进程的服务标识和所述服务标识对应的第三共享内存地址发送至Service Manager进程。
本实施例提供的众核间通信系统可以使用在前述对应的众核间通信方法,详情参见上述众核间通信方法图6对应的实施例的相关描述,在此不再赘述。
图10示出了本发明另一实施例提供的网络设备的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该网络设备包括处理器1001、存储器1002、通信接口1003和总线1004。
处理器1001、存储器1002、通信接口1003通过总线1004相互连接;总线1004可以是工业标准架构体系(英文:Industry Standard Architecture,简称:ISA)总线或外围组件互联(英文:Peripheral Component Interconnect,简称:PCI)总线等。
上述的处理器1001是多内核通用处理器或者是多个处理器,包括中央处理器(英文:Central Processing Unit,简称CPU)、网络处理器(英文:Network Processor,简称NP)等。
所述处理器1001用于:
控制Service Manager进程向微内核操作系统申请共享内存,将微内核操作系统分配的第一共享内存映射到Service Manager进程的虚拟地址空间;
控制系统服务进程向Service Manager进程发送系统服务进程的注册消息;
控制Service Manager进程接收并记录所述注册消息所携带的系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
控制Service Manager进程向所述系统服务进程发送所述注册消息的响应消息,所述响应消息携带第一共享内存地址;
控制用户进程向Service Manager进程发送系统服务请求;
控制Service Manager进程根据所述系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址;
控制Service Manager进程将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送所述用户进程;
控制用户进程把所述第一共享内存地址对应的第一共享内存和所述第二共享内存地址对应的第二共享内存映射到用户进程的虚拟地址空间。
可选的,所述处理器1001还用于:
控制Service Manager进程通过本地代理服务监控Monitor向所有远程Monitor发送Service Manager进程的启动消息,所述启动消息携带第一共享内存地址;
控制所述所有远程Monitor将所述第一共享内存地址对应的第一共享内存映射到所述所有远程Monitor的虚拟地址空间,建立Service Manager进程和所述所有远程Monitor的连接;
所述所有远程Monitor包括用户进程的Monitor和系统服务进程的Monitor。
可选的,所述控制器1001还用于:
当系统服务进程迁移至目标微内核时,控制系统服务进程向Service Manager进程发送系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
控制Service Manager进程接收并记录系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
控制Service Manager进程将所述第三共享内存地址发送至用户进程,以使得用户进程将所述第三共享内存地址对应的第三共享内存映射到用户进程的虚拟地址空间;
控制Service Manager进程将用户进程的系统服务请求转发给系统服务进程;
控制系统服务进程处理所述用户进程的系统服务请求,并将处理结果发送至用户进程。
图11示出了本发明另一实施例提供的网络设备的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该网络设备包括处理器1101、存储器1102、通信接口1103和总线1104。
处理器1101、存储器1102、通信接口1103通过总线1104相互连接;总线1104可以是工业标准架构体系(英文:Industry Standard Architecture,简称:ISA)总线或外围组件互联(英文:Peripheral Component Interconnect,简称:PCI)总线等。
上述的处理器1101是多内核通用处理器或者多个处理器,包括中央处理器(英文:Central Processing Unit,简称CPU)、网络处理器(英文:Network Processor,简称NP)等。
所述处理器1101用于:
控制系统服务进程向微内核操作系统申请共享内存,将微内核操作系统分配的第二共享内存映射到自己的虚拟地址空间;
控制系统服务进程向Service Manager进程发送注册消息,所述注册消息携带系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
控制Service Manager进程处理系统服务进程的注册消息,并向系统服务进程发送注册消息的响应消息,所述响应消息携带第一共享内存地址;
控制系统服务进程接收所述响应消息,将所述第一共享内存地址对应的第一共享内存对应映射到系统服务进程的虚拟地址空间。
可选的,所述处理器1101还用于:
当系统服务进程迁移至目标微内核时,控制系统服务进程向微内核操作系统申请共享内存,将所述微内核操作系统分配的第三共享内存映射到自己的虚拟地址空间;
控制系统服务进程将系统服务进程的服务标识和所述服务标识对应的第三共享内存地址发送至Service Manager进程。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于可读取存储介质中,所述的存储介质,包括ROM/RAM等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种众核间通信方法,其特征在于,所述方法包括:
服务管理Service Manager进程向微内核操作系统申请共享内存,将所述微内核操作系统分配的第一共享内存映射到所述Service Manager进程的虚拟地址空间;
Service Manager进程接收系统服务进程的注册消息,记录所述注册消息所携带的所述系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
Service Manager进程向所述系统服务进程发送所述注册消息的响应消息,所述响应消息携带第一共享内存地址;
Service Manager进程接收用户进程的系统服务请求,根据所述系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址;
Service Manager进程将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送给所述用户进程,以使得所述用户进程把所述第一共享内存地址对应的第一共享内存和所述第二共享内存地址对应的第二共享内存映射到用户进程的虚拟地址空间。
2.如权利要求1所述的方法,其特征在于,在所述Service Manager进程接收系统服务进程的注册消息之前,还包括:
Service Manager进程通过本地代理服务监控Monitor向所有远程Monitor发送Service Manager进程的启动消息,所述启动消息携带第一共享内存地址,以使得所述所有远程Monitor将所述第一共享内存地址对应的第一共享内存映射到所述所有远程Monitor的虚拟地址空间,建立Service Manager进程和所述所有远程Monitor的连接;
所述所有远程Monitor包括用户进程的Monitor和系统服务进程的Monitor;
所述Service Manager进程接收系统服务进程的注册消息,包括:
所述Service Manager进程通过系统服务进程的Monitor接收系统服务进程的注册消息;
所述Service Manager进程向所述系统服务进程发送所述注册消息的响应消息,包括:
所述Service Manager进程通过系统服务进程的Monitor向所述系统服务进程发送所述注册消息的响应消息;
所述Service Manager进程接收用户进程的系统服务请求,包括:
所述Service Manager进程通过用户进程的Monitor接收用户进程的系统服务请求;
所述Service Manager进程将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送给所述用户进程,包括:
所述Service Manager进程通过用户进程的Monitor将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当系统服务进程迁移至目标微内核时,Service Manager进程接收并记录系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
Service Manager进程接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找到所述系统服务请求所携带的服务标识对应的第三共享内存地址;
Service Manager进程将所述第三共享内存地址发送至用户进程,以使得用户进程将所述第三共享内存地址对应的第三共享内存映射到用户进程的虚拟地址空间;
Service Manager进程将用户进程的系统服务请求转发给系统服务进程,以使得系统服务进程处理所述用户进程的系统服务请求并将处理结果发送至用户进程。
4.一种众核间通信方法,其特征在于,所述方法包括:
系统服务进程向微内核操作系统申请共享内存,将微内核操作系统分配的第二共享内存映射到自己的虚拟地址空间;
系统服务进程向Service Manager进程发送注册消息,所述注册消息携带系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
系统服务进程接收所述Service Manager进程发送的注册消息的响应消息,并将所述响应消息携带的第一共享内存地址对应的第一共享内存对应映射到所述系统服务进程的虚拟地址空间。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
当系统服务进程迁移至目标微内核时,系统服务进程向微内核操作系统申请共享内存,将所述微内核操作系统分配的第三共享内存映射到自己的虚拟地址空间;
系统服务进程将系统服务进程的服务标识和所述服务标识对应的第三共享内存地址发送至Service Manager进程。
6.一种众核间通信系统,其特征在于,所述系统包括:
映射单元,用于向微内核操作系统申请共享内存,将所述微内核操作系统分配的第一共享内存映射到Service Manager进程的虚拟地址空间;
接收单元,用于接收系统服务进程的注册消息,记录所述注册消息所携带的所述系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
响应单元,用于向所述系统服务进程发送注册消息的响应消息,所述响应消息携带第一共享内存地址;
接收单元,还用于接收用户进程的系统服务请求,根据所述系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址;
发送单元,用于将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至所述用户进程,以使得所述用户进程把所述第一共享内存地址对应的第一共享内存和第二共享内存地址对应的第二共享内存映射到用户进程的虚拟地址空间。
7.如权利要求6所述的系统,其特征在于,
所述发送单元还用于:
通过本地代理服务监控Monitor向所有远程Monitor发送Service Manager进程的启动消息,所述启动消息携带第一共享内存地址,以使得所述所有远程Monitor将所述第一共享内存地址对应的第一共享内存映射到所述所有远程Monitor的虚拟地址空间,建立Service Manager进程和所述所有远程Monitor的连接;
所述所有远程Monitor包括用户进程的Monitor和系统服务进程的Monitor;
所述接收单元具体用于:通过所述系统服务进程的Monitor接收系统服务进程的注册消息,记录所述注册消息所携带的所述系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;以及,
通过所述用户进程的Monitor接收用户进程的系统服务请求,根据所述系统服务请求所携带的服务标识,查找到所述服务标识对应的第二共享内存地址;
所述响应单元具体用于:通过所述系统服务进程的Monitor向所述系统服务进程发送所述注册消息的响应消息;
所述发送单元具体用于:通过所述用户进程的Monitor将所述服务标识、所述第一共享内存地址以及所述服务标识对应的第二共享内存地址发送至所述用户进程。
8.如权利要求6所述的系统,其特征在于,
所述接收单元,还用于当系统服务进程迁移至目标微内核时,Service Manager进程接收并记录系统服务进程的服务标识和所述服务标识对应的第三共享内存地址;
所述接收单元,还用于接收用户进程的系统服务请求,根据系统服务请求所携带的服务标识,查找到所述服务标识对应的第三共享内存地址;
所述发送单元,还用于将所述第三共享内存地址发送至用户进程,以使得用户进程将所述第三共享内存地址对应的第三共享内存映射到用户进程的虚拟地址空间;
所述发送单元,还用于将用户进程的系统服务请求转发给系统服务进程,以使得系统服务进程处理所述用户进程的系统服务请求并将处理结果发送至用户进程。
9.一种的众核间通信系统,其特征在于,所述系统包括:
映射单元,用于向微内核操作系统申请共享内存,将微内核操作系统分配的第二共享内存映射到自己的虚拟地址空间;
发送单元,用于向Service Manager进程发送注册消息,所述注册消息携带系统服务进程的服务标识和所述服务标识对应的第二共享内存地址;
接收单元,用于接收注册消息的响应消息,所述响应消息携带第一共享内存地址,将所述第一共享内存地址对应的第一共享内存映射到系统服务进程的虚拟地址空间。
10.如权利要求9所述的系统,其特征在于,
所述映射单元,还用于当系统服务进程迁移至目标微内核时,向微内核操作系统申请共享内存地址,将微内核操作系统分配的第三共享内存地址对应的第三共享内存映射到自己的虚拟地址空间;
所述发送单元,还用于将系统服务进程的服务标识和所述服务标识对应的第三共享内存地址发送至Service Manager进程。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310150599.2A CN104123265B (zh) | 2013-04-26 | 2013-04-26 | 一种众核间通信方法及系统 |
PCT/CN2013/087395 WO2014173119A1 (zh) | 2013-04-26 | 2013-11-19 | 一种众核间通信方法及系统 |
EP13882839.7A EP2977909A4 (en) | 2013-04-26 | 2013-11-19 | METHOD AND SYSTEM FOR COMMUNICATION AMONG MULTIPLE CORES |
US14/920,331 US9990306B2 (en) | 2013-04-26 | 2015-10-22 | Inter-manycore communications method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310150599.2A CN104123265B (zh) | 2013-04-26 | 2013-04-26 | 一种众核间通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104123265A true CN104123265A (zh) | 2014-10-29 |
CN104123265B CN104123265B (zh) | 2017-12-22 |
Family
ID=51768679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310150599.2A Expired - Fee Related CN104123265B (zh) | 2013-04-26 | 2013-04-26 | 一种众核间通信方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9990306B2 (zh) |
EP (1) | EP2977909A4 (zh) |
CN (1) | CN104123265B (zh) |
WO (1) | WO2014173119A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571953A (zh) * | 2014-12-25 | 2015-04-29 | 珠海金山网络游戏科技有限公司 | 一种扩展进程中内存地址控制的方法 |
CN105653377A (zh) * | 2015-12-23 | 2016-06-08 | 致象尔微电子科技(上海)有限公司 | 一种异构多核系统核间通讯方法及控制器 |
WO2019001276A1 (zh) * | 2017-06-26 | 2019-01-03 | 阿里巴巴集团控股有限公司 | 一种微内核调度的方法和装置 |
CN109669792A (zh) * | 2018-12-24 | 2019-04-23 | 网宿科技股份有限公司 | 分析数据报文的方法及业务服务器 |
CN109933441A (zh) * | 2019-02-28 | 2019-06-25 | 上海交通大学 | 微内核进程间通讯方法和系统 |
CN110532106A (zh) * | 2019-07-16 | 2019-12-03 | 华为技术有限公司 | 进程间的通讯方法、装置、设备和存储介质 |
CN114979241A (zh) * | 2022-06-01 | 2022-08-30 | 北京字跳网络技术有限公司 | 通信方法、装置、存储介质以及电子设备 |
CN115878210A (zh) * | 2021-09-29 | 2023-03-31 | 华为技术有限公司 | 一种系统配置处理方法及相关设备 |
CN116662037A (zh) * | 2023-07-24 | 2023-08-29 | 杭州鉴智机器人科技有限公司 | 一种共享内存的处理方法、装置、电子设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886303B2 (en) * | 2016-06-15 | 2018-02-06 | International Business Machines Corporation | Specialized micro-hypervisors for unikernels |
US10592431B2 (en) | 2018-08-13 | 2020-03-17 | Hewlett Packard Enterprise Development Lp | Independent shared and process virtual address translations |
CN111316244A (zh) * | 2018-12-28 | 2020-06-19 | 深圳市大疆创新科技有限公司 | 多进程间的通信方法和系统 |
CN115480904B (zh) * | 2022-10-09 | 2023-06-09 | 电子科技大学 | 微内核中系统服务并发调用方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
CN101246466A (zh) * | 2007-11-29 | 2008-08-20 | 华为技术有限公司 | 多核系统中共享内存的管理方法和装置 |
US20090144510A1 (en) * | 2007-11-16 | 2009-06-04 | Vmware, Inc. | Vm inter-process communications |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727351B (zh) | 2009-12-14 | 2012-09-05 | 北京航空航天大学 | 面向多核平台的虚拟机监控器非对称调度器及其调度方法 |
US8954697B2 (en) * | 2010-08-05 | 2015-02-10 | Red Hat, Inc. | Access to shared memory segments by multiple application processes |
-
2013
- 2013-04-26 CN CN201310150599.2A patent/CN104123265B/zh not_active Expired - Fee Related
- 2013-11-19 WO PCT/CN2013/087395 patent/WO2014173119A1/zh active Application Filing
- 2013-11-19 EP EP13882839.7A patent/EP2977909A4/en not_active Withdrawn
-
2015
- 2015-10-22 US US14/920,331 patent/US9990306B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811717A (zh) * | 2006-01-10 | 2006-08-02 | 杭州东信灵通电子实业公司 | 通用进程间通信实现方法 |
US20090144510A1 (en) * | 2007-11-16 | 2009-06-04 | Vmware, Inc. | Vm inter-process communications |
CN101246466A (zh) * | 2007-11-29 | 2008-08-20 | 华为技术有限公司 | 多核系统中共享内存的管理方法和装置 |
Non-Patent Citations (4)
Title |
---|
ADAM M.BELAY: "Message Passing in a Factored OS", 《DSPACE@MIT》 * |
DAVID WENTZLAFF等: "Fleets:Scalable Services in a Factored Operating System", 《COMPUTER SCIENCE AND ARTIFICIAL INTELLIGENCE LABORATORY TECHNICAL REPORT》 * |
NATHAN BECKMANN: "Distributed Naming in a Factored Operating System", 《DSPACE@MIT》 * |
张良: "嵌入式实时操作系统微内核通信机制的研究与设计", 《万方学位论文数据库》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104571953B (zh) * | 2014-12-25 | 2017-10-17 | 珠海金山网络游戏科技有限公司 | 一种扩展进程中内存地址控制的方法 |
CN104571953A (zh) * | 2014-12-25 | 2015-04-29 | 珠海金山网络游戏科技有限公司 | 一种扩展进程中内存地址控制的方法 |
CN105653377B (zh) * | 2015-12-23 | 2019-07-26 | 致象尔微电子科技(上海)有限公司 | 一种异构多核系统核间通讯方法及控制器 |
CN105653377A (zh) * | 2015-12-23 | 2016-06-08 | 致象尔微电子科技(上海)有限公司 | 一种异构多核系统核间通讯方法及控制器 |
WO2019001276A1 (zh) * | 2017-06-26 | 2019-01-03 | 阿里巴巴集团控股有限公司 | 一种微内核调度的方法和装置 |
US11954520B2 (en) | 2017-06-26 | 2024-04-09 | Alibaba Group Holding Limited | Micro kernel scheduling method and apparatus |
CN109669792A (zh) * | 2018-12-24 | 2019-04-23 | 网宿科技股份有限公司 | 分析数据报文的方法及业务服务器 |
CN109933441A (zh) * | 2019-02-28 | 2019-06-25 | 上海交通大学 | 微内核进程间通讯方法和系统 |
CN109933441B (zh) * | 2019-02-28 | 2020-11-17 | 上海交通大学 | 微内核进程间通讯方法和系统 |
CN110532106A (zh) * | 2019-07-16 | 2019-12-03 | 华为技术有限公司 | 进程间的通讯方法、装置、设备和存储介质 |
CN110532106B (zh) * | 2019-07-16 | 2023-01-13 | 华为技术有限公司 | 进程间的通讯方法、装置、设备和存储介质 |
CN115878210A (zh) * | 2021-09-29 | 2023-03-31 | 华为技术有限公司 | 一种系统配置处理方法及相关设备 |
CN114979241A (zh) * | 2022-06-01 | 2022-08-30 | 北京字跳网络技术有限公司 | 通信方法、装置、存储介质以及电子设备 |
CN116662037A (zh) * | 2023-07-24 | 2023-08-29 | 杭州鉴智机器人科技有限公司 | 一种共享内存的处理方法、装置、电子设备及存储介质 |
CN116662037B (zh) * | 2023-07-24 | 2023-10-20 | 杭州鉴智机器人科技有限公司 | 一种共享内存的处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2977909A4 (en) | 2016-04-20 |
CN104123265B (zh) | 2017-12-22 |
WO2014173119A1 (zh) | 2014-10-30 |
US20160041923A1 (en) | 2016-02-11 |
US9990306B2 (en) | 2018-06-05 |
EP2977909A1 (en) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104123265A (zh) | 一种众核间通信方法及系统 | |
US10305823B2 (en) | Network interface card configuration method and resource management center | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
EP0248403B1 (en) | Distributed interactive processing method in complex system including plural work stations and plural host computers and apparatus using the same | |
US9537786B2 (en) | Method, device, and system for information processing based on distributed buses | |
US8874686B2 (en) | DDS structure with scalability and adaptability and node constituting the same | |
US10657095B2 (en) | Virtualizing connection management for virtual remote direct memory access (RDMA) devices | |
CN112825042A (zh) | 资源管理方法和装置、电子设备及存储介质 | |
WO2021159831A1 (zh) | 编程平台的用户代码运行方法及平台、节点、设备、介质 | |
WO2018076882A1 (zh) | 存储设备的操作方法及物理服务器 | |
CN106919452A (zh) | 多核异构系统及其硬件资源的管理方法 | |
EP3629160B1 (en) | Method and device for managing vnf instantiation | |
CN109343974A (zh) | 基于容器的虚拟桌面的进程间通信方法及装置 | |
CN110532060A (zh) | 一种混合网络环境数据采集方法及系统 | |
CN110019475B (zh) | 数据持久化处理方法、装置及系统 | |
CN107734050B (zh) | 一种负载机分配方法、计算设备及负载机分配系统 | |
CN104809026A (zh) | 一种使用远程节点借用cpu计算资源的方法 | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
WO2023030178A1 (zh) | 一种基于用户态协议栈的通信方法及相应装置 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN105939242B (zh) | 实现虚拟系统的方法及装置 | |
CN110134491B (zh) | 信息处理传输装置 | |
CN109634721B (zh) | 一种虚拟机与主机的启动通信方法及相关装置 | |
CN113254160A (zh) | 一种io资源请求方法和装置 | |
CN113691465A (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 | ||
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: 20171222 |