《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于多核多線程處理器的網絡設備設計與實現
基于多核多線程處理器的網絡設備設計與實現
電子設計工程
摘要: 網絡中核心設備的數據吞吐量非常大,兼顧高數據量吞吐和業務處理非常重要。提出采用最新的多核多線程處理器,以VCPU為單位部署操作系統,實現兩種操作系統共CORE,通過共享內存通信方案,有效解決高數據吞吐率和復雜業務處理的矛盾,細化多核處理器的分配粒度,從而提升網絡核心設備的性能。
Abstract:
Key words :

(北京郵電大學 計算機學院體系結構中心,北京 100876)

1 引言

互聯網已成為人們低成本高效率獲取信息的平臺,隨著各站點訪問量和信息交流量的迅猛增長,網絡接入邊緣的瓶頸阻塞日益嚴重。因此,必須提高網絡中核心設備的性能,以滿足網絡流量日益增長的需要。常見的通信網由電路交換系統和基于分組的交換系統構成,整個網絡由一系列小網絡、傳輸和終端設備組成,網絡間互通性差、可管理性不強,網絡業務不靈活。隨著電子商務、多媒體業務和VoIP等對帶寬的要求較高的業務的出現,設計并實現高性能的網絡設備" title="網絡設備">網絡設備更加重要。為了滿足越來越多的網絡業務對網絡帶寬的需求,有研究機構和企業提出采用X86+FPGA/ASIC的系統架構,這種架構帶有明顯的數據平面和控制平面相分離的特征,因此能夠實現高性能目標。但由于FPGA或ASIC技術需要很大的研發投入,且進行功能擴展的性能較差,產品更新換代的速度很慢。因此,這里提出在網絡設備中應用多核" title="多核">多核多線程處理器,繼續分離數據平面和控制平面,滿足用戶對網絡業務豐富和性能增長同步發展的需求。

2  框架設計及實現

RMI公司的XLR系列是基于RMI增強型MIPS64" title="MIPS64">MIPS64內核,可同時支持32個線程的獨特構架的處理器,工作頻率達1.5 GHz,同時支持高度集成的獨立硬件安全引擎和網絡應用加速器。XLR系列處理器采用多核多線程技術,具有很高的數據處理能力,可以在復雜的網絡環境中承擔網絡設備高速轉發任務。為了平衡高速的數據轉發和復雜的業務處理之間的矛盾,本系統在XLR系列器件的32個線程上運行Linux和VxWorks兩種操作系統,并使用VxWorks完成高速的數據轉發,使用Linux進行復雜的業務處理。

如果Linux和VxWorks兩種操作系統運行在不同的CORE上,則兩種操作系統不會競爭中斷和BUCKET等硬件資源,但卻對業務部署帶來很大麻煩,導致業務的劃分粒度也很粗獷。因此,本文提出Linux和VxWorks共CORE,通過共享內存區快速通信的方案,細化業務劃分粒度,并優化XLR器件驅動程序框架,充分發揮軟硬件資源優勢,提升網絡核心設備性能。

從硬件配置、網絡驅動、軟件結構3個層次構建網絡中核心設備框架,其中硬件配置用于配置XLR器件硬件資源分布,包括每個CORE相應站內的桶的深度以及GMAC/SPl4與CORE通過FMN總線通信所需的credits,以支持上層業務需要;網絡驅動的主要作用是屏蔽操作系統對底層硬件資源的競爭,正確區分控制業務報文和轉發數據報文,每個網口的網絡加速引擎將報文地址和長度信息封裝成FMN消息并提交給相應模塊進行處理;軟件層的主要作用是更好地利用不同操作系統的優點,分離控制平面和數據平面,實現兩種操作系統間的通信,以實現復雜的業務控制和高速的數據轉發。圖1為該網絡核心設備系統架構。



2.1硬件配置 

