專利名稱:多核分布式系統(tǒng)中的進程間通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多核分布式軟件架構(gòu)上的進程間通信(IPC),尤其涉及分布式多核系統(tǒng)中業(yè)務(wù)在不同CORE之間的通信方法。
背景技術(shù):
在傳統(tǒng)通信領(lǐng)域,分布式設(shè)備一般由主控板和接口板組成,主控板負責路由計算,接口板則負責維護轉(zhuǎn)發(fā)表項,主控板和接口板都采用高性能的單核CPU完全能夠應(yīng)付這些計算工作。而隨著WLAN技術(shù)的發(fā)展,新技術(shù)對設(shè)備的計算能力和實時處理能力都有了更高的要求,比如WLAN AC設(shè)備需要能夠支持上萬個AP和十萬個用戶級別的接入控制,再比如WLAN AC設(shè)備的單個業(yè)務(wù)板需要支持IOGbps級別的基于UDP的低延時數(shù)據(jù)隧道。在高規(guī)格的WLAN AC業(yè)務(wù)板上,一般采用多核CPU來分擔AP、用戶的接入控制和隧·道轉(zhuǎn)發(fā)任務(wù)。根據(jù)產(chǎn)品規(guī)格,系統(tǒng)一般會采用12飛4核的多核CPU??紤]一個由2個主控板、8個業(yè)務(wù)板組成的分布式多核系統(tǒng),整框CORE的節(jié)點數(shù)可以達到120飛40之多。圖I為現(xiàn)有的分布式軟件架構(gòu)的多核系統(tǒng)的組成示意圖。如圖I所示,分布式軟件架構(gòu)的多核系統(tǒng)包括至少一個主控板和一個以上的業(yè)務(wù)板,圖I中只畫出了一個主控板和一個業(yè)務(wù)板作為示意。其中,主控板可以包括多個控制核,在圖I中只畫出了主控板的一個控制核作為示意;每個業(yè)務(wù)板也可以包括多個控制核、多個業(yè)務(wù)核、多個數(shù)據(jù)核,其中業(yè)務(wù)核可以專門用于AP和用戶的接入服務(wù),數(shù)據(jù)核可以專門用于隧道轉(zhuǎn)發(fā),圖I中也只示意性地畫出了一個控制核、一個業(yè)務(wù)核和一個數(shù)據(jù)核。主控板的控制核包括控制核業(yè)務(wù)模塊UIPCl ;業(yè)務(wù)板的控制核包括控制核業(yè)務(wù)模塊2、IPC2 ;業(yè)務(wù)板的業(yè)務(wù)核包括業(yè)務(wù)核業(yè)務(wù)模塊3、IPC3 ;業(yè)務(wù)板的數(shù)據(jù)核包括數(shù)據(jù)核業(yè)務(wù)模塊4、IPC4。在圖I中,系統(tǒng)組成了一個全連接結(jié)構(gòu),每個核都可以和其它核互通。比如業(yè)務(wù)板數(shù)據(jù)核的數(shù)據(jù)核業(yè)務(wù)模塊4通過IPC4向主控板發(fā)送消息,主控板的IPCl收到消息后交給控制核業(yè)務(wù)模塊I。但是,圖I所示的多核系統(tǒng)中的進程間通信方式存在如下缺點I、系統(tǒng)為全連接結(jié)構(gòu),對于分布式多核系統(tǒng),管理開銷過大。首先IPC是基于連接的,對每個CORE進行編址后,對于整框640個節(jié)點場景,各個CORE維護IPC連接的開銷非常大。其次主控板很難管理業(yè)務(wù)信息,對于高頻率的系統(tǒng)監(jiān)控場景,主控板到各個業(yè)務(wù)板的各個處理核去輪詢一遍的開銷非常龐大;特別是考慮到有些處理核CPU繁忙時,主控板的主控核就得長時間等待響應(yīng)。2、實現(xiàn)組播困難。圖I所示的多核系統(tǒng)中的進程間通信方式畢竟是點對點的通信,沒有給出完整的、包括單播、組播在內(nèi)的整合方案。
發(fā)明內(nèi)容
本發(fā)明提供了一種分布式多核系統(tǒng)中的進程間通信方法,該方法提高了分布式多核系統(tǒng)中的核間組播通信效率,減小了 IPC的管理開銷,且較易實現(xiàn)。
本發(fā)明還提供了ー種多核系統(tǒng),該系統(tǒng)提高了核間組播通信效率,減小了 IPC的管理開銷,且較易實現(xiàn)。為達到上述目標,本發(fā)明提供的技術(shù)方案是本發(fā)明公開了ー種分布式多核系統(tǒng)中的進程間通信方法,該方法包括對主控板和業(yè)務(wù)板上的控制核進行全局編號,對業(yè)務(wù)板上的包括控制核、業(yè)務(wù)核在內(nèi)的所有核進行局部編號;主控板和業(yè)務(wù)板建立全連接拓撲,單塊業(yè)務(wù)板的所有核建立全連接拓撲;主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送單播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帯目標板號、目標核編號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)所述目標板號將消息直接發(fā)送給目標板,目標板上的多核進程間通信模塊根據(jù)目標核編號將消息送給目標核;·主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送組播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帯組播號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)組播組里面的目標板號集合進行硬件組播,目標板上的多核進程間通信模塊根據(jù)目標核編號集合進行多核組播。本發(fā)明還公開了ー種分布式多核系統(tǒng),包括一個主控板和ー個以上的業(yè)務(wù)板,所述主控板和業(yè)務(wù)板上的控制核中參與設(shè)備管理的核被統(tǒng)ー編號,同一塊板上的控制核、業(yè)務(wù)核和數(shù)據(jù)核進行局部編號,所述主控板或業(yè)務(wù)板上的任意當前核包括業(yè)務(wù)模塊,用于向自身所在的當前核所在的單板的多核進程間通信模塊發(fā)送攜帯目標板號和目標核編號的單播消息、攜帯組播號的組播消息;多核進程間通信模塊,用于接收來自所述業(yè)務(wù)模塊的單播消息,并根據(jù)其中攜帯的目標板號和目標核編號將所述消息直接發(fā)送給目標單板;或者接收來自所述業(yè)務(wù)模塊的組播消息,根據(jù)組播組里面的目標板號集合進行硬件組播到目標板集合;目標板上的多核進程間通信模塊則根據(jù)目標核編號或者目標核編號集合進行單播或者組播。另外上述多核進程間通信模塊是各個處理核共享的ー個模塊,不會占用各個處理核的資源,因而能做到不降低整個通信效率。由上述技術(shù)方案可見,本發(fā)明這種對主控板和業(yè)務(wù)板上的參與設(shè)備管理的核進行統(tǒng)ー編號,板與板之間建立IPC連接,同時,各個板上的所有處理核進行局部編號,核與核之間建立局部IPC連接,這樣減少了所有核建立全連接模型帶來的管理開銷。而且本技術(shù)方案還實現(xiàn)了核間組播,當前單板上的多核進程間通信模塊先是根據(jù)組播組里面的目標板號集合進行硬件組播,目標板上的多核進程間通信模塊又根據(jù)目的核編號集合進行多核組播,而且多核進程模塊又是各個處理核共享的,不占用各個處理核的資源,性能沒有下降;這樣主控板可以通過組播來實現(xiàn)高效監(jiān)控、查詢等動作。對于當前核來說,發(fā)送組播消息到本板的其它處理核以及其它單板的處理核,消息幾乎是同時到達各個目的核的,因此較易實現(xiàn)。
下面結(jié)合附圖及實施例對本發(fā)明作進ー步描述圖I為現(xiàn)有的分布式多核系統(tǒng)的組成示意圖2是本發(fā)明實施例ー種分布式多核系統(tǒng)中的核間通信方法流程圖;圖3是本發(fā)明實施例ー種分布式多核系統(tǒng)的組成結(jié)構(gòu)框圖。
具體實施例方式為使本發(fā)明的目標、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉較佳實施例,對本發(fā)明進ー步詳細說明。圖2是本發(fā)明實施例ー種分布式多核系統(tǒng)中的核 間通信方法的流程圖。如圖2所示,該方法包括以下步驟步驟210,對主控板和業(yè)務(wù)板上的控制核進行全局編號,對業(yè)務(wù)板上的包括控制核、業(yè)務(wù)核在內(nèi)的所有核進行局部編號。步驟220,主控板和業(yè)務(wù)板建立全連接拓撲,單塊業(yè)務(wù)板的所有核建立全連接拓撲。步驟230,主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送單播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帯目標板號、目標核編號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)所述目標板號將消息直接發(fā)送給目標板,目標板上的多核進程間通信模塊根據(jù)目標核編號將消息送給目標核。步驟231,主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送組播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帯組播號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)組播組里面的目標板號集合進行硬件組播,目標板上的多核進程間通信模塊根據(jù)目標核編號集合進行多核組播。根據(jù)圖2所示實施例中的技術(shù)方案,多核進程間通信模塊集成單播、組播消息的發(fā)送和接收分發(fā)動作,并且多核進程間通信模塊獨立于各個處理核,對性能沒有影響,因而對于業(yè)務(wù)模塊來說,發(fā)送單播消息和發(fā)送組播消息的流程相同,因而較易實現(xiàn)。在圖2所示的實施例中,進程間通信是可靠的通信,是建立在連接的基礎(chǔ)上的。板間通信依賴板與板之間的全連接結(jié)構(gòu),單塊板上的核間通信依賴核與核之間的全連接結(jié)構(gòu)。通過降低全連接的范圍和規(guī)模,降低了 IPC的管理開銷。在圖2所示的實施例中,當前核的業(yè)務(wù)模塊可能是要把消息發(fā)給本板的其它處理核的,這個多核進程間通信模塊會根據(jù)目標板號來進行區(qū)分,如果是發(fā)給本板的其它處理核的,則通過CPU提供的報文調(diào)度単元把報文調(diào)度到其它處理核,目標核則通過輪詢或中斷機制來通知業(yè)務(wù)模塊進行處理。進一歩,多核進程間通信模塊會根據(jù)組播報文的目標板號集合進行硬件組播,如果目標板號集合中包括本板,則多核進程間通信模塊又根據(jù)局部目標核編號集合通過CPU提供的報文調(diào)度単元把報文調(diào)度到目標核集合上。所以不管是單播還是組播,都是硬件實現(xiàn)的,效率非常高。在圖2所示的實施例中,消息在板與板之間轉(zhuǎn)發(fā)、核與核之間轉(zhuǎn)發(fā)時,消息格式都是統(tǒng)ー的,都是通過轉(zhuǎn)發(fā)芯片硬件實現(xiàn)報文的轉(zhuǎn)發(fā),因而較易實現(xiàn)。在圖2所示的實施例中,進程間通信都是通過私有格式的報文進行的,目標核通過輪詢或中斷機制來通知業(yè)務(wù)模塊進行處理,這個機制所有操作系統(tǒng)上都提供。在圖2所示的實施例中,由于當前單板的處理核在發(fā)送消息時需要在其中攜帯目標板號和目標核的編號,因此系統(tǒng)還需要提供獲取業(yè)務(wù)板編號、各個單板上處理核的編號信息的接ロ。接下來給出本發(fā)明實施例中的分布式多核軟件架構(gòu)中的多核系統(tǒng)的組成結(jié)構(gòu)。本發(fā)明實施例中所述的多核系統(tǒng)包括一個主控板和ー個以上的業(yè)務(wù)板,所述主控板和業(yè)務(wù)板被統(tǒng)ー編號,各個單板上的處理核被局部編號,所述主控板或業(yè)務(wù)板上的任意處理核包括業(yè)務(wù)模塊,用于向自身所在的當前核所在的單板的多核進程間通信模塊發(fā)送攜帯目標板號、目標核編號或者組播組號的消息;每個單板上有多核進程間通信模塊,用于接收來自所述業(yè)務(wù)模塊的消息,并更加目的節(jié)點信息進行硬件單播或組播。圖3是本發(fā)明實施例ー種分布式多核系統(tǒng)的組成結(jié)構(gòu)框圖。本實施例中分布式多核系統(tǒng)包括一個主控板和ー個以上的業(yè)務(wù)板,業(yè)務(wù)板上又有控制核、業(yè)務(wù)核、數(shù)據(jù)核,為了簡潔起見,在圖3中也只是示意性地畫出了一個主控板310和一個業(yè)務(wù)板320,業(yè)務(wù)板320上面也只是示意性地列出了一個控制核321和一個業(yè)務(wù)核331。在本實施例中,主控板和業(yè)務(wù)板進行統(tǒng)ー編號,每個板上的所有參與核間通信的核均被局部編號。在圖3中,業(yè)務(wù)板320的控制核321包括控制核業(yè)務(wù)模塊322和共享的多核進程·間通信模塊341,其中控制核業(yè)務(wù)模塊322,用于向多核進程間通信模塊341發(fā)送攜帶目標板號、目標核編號的消息;多核進程間通信模塊341,用于接收來自控制核業(yè)務(wù)模塊322的消息,并根據(jù)其中攜帯的節(jié)點編號將所述消息發(fā)送給目的板。在圖3中,控制核業(yè)務(wù)模塊322把消息送給多核進程間通信模塊341,多核進程間通信模塊341識別出報文是ー個組播報文,組播組中包括主控板上的控制核311和本業(yè)務(wù)板上的業(yè)務(wù)核331,多核進程間通信模塊341通過硬件組播把消息送給主控板,同時通過CPU提供的硬件調(diào)度機制把報文送給本板的業(yè)務(wù)核331。業(yè)務(wù)核331通過輪詢或者中斷通知業(yè)務(wù)核業(yè)務(wù)模塊332進行處理;主控板上的多核進程間通信模塊313識別到報文是送往控制核業(yè)務(wù)模塊312,主控板上的業(yè)務(wù)核311通過輪詢或者中斷通知業(yè)務(wù)核業(yè)務(wù)模塊332進行處理。在本發(fā)明的上述實施例中,消息在跨板轉(zhuǎn)發(fā)和本板內(nèi)核間轉(zhuǎn)發(fā)都是通過統(tǒng)一格式的報文進行收發(fā)的,較易實現(xiàn)。另外多核進程間通信模塊整合了單播、組播功能,提升了整個系統(tǒng)的管理效率。最后降低了全連接模型的復(fù)雜度,減小了 IPC的管理開銷。上述實例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項技術(shù)的人是能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保護范圍。凡根據(jù)本發(fā)明精神實質(zhì)所做的等效變換或修飾,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種多核分布式系統(tǒng)中的進程間通信方法,其特征在于,該方法包括 對主控板和業(yè)務(wù)板進行全局編號,對業(yè)務(wù)板上的包括控制核、業(yè)務(wù)核在內(nèi)的所有核進行局部編號; 主控板和業(yè)務(wù)板建立全連接拓撲,單塊業(yè)務(wù)板的所有核建立全連接拓撲; 主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送單播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帶目標板號、目標核編號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)所述目標板號將消息直接發(fā)送給目標板,目標板上的多核進程間通信模塊根據(jù)目標核編號將消息送給目標核; 主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送組播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帶組播號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)組播組里面的目標板號集合進行硬件組播,目標板上的多核進程間通信模塊根據(jù)目標核編號集合進行多核組播。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于所述多核進程間通信模塊收到消息后,根據(jù)目標核編號,將消息發(fā)送給目標核。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于消息在板間轉(zhuǎn)發(fā)和目標板的核間轉(zhuǎn)發(fā)過程中,都是以統(tǒng)一格式的報文形式存在。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于所述特定單板上的多核進程間通信模塊是該單板上各個需要進程通信的處理核共享的一個模塊;該模塊能夠硬件中轉(zhuǎn)板間消息給目標核。
5.—種多核分布式系統(tǒng),包括一個主控板和一個以上的業(yè)務(wù)板,其特征在于,所述主控板和業(yè)務(wù)板被全局編號,每個單板上包括控制核、業(yè)務(wù)核、數(shù)據(jù)核在內(nèi)的所有核被局部編號;各個單板通過設(shè)備管理機制進行相互發(fā)現(xiàn),每個單板上的各自的處理核通過握手機制進行相互發(fā)現(xiàn);所述主控板或業(yè)務(wù)板上的任意當前核包括 業(yè)務(wù)模塊,用于向單板上的多核進程間通信模塊發(fā)送攜帶目標單板號、目標核編號或者組播號的消息; 多核進程間通信模塊,用于接收來自所述業(yè)務(wù)模塊的消息,并根據(jù)其中攜帶的目的節(jié)點編號將所述消息發(fā)送給目標板;如果目的節(jié)點是單播節(jié)點,則單播給目標板;如果目的節(jié)點是組播節(jié)點,則組播給目標板集合。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于所述多核進程間通信模塊收到消息后,根據(jù)目標核編號,將消息發(fā)送給目標核。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于消息在板間轉(zhuǎn)發(fā)和目標板的核間轉(zhuǎn)發(fā)過程中,都是以統(tǒng)一格式的報文形式存在。
8.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于所述特定單板上的多核進程間通信模塊是該單板上各個需要進程通信的處理核共享的一個模塊;該模塊能夠硬件中轉(zhuǎn)板間消息給目標核。
全文摘要
本發(fā)明公開了一種分布式多核系統(tǒng)中的進程間通信方法,包括主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送單播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帶目標板號、目標核編號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)所述目標板號將消息直接發(fā)送給目標板,目標板上的多核進程間通信模塊根據(jù)目標核編號將消息送給目標核;主控板或者業(yè)務(wù)板上的任意當前核在需要發(fā)送組播消息時,首先由該當前核中的業(yè)務(wù)模塊發(fā)送攜帶組播號的消息到本板的多核進程間通信模塊,然后多核進程間通信模塊根據(jù)組播組里面的目標板號集合進行硬件組播,目標板上的多核進程間通信模塊根據(jù)目標核編號集合進行多核組播。該方法不占用各個處理核的資源,性能沒有下降,可以通過組播來實現(xiàn)高效監(jiān)控、查詢等動作。
文檔編號G06F9/54GK102789399SQ20121023254
公開日2012年11月21日 申請日期2012年7月6日 優(yōu)先權(quán)日2012年7月6日
發(fā)明者蓋建華 申請人:蘇州漢明科技有限公司