CN101146280A - 分布式系统中实现多核处理器对外通信的方法 - Google Patents

分布式系统中实现多核处理器对外通信的方法 Download PDF

Info

Publication number
CN101146280A
CN101146280A CNA2007100300504A CN200710030050A CN101146280A CN 101146280 A CN101146280 A CN 101146280A CN A2007100300504 A CNA2007100300504 A CN A2007100300504A CN 200710030050 A CN200710030050 A CN 200710030050A CN 101146280 A CN101146280 A CN 101146280A
Authority
CN
China
Prior art keywords
chain
message
command
nuclear
distributor
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
Application number
CNA2007100300504A
Other languages
English (en)
Other versions
CN100568992C (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2007100300504A priority Critical patent/CN100568992C/zh
Publication of CN101146280A publication Critical patent/CN101146280A/zh
Application granted granted Critical
Publication of CN100568992C publication Critical patent/CN100568992C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明解旨在提供了一种分布式系统中实现多核处理器对外通信的方法,多核处理器接收消息包括步骤:多核处理器单板控制面网口101接收其他单板发送的消息,根据共享内存指针将接收消息移至共享内存103中;同时多核处理器中分发器102提取接收消息的识别信息;分发器102根据接收消息的识别信息判断出与其匹配的控制面核,向匹配的控制面核发送通知消息,通知消息中携带所述接收消息的共享内存指针;匹配的控制面核收到所述通知消息后,根据通知消息中的指针将所述接收消息从共享内存103中移到其接收队列中,取出接收消息进行处理。该方法同时适用控制面有多个网口,有很好的扩展性。

Description

分布式系统中实现多核处理器对外通信的方法
技术领域
本发明涉及处理器领域,更具体地说,涉及一种分布式移动通信系统中多核处理器对外通信的方法。
背景技术
随着移动通信技术的迅猛发展,使用移动通信的终端用户越来越多。为了保证终端用户使用语音业务时通话质量和使用数据业务时的带宽,移动运营商对移动系统设备的可扩容性需求也越来越高。为了满足可扩容需求,目前移动通信设备多采用分布式系统架构。
对于采用分布式系统架构的移动通信系统,系统设备多数由接口板、媒体面处理板和控制面处理板构成。接口板负责对外收发消息和分离媒体面消息和控制面信令消息。对于媒体面消息通过媒体面交换网送给媒体面处理板处理。控制面信令消息通过接口板控制面CPU通过控制面交换网发送给控制面板处理。为了提供设备的接入能力,很多移动通信设备接口板开始采用具有高处理性能且一片芯片上集中多个核的多核处理器实现,其中多核处理器一部分核运行商用操作系统,作为控制面CPU和系统中其他控制面处理板进行通信以转发信令消息转发和交互会话,另外一部分核进行媒体面处理。由于移动通信系统中信令消息占媒体面消息的10%-20%,媒体面处理能力强而并发会话也比较多,因此需要使用多个核作为控制面核。
多核处理器中多控制面核运行操作系统时可以有SMP(Symmetric Multiprocessing,对称多处理)模式、AMP(AsymmetricMultiprocessing,非对称多处理)模式和BMP(Bound multiprocessing,绑定多处理)模式。目前多数嵌入式操作系统还不支持SMP模式,因此多控制面核还多数采用AMP模式,即每个核运行一套操作系统,作为一个独立CPU对外通信。在正常情况下,控制面核中以太网驱动程序需要有一个独立的网口才能与其它单板通信,但在分布式系统中一些单板由于背板限制或交换网端口个数限制,以及设备成本考虑,要求多核处理器单板只能有一个控制面网口,因此就存在多个控制面核通过一个网口与其它单板通信的问题。
专利申请号为200510087321.0的中国专利申请公开了“嵌入式实时操作系统中多核处理器的核间通信方法及装置”。该专利不足之处在于主要描述一个装置中核间通信方法,而没有对多核处理器中作为控制面核与其他单板的通信方法,扩展性不好,不适合在采用分布式架构的系统设备中使用。
发明内容
本发明解决的技术问题是提供了一种分布式系统中实现多核处理器对外通信的方法,以解决在分布式系统中,多核处理器单板在只有一个控制网口而有多个控制面核、且多控制面核操作系统工作在AMP模式时无法与其他单板通信的问题。
为解决上述问题,本发明提供的方法包括:
方法多核处理器接收消息包括步骤:
A多核处理器单板控制面网口(101)接收其他单板发送的消息,根据共享内存指针将接收消息移至共享内存(103)中;同时多核处理器中分发器(102)提取接收消息的识别信息;
B分发器102根据接收消息的识别信息判断出与其匹配的控制面核,向匹配的控制面核发送通知消息,通知消息中携带接收消息的共享内存指针;
C匹配的控制面核收到通知消息后,根据通知消息中的指针将接收消息从共享内存103中移到其接收队列中,取出接收消息进行处理;
方法中多核处理器发送消息包括步骤:
D控制面核直接将发送消息放入共享内存(103)中,发送命令给控制面网口(101)的MAC器件,MAC器件接到命令后将发送消息发送出去。
上述的方法,其中,步骤A之前,分布式系统进行初始化,包括:
多核处理器分配存放接收消息的共享内存,将共享内存指针放入控制面网口(101)MAC器件的描述符中;
为控制面核分配用于对外通信的IP地址;
上述的方法,其中,步骤A中,若多核处理器中分发器(103)为硬件单元,则MAC器件自动通知分发器有接收消息到达;否则,采用多核处理器中一个控制面核作为分发器。
上述的方法,其中,接收消息的识别信息是目的IP地址。
上述的方法,其中,步骤B具体为:
B1分发器判断目的IP地址与接收消息匹配的控制面核IP地址是否相同,若不相同,则直接丢弃接收消息;
B2若相同,分发器向匹配的控制面核发送通知消息,通知消息中携带接收消息的共享内存指针。
上述的方法,其中,步骤C中,匹配的控制面核取出接收消息进行处理具体为:
匹配控制面核中以太网驱动程序轮询接收队列,取出接收消息派发给相应的进程或任务处理。
上述的方法,其中,接收队列由控制面核从其堆里分配内存建立。
与现有技术相比较,本发明实现的是多核处理器中多控制面核在只有一个控制面网口时对外通信方法,该方法使用的是虚拟驱动技术,可以让每个控制面核都认为自己有一个独立的控制面网口,而不需要修改操作系统中的以太网驱动程序,避免多控制面核必须使用多控制面网口的缺陷,这样不但可以降低设备成本,而且方便操作系统从AMP模式过渡到SMP模式,有很好的扩展性。该方法同时适用控制面有多个网口,而不需要修改任何代码。
附图说明
图1是本发明实施例应用的方案示意图;
图2是本发明的方法实施例中控制面核对外通信接收流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细说明。
图1是本发明实施例应用的方案示意图。多核处理器单板上包括控制面网口101核和多核处理器,多核处理器包括分发器102、共享内存103、接收队列104和控制面核105。其中多核处理器单板控制面网口用于接收其他单板发送的消息,并将多核处理器对外发送的消息发送出去。多核处理器分发器可以为硬件单元,硬件分发器需要配置消息提取、分类和分发规则;如果没有硬件分发器,多核处理器中一个控制面核作为分发器,同时配置消息提取、分类和分发规则。分发器102用于根据接收消息的识别信息判断出与其匹配的控制面核,向与其匹配的控制局核发送通知消息,通知消息中携带消息的共享内存指针。共享内存103是由多核处理器分配用于存放接收消息。接收队列由控制面核105从其堆里分配内存建立,与控制面核一一对应。控制面核105用于接收通知消息,根据通知消息中的指针将接收消息从共享内存103中移到其接收队列中,取出接收消息进行处理;而且,用于直接将发送消息放入共享内存103中,并发送命令给控制面网口101的MAC器件,MAC器件接到命令后将消息发送出去。
图2是本发明的方法实施例中控制面核对外通信接收流程图。从本发明具体实施方式可知,由于两个控制面核独立工作,因此在发送消息时每个控制面核都相当有一个独立的控制面网口,仍然可以利用操作系统中现有的以太网驱动程序,不需要特殊处理。因此下面具体描述本发明中控制面核对外通信接收流程。
步骤201,系统启动,多核处理器单板开始上电,进行系统初始化工作,系统初始化主要包括:
多核处理器分配存放消息的共享内存103,将共享内存指针放入控制面网口101 MAC器件的描述符中;
为控制面核105分配用于对外通信的IP地址;
控制面核105从其堆里分配内存建立接收队列104;
如果分发器为硬件单元,则配置消息提取、分类和分发规则。
步骤202,控制网口101有接收消息到达,根据预先存放的指针通过DMA引擎将接收消息移入共享内存103中;
步骤203,如果多核处理器板分发器是硬件分发器102,则根据配置的规则从接收消息的头中提取目的IP地址。如果为软件分发器102,则设置软件规则从接收消息的头中提取目的IP地址。
步骤204,分发器判断目的IP地址是否与控制面核105的IP地址相同,如果都不同,则为无效消息,转步骤205直接丢弃。
步骤206,如果目的IP地址与控制面核105中的任意一个控制面核IP相同,则分发器102发送通知消息通知控制面核105有接收消息到达,通知消息中要包含消息的存放在共享内存103中的指针。
步骤207,控制面核105收到通知消息后,从通知消息中取出接收消息的共享内存指针,然后将消息从共享内存103中拷贝到其接收队列104中。
步骤208,控制面核105利用以太网驱动程序中守护任务不断轮询接收消息的接收队列104,如果队列中有接收消息,则取出,根据消息类型然后派发给本核相应的任务或进程处理。

Claims (7)

1.分布式系统中实现多核处理器对外通信的方法,其特征在于,所述方法多核处理器接收消息包括步骤:
A多核处理器单板控制面网口(101)接收其他单板发送的消息,根据共享内存指针将所述接收消息移至共享内存(103)中;同时多核处理器中分发器(102)提取所述接收消息的识别信息;
B所述分发器102根据所述接收消息的识别信息判断出与其匹配的控制面核,向所述匹配的控制面核发送通知消息,所述通知消息中携带所述接收消息的共享内存指针;
C所述匹配的控制面核收到所述通知消息后,根据所述通知消息中的指针将所述接收消息从共享内存103中移到其接收队列中,取出所述接收消息进行处理;
所述方法中多核处理器发送消息包括步骤:
D控制面核直接将发送消息放入共享内存(103)中,发送命令给控制面网口(101)的MAC器件,所述MAC器件接到所述命令后将所述发送消息发送出去。
2.根据权利要求1所述的方法,其特征在于,步骤A之前,分布式系统进行初始化,包括:
多核处理器分配存放所述接收消息的共享内存,将共享内存指针放入控制面网口(101)MAC器件的描述符中;
为控制面核分配用于对外通信的IP地址。
3.如权利要求2所述的方法,其特征在于,步骤A中,若多核处理器中分发器(103)为硬件单元,则所述MAC器件自动通知分发器有所述接收消息到达;否则,采用多核处理器中一个控制面核作为分发器。
4.根据权利要求3所述的方法,其特征在于,所述接收消息的识别信息是目的IP地址。
5.根据权利要求4所述的方法,其特征在于,步骤B具体为:
B1分发器判断所述目的IP地址与所述接收消息匹配的控制面核IP地址是否相同,若不相同,则直接丢弃所述接收消息;
B2若相同,所述分发器向所述匹配的控制面核发送通知消息,所述通知消息中携带所述接收消息的共享内存指针。
6.根据权利要求5所述的方法,其特征在于,步骤C中,所述匹配的控制面核取出所述接收消息进行处理具体为:
所述匹配控制面核中以太网驱动程序轮询所述接收队列,取出所述接收消息派发给相应的进程或任务处理。
7.根据权利要求6所述的方法,其特征在于,所述接收队列由所述控制面核从其堆里分配内存建立。
CNB2007100300504A 2007-11-27 2007-11-27 分布式系统中实现多核处理器对外通信的方法 Expired - Fee Related CN100568992C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100300504A CN100568992C (zh) 2007-11-27 2007-11-27 分布式系统中实现多核处理器对外通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100300504A CN100568992C (zh) 2007-11-27 2007-11-27 分布式系统中实现多核处理器对外通信的方法

Publications (2)

Publication Number Publication Date
CN101146280A true CN101146280A (zh) 2008-03-19
CN100568992C CN100568992C (zh) 2009-12-09

Family

ID=39208521

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100300504A Expired - Fee Related CN100568992C (zh) 2007-11-27 2007-11-27 分布式系统中实现多核处理器对外通信的方法

Country Status (1)

Country Link
CN (1) CN100568992C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104487A (zh) * 2009-12-21 2011-06-22 上海贝尔股份有限公司 一种消息处理方法及其设备
WO2012143941A2 (en) * 2011-04-18 2012-10-26 Ineda Systems Pvt. Ltd Wireless interface sharing
CN110781128A (zh) * 2019-11-05 2020-02-11 武汉虹信通信技术有限责任公司 嵌入式设备的管控方法及管控适配装置
CN111344676A (zh) * 2017-11-14 2020-06-26 国际商业机器公司 通过改变存储器指针的上下文切换
CN111400214A (zh) * 2020-02-27 2020-07-10 深圳震有科技股份有限公司 一种双核共用网口的实现方法、智能终端及存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104487A (zh) * 2009-12-21 2011-06-22 上海贝尔股份有限公司 一种消息处理方法及其设备
CN102104487B (zh) * 2009-12-21 2014-12-17 上海贝尔股份有限公司 一种消息处理方法及其设备
WO2012143941A2 (en) * 2011-04-18 2012-10-26 Ineda Systems Pvt. Ltd Wireless interface sharing
WO2012143941A3 (en) * 2011-04-18 2013-01-17 Ineda Systems Pvt. Ltd Wireless interface sharing
US9918270B2 (en) 2011-04-18 2018-03-13 Ineda Systems Inc. Wireless interface sharing
CN111344676A (zh) * 2017-11-14 2020-06-26 国际商业机器公司 通过改变存储器指针的上下文切换
CN111344676B (zh) * 2017-11-14 2024-05-03 国际商业机器公司 通过改变存储器指针的上下文切换
CN110781128A (zh) * 2019-11-05 2020-02-11 武汉虹信通信技术有限责任公司 嵌入式设备的管控方法及管控适配装置
CN111400214A (zh) * 2020-02-27 2020-07-10 深圳震有科技股份有限公司 一种双核共用网口的实现方法、智能终端及存储介质

Also Published As

Publication number Publication date
CN100568992C (zh) 2009-12-09

Similar Documents

Publication Publication Date Title
CN101202707B (zh) 高速单板传输报文的方法、现场可编程门阵列及高速单板
CN100471180C (zh) 一种消息传递的方法、装置和系统
CN100568992C (zh) 分布式系统中实现多核处理器对外通信的方法
CN102546778B (zh) 基于代理跨平台的无线网络接入控制器板间通信方法
CN1798094A (zh) 一种使用缓存区的方法
CN101984573A (zh) 分布式实现lacp标准状态机的方法及系统
CN101262366B (zh) 目标单板调试方法、系统及分布式设备
CN107133109B (zh) 一种模块间通信的方法、装置及计算设备
CN104123265A (zh) 一种众核间通信方法及系统
CN105656808A (zh) 报文处理方法及其系统
CN102025616A (zh) 一种实现双向转发检测的方法、装置及交换机
CN101866326B (zh) 一种消息传递接口支持总线通信框架
CN100432975C (zh) 小型计算机系统接口目标器和数据传输方法
CN102185833A (zh) 一种基于fpga的fc i/o并行处理方法
CN107688512A (zh) 一种优化虚拟机数据备份方法和系统
CN107147543A (zh) 一种面向PC客户端的服务器的socket通信方法
CN1913453A (zh) 实现点到点的快速故障检测的方法和装置
CN1964286B (zh) 具有双cpu的主控设备
CN100539553C (zh) 终端之间传输数据的方法、系统及终端、服务器
CN103765837B (zh) 多cpu的报文处理方法及系统、交换单元、单板
CN106970844A (zh) 一种双Android系统的MTP管理方法
CN102215129B (zh) 业务模块外置方法、装置及系统
CN100571169C (zh) 一种数字数据网络业务并行测试方法
CN104766103B (zh) 智能卡发卡方法及系统
CN101877726B (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091209

Termination date: 20161127

CF01 Termination of patent right due to non-payment of annual fee