XLR系列處理器通過快速消息網絡FMN(Fast MessageNetwork)將系統的CPU CORE、報文處理單元PDE、加密單元Cypto引擎、多處理器互聯的HT接口(HyperTransport)、PCI-X等互聯。默認情況下,FMN總線上每個站內包含8個桶,每個桶的深度為32。每個桶都有其固定的ID,系統中共有128個桶,其中CORE使用前64個桶(0~63號桶)。

為了區分控制報文信息和數據報文信息,并結合網絡驅動程序將報文送至正確目的地,使能每個CORE內的0,3,4,7號桶,禁用1,2,5,6號桶。每個桶內含有64個entry。其中0號桶用于存放目的地是Linux的數據報文,而3號桶用于存放目的地是VxWorks的數據報文。4號桶用于存放Linux操作系統發送消息后產生的freeback消息,7號桶用于存放VxWorks操作系統發送消息后產生的freeback消息。為了實現GMAC/SP14和CORE能夠通過FMN總線通信,必須在每個站維護一定的credits數,表1列出系統credits分布情況。



2.2  網絡驅動

根據不同的網絡環境,可設計不同的網絡驅動類型。如果網絡環境中流量較小,使用網絡處理器中的一個或幾個硬件線程即可滿足網絡帶寬要求,則可設計集中式網絡驅動程序。在集中式網絡驅動程序中,一個或少數幾個VCPU作為數據轉發的代理,大部分數據報文由這組代理VCPU接收、處理并轉發;如果這組代理VCPU收到控制報文,則判斷報文目的地,并通過IPI中斷將控制報文轉發給相應VCPU處理。這種驅動程序設計徹底分離數據平面和控制平面,但其缺點是代理VCPU的壓力很大,如果網絡流量變大,則很可能因為數據報文擁塞而導致代理VCPU癱瘓,這時整個系統就必須重啟。為了能夠適應更大的網絡流量,這里設計分布式網絡驅動。分布式網絡驅動中,所有VCPU都會接收數據報文和控制報文,并進行相應的處理和轉發。分布式網絡驅動程序的優點是所有VCPU平均分擔網絡流量,不會因為某幾個VCPU癱瘓而導致系統重啟。而分布式驅動程序使數據平面和控制平面的隔離不夠徹底,一定程度上影響數據轉發性能。

這里的應用場景為網絡中的核心設備,因此網絡流量非常大,可以采用分布式驅動程序設計。GMAC或SPI4接口收到數據后,數據通過NA的DMA直接存入內存區,而NA將收到報文的信息封裝成FMN消息格式送到CORE0的0號桶。在分布式驅動程序設計中,所有VCPU都要相應中斷,中斷掩碼為0xffffffff。每個站內的桶接收到消息會隨機發送中斷信號到4個VCPU中的一個,收到中斷信號的VCPU響應中斷到桶內收消息,收到消息后,判斷消息是否需其本身處理,如果無需自己處理,就發送IPI中斷到目的VCPU,通知目的VCPU處理該消息。圖2為分布式驅動程序框架。



由于每個硬件線程都運行獨立的操作系統,而且由于操作系統的差異性,操作系統會競爭資源,因此必須提出一種方案,使資源競爭對Linux和VxWorks操作系統透明。因為中斷信號的響應單位是CORE,并且CORE內4個硬件線程響應此中斷是隨機的,所以硬件線程對中斷的競爭是不可避免的。為此,提出通過下列方案實現消息發送到指定的目的地,也即保證Linux不會取走目的地是VxWorks的數據報文。

方案如下:①用某個GMAC網口接收控制消息,用其余GMAC和SP14接口處理數據報文;②每個CORE內8個桶,使能4個,禁用4個。分別使能0號桶,3號桶,4號桶,7號桶,禁用1,2,5,6號桶。每個桶內含有64個entry。其中0號桶用于存放目的地是Linux的數據報文,而3號桶用于存放目的地是VxWorks的數據報文。4號桶用于存放Linux操作系統發送消息后產生的freeback消息,7號桶用于存放VxWorks操作系統發送消息后產生的freeback消息;配置GMAC口NA中的pdeclass寄存器,將所有報文發送到CORE內的0號桶。配置其余GMAC口和SPI4接口NA的pdeclass寄存器,將所有報文發送到CORE內的3號桶。分別修改GMAC和SPl4發送函數,將FREEBACK消息目的地設定為CORE內的4號桶和7號桶。該方案通過優化數據接收流程,使資源的競爭對操作系統透明,每個操作系統以為自己獨享全部資源。

由于本文的應用環境網絡流量很大,其中數據流量占到90%左右,而控制信息只占約10%,所以在第1個CORE上,系統在VCPUO上運行Linux操作系統,負責處理控制消息;而其余3個VCPU運行VxWorks,負責數據報文的轉發。

2.3  軟件結構

網絡核心設備系統架構軟件層完成操作系統部署方案。XLR系列器件有8個CORE,每個CORE內有4個硬件線程,4個硬件線程共享一級高速緩存、桶、中斷等資源。如果以CORE為單位部署操作系統,那么CORE內4個硬件線程是SMP結構,不會競爭上述資源。但按CORE部署操作系統是一種粗粒度的劃分,是資源利用和系統性能的瓶頸。所以本文提出操作系統的部署以VCPU為單位,同一個CORE內既可有Linux也可有VxWorks。

Linux和VxWorks的優缺點比較:Linux的優點有,模塊化設計,可劃分細粒度業務;無版權,免費獲?。还δ茇S富,可擴展性強;用戶進程地址空間獨立;網絡資源豐富;系統穩定性很高。其缺點為自旋鎖等機制導致實時性下降;可能導致中斷丟失;Linux系統管理復雜,培訓需要較長時間。而Vx-Works的優點有:實時性好;內存碎片少;系統簡單,調試容易,有Tomado開發環境;商用操作實時系統,提供的資源非常適合嵌入式應用:BSP開發非常規范。其缺點為內核保留的信息很少,導致很難開發復雜業務流程;網絡資源很少,技術支持只有WindRiver;系統穩定性取決于開發者能力;內核采用實存儲管理方式。

為了更好的結合Linux和VxWorks兩種操作系統的優點,這里使用Linux操作系統控制平面的業務處理,使用Vx-Works負責數據平面的轉發任務。

除了資源競爭帶來的問題外,還必須實現兩種操作系統之間的通信。由于兩種操作系統存在差異性,使兩者之間的交互不能通過簡單進程間通信方式FIFO,PIPE等實現。為了解決兩者間的通信問題,本文提出通過共享內存實現兩種操作系統之間通信的方案。首先,Linux和VxWorks將需要交互的數據放人共享內存區,然后發送IPI中斷到目標操作系統,通知目標操作系統去共享內存區取數據并進行處理。實現步驟:①VxWorks通過TLB映射共享內存區到虛擬地址。共享內存區經TLB映射后,VxWorks操作系統就可讀寫該區域。②Linux修改link腳本,在進程運行前預留共享內存區。③注冊一個字符設備,用于管理共享內存區。修改該設備的mmap函數,該mmap函數實現共享內存區物理地址到虛擬地址的映射。④如果Linux用戶態進程運行,首先打開該字符設備,調用mmap函數映射共享內存區。這樣該用戶態進程就可以操作該共享內存區。⑤如果Linux內核態進程運行,調用iormap調用映射共享內存區物理地址到虛擬地址,這樣內核態進程就可以操作該共享內存。通過以上5個步驟,建立Linux和VxWorks兩種操作系統之間的共享內存區。

3  性能分析

這里性能測試的目的是測試目標網絡設備的網絡吞吐量,即在不丟包的前提下,該設備所能提供的最大傳輸速率。本次測試使用兩塊XLR系列器件級聯測試此系統性能,測試用兩塊器件均啟動一個VCPU,也即VCPU0,其上運行Linux操作系統,安裝netperf網絡性能測試工具。其中,第1塊器件的VCPU0使用netperf發送數據報文,另一塊的VCPU0接收并處理數據。表2為測試得到的轉發速率。

在數據轉發過程中,查看得到每個VCPU的CPU占用率為60%左右,通過優化netperf工具,可進一步提高轉發性能。

4 結束語

本文基于多核多線程的處理器,從硬件配置、網絡驅動程序、軟件結構3個層次構建一套網絡核心設備的系統架構。該架構對復雜的業務處理和高速的網絡流量轉發都做了優化處理。給出3個層次的設計框架,并對關鍵問題提出解決方案。根據本文得到的實驗數據,得出利用多核多線程處理器并優化硬件配置,在軟件層次優化網絡流量處理流程,細粒度化業務模型,分離數據平面和控制平面,可以在完成復雜業務處理流程的前提下,大大提高網絡流量轉發速率。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲国产综合91精品麻豆| 性欧美8khd高清极品| 国产精品热久久久久夜色精品三区| 9色精品在线| 欧美日韩国产bt| 欧美激情中文字幕一区二区| 久久久久国产一区二区| 久久精品91| 亚洲激情啪啪| 一区二区三区成人| 欧美日韩高清在线观看| 激情偷拍久久| 免费成年人欧美视频| 亚洲一区999| 欧美日韩亚洲不卡| 中日韩午夜理伦电影免费| 欧美色中文字幕| 久久久亚洲国产天美传媒修理工| 黄色亚洲网站| 国产精品久久久久aaaa九色| 亚洲欧美日韩区| 国产综合色精品一区二区三区| 久久狠狠亚洲综合| 亚洲欧美日韩国产综合精品二区| 男同欧美伦乱| 欧美日韩国产色综合一二三四| 欧美专区18| 国产精品久久久久久久浪潮网站| 亚洲男人的天堂在线观看| 国产精品一二三视频| 亚洲开发第一视频在线播放| 国产亚洲欧美中文| 在线观看视频免费一区二区三区| 国产精品久久国产精品99gif| 亚洲国产精品一区| 欧美一级精品大片| 欧美理论电影在线播放| 樱桃视频在线观看一区| 在线视频国产日韩| 国产精品一区视频网站| 欧美一区在线视频| 欧美日本簧片| 怡红院精品视频在线观看极品| 国产午夜久久| 亚洲精品五月天| 国产精品美女久久久| 久久三级视频| 亚洲图片欧美一区| 欧美福利一区二区三区| 久久国产精品久久国产精品| 欧美亚日韩国产aⅴ精品中极品| 国内成+人亚洲+欧美+综合在线| 亚洲一区二区高清| 国产精品日韩欧美一区二区| 久久av一区二区三区漫画| 欧美va天堂| 欧美精品久久久久久久| 亚洲小视频在线观看| 亚洲性视频网址| 亚洲欧美精品在线观看| 国产一区二区黄色| 欧美在线一二三四区| 欧美午夜一区二区三区免费大片| 国内精品美女av在线播放| 国产午夜亚洲精品羞羞网站| 国产精品视频久久| 亚洲激情校园春色| 亚洲免费中文字幕| 小黄鸭视频精品导航| 亚洲高清免费在线| 久久一二三区| 欧美91精品| 亚洲女性喷水在线观看一区| 欧美性一二三区| 亚洲欧洲日产国产综合网| 亚洲欧美另类国产| 国产精品乱码| 欧美特黄a级高清免费大片a级| 久久久久**毛片大全| 久久久久久婷| 美国三级日本三级久久99| 校园春色综合网| 亚洲在线黄色| 亚洲午夜激情网页| 欧美一区二区精品久久911| 欧美精品性视频| 国产精品jvid在线观看蜜臀| 欧美日本国产一区| 欧美精品少妇一区二区三区| 欧美调教vk| 欧美激情精品久久久六区热门| 欧美国产日韩精品免费观看| 日韩视频亚洲视频| 欧美日韩午夜精品| 亚洲精品日日夜夜| 中日韩视频在线观看| 国内精品写真在线观看| 欧美成人国产va精品日本一级| 国内外成人免费激情在线视频网站| 欧美另类久久久品| 亚洲观看高清完整版在线观看| 国产精品视频免费一区| 亚洲欧美激情视频| 欧美日韩国产黄| 亚洲黄一区二区| 激情久久婷婷| 欧美在线观看日本一区| 亚洲国产小视频在线观看| 亚洲欧洲日产国产网站| 欧美日韩成人综合天天影院| 亚洲精品女人| 亚洲国产精品视频一区| 欧美成ee人免费视频| 欧美一区激情| 国产亚洲欧美一级| 妖精成人www高清在线观看| 国产精品一区二区男女羞羞无遮挡| 欧美精品一区二区蜜臀亚洲| 欧美性猛交视频| 亚洲福利在线视频| 在线看视频不卡| 亚洲国产裸拍裸体视频在线观看乱了中文| 卡一卡二国产精品| 欧美日韩精品一区二区| 欧美色网一区二区| 韩日成人在线| 欧美精品激情| 欧美伊人久久| 午夜精品一区二区三区四区| 欧美激情在线免费观看| 亚洲激情一区二区| 久久免费视频这里只有精品| 免费欧美高清视频| 亚洲电影免费观看高清完整版在线| 欧美 日韩 国产精品免费观看| 亚洲欧美福利一区二区| 性色av一区二区三区| 激情国产一区| 国产视频一区二区三区在线观看| 国产欧美日韩一区二区三区在线| 你懂的视频一区二区| 欧美一区网站| 精品成人国产在线观看男人呻吟| 性xx色xx综合久久久xx| 欧美日韩亚洲一区二区三区四区| 国产日韩欧美综合在线| 亚洲大片在线| 国产欧美日韩专区发布| 亚洲电影免费观看高清完整版在线| 亚洲综合激情| 亚洲高清视频在线观看| 国产精品视频在线观看| 蘑菇福利视频一区播放| 国产精品网站视频| 日韩视频免费观看| 激情文学综合丁香| 亚洲人屁股眼子交8| 亚洲综合精品一区二区| 欧美在线观看日本一区| 国产在线精品一区二区夜色| 欧美自拍偷拍午夜视频| 99在线观看免费视频精品观看| 欧美激情小视频| 国产精品99一区| 亚洲日本中文字幕区| 男女av一区三区二区色多| 久久中文字幕一区| 午夜精品视频在线| 免费影视亚洲| 羞羞漫画18久久大片| 亚洲国产精品一区二区尤物区| 最新成人av网站| 亚洲视频你懂的| 欧美日韩国内| 91久久国产综合久久91精品网站| 国产精品第一页第二页第三页| 国产精品麻豆欧美日韩ww| 久久手机免费观看| 欧美va亚洲va香蕉在线| 一区二区亚洲精品国产| 亚洲第一福利社区| 午夜精品视频在线观看一区二区| 久久久久国产精品麻豆ai换脸| 美女脱光内衣内裤视频久久网站| 欧美精品黄色| 国产亚洲aⅴaaaaaa毛片| 久久一区精品| 农村妇女精品| 欧美专区在线播放| 毛片基地黄久久久久久天堂| 久久久精品视频成人| 亚洲四色影视在线观看| 亚洲精品一区二区三区福利| 在线成人www免费观看视频| 国产一区二区三区无遮挡| 欧美福利小视频| 欧美精品一区二区三区久久久竹菊| 好吊日精品视频| 国产在线一区二区三区四区| 亚洲精选久久| 99精品免费视频| 一本色道久久综合狠狠躁篇的优点| 午夜精品福利视频| 乱人伦精品视频在线观看| 午夜精品三级视频福利| 亚洲午夜电影在线观看| 亚洲一区欧美| 午夜精品久久久99热福利| 99精品热视频| 好看的日韩av电影| 日韩午夜av电影| 欧美四级电影网站| 欧美日韩国产麻豆| 99视频超级精品| 欧美精品www在线观看| 国产精品亚洲精品| 亚洲高清在线| 亚洲欧洲日韩女同| 中文网丁香综合网| 久久午夜激情| 欧美日韩国产经典色站一区二区三区| 国产精品女同互慰在线看| 国产亚洲观看| 欧美乱大交xxxxx| 午夜精品成人在线| 国产视频一区二区三区在线观看| 亚洲人午夜精品免费| 蜜桃精品一区二区三区| 国产精品久久久久久久久| 亚洲乱码国产乱码精品精98午夜| 国产美女诱惑一区二区| 一区二区冒白浆视频| 欧美在线视频免费观看| 亚洲欧美精品在线| 欧美精品一区二区三区很污很色的| 两个人的视频www国产精品| 久久精品青青大伊人av| 国产精品久久久一区二区三区| 久久久久88色偷偷免费| 亚洲日韩欧美视频| 黑人一区二区| 国产精品久久久免费| 亚洲精品资源| 久久九九久久九九| 欧美一区二区三区免费观看视频| 狠狠综合久久av一区二区老牛| 亚洲色在线视频| 极品日韩av| 在线一区二区三区四区| 亚洲精品日韩在线观看| 国产日韩欧美自拍| 亚洲影视九九影院在线观看| 免费黄网站欧美| 国产精品免费网站在线观看| 亚洲人线精品午夜| 国产三区二区一区久久| 亚洲激情图片小说视频| 欧美日韩三级视频| 国产九九视频一区二区三区| 巨乳诱惑日韩免费av| 免费一级欧美片在线播放| 99视频在线观看一区三区| 亚洲免费电影在线观看| 欧美在线观看视频在线| 国产精品激情| 国产一区视频在线看| 久久精品人人做人人爽| 欧美无乱码久久久免费午夜一区| 国产精品免费网站在线观看| 一本色道久久综合亚洲精品不| 日韩视频不卡| 中文精品视频一区二区在线观看| 亚洲伦理中文字幕| 亚洲第一毛片| 国产欧美精品一区| 伊人成综合网伊人222| 亚洲天堂视频在线观看| 亚洲一区二区在| 国产日韩欧美综合精品| 亚洲一区二区三区国产| 香蕉国产精品偷在线观看不卡| 99精品视频免费观看视频| 欧美区国产区| 亚洲欧美不卡| 性一交一乱一区二区洋洋av| 亚洲精品视频啊美女在线直播| 亚洲精品资源| 亚洲欧美日韩国产另类专区| 午夜国产欧美理论在线播放| 久久久蜜桃精品| 久久精品男女| 亚洲图片欧美一区| 欧美福利一区二区三区| 欧美亚洲视频一区二区| 亚洲国产精品久久久久| 亚洲激情成人网| 激情国产一区| 久久人91精品久久久久久不卡| 亚洲在线免费| 国产精品大片免费观看| 国产一区二区三区久久精品| 亚洲激情第一区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲成人在线免费| 欧美午夜理伦三级在线观看| 亚洲国产成人一区| 久久久久久91香蕉国产| 国产精品v日韩精品v欧美精品网站| 国产精品v欧美精品v日本精品动漫| 欧美巨乳波霸| 欧美视频一区二区| 狠狠久久亚洲欧美| 精品91视频| 免费观看一区| 香蕉精品999视频一区二区| 亚洲午夜国产成人av电影男同| 99视频有精品| 欧美日本一区二区三区| 欧美激情按摩| 欧美 亚欧 日韩视频在线| 欧美美女喷水视频| 在线播放国产一区中文字幕剧情欧美| 亚洲国产成人高清精品| 国产精品扒开腿爽爽爽视频| 亚洲精品欧美精品| 欧美1区2区3区| 国产毛片一区| 国产一区视频在线看|