專利名稱:集群服務器用插卡式高速緩存器及其運行方法
技術領域:
本發明屬于一種與集群式流媒體服務器配套用部件,特別是一種采用多計算機集群服 務器系統進行流媒體視頻傳播服務中,各服務器主機之間及各服務器主機與客戶之間通信 用插卡式高速緩存器及其運行方法,該緩存器亦可與數據庫機群服務器、Web機群服務器 等配套使用。
背景技術:
在采用集群服務器的多計算機系統中,每個主機均采用其操作系統中原有的獨立緩存 機制,在各個主機之間沒有設置分布式緩存系統,因而各個主機之間不能共享彼此擁有的 緩存數據、數據資源利用率低。因此,傳統流媒體視頻傳播服務系統存在,主機內存占用 多、磁盤I/0操作頻繁,CPU負載大,系統總體處理能力及網絡傳輸的效率較低等缺陷。
發明內容
本發明的目的是針對原有集群式服務器采用各自獨立的緩存系統存在的弊病,研究設 計一種集群服務器用插卡式高速緩存器及其運行方法,在各主機上增設一相對獨立的插卡 式高速緩存器,并在各主機的操作系統上增設相應的功能模塊,以克服原緩存系統主機不 能共享彼此擁有的緩存數據、主機內存占用多、CPU負載大的弊病,達到降低主機內存的 占用量、減輕CPU的負載,改進主機輸入、輸出(I/O)性能,提高系統總體處理能力及 網絡傳輸效率等目的。
本發明的解決方案是將系統中分布式數據的通信和交互機制交由一相對獨立的插卡 式高速緩存器來執行,并在各主機的Linux操作系統上安裝針對高速緩存器的高速緩存管 理功能模塊及高速緩存器主機端驅動功能模塊。因此,本發明插卡式高速緩存器包括含 CPU及網絡引擎的網絡處理器,接于該處理器上的內存、閃存、電可編程只讀存儲器、串 行通訊接口、邊界掃描接口 (JTAG)及網絡接口,關鍵在于在處理器的PCI接口上還連接 有包括電平轉換電路及32位PCI金手指在內的PCI接口電路,且在閃存上固化有uclimjx 操作系統;PCI接口電路通過電平轉換電路上的開關芯片與處理器上的PCI接口上的引腳 連接,整個緩存器則通過該PCI接口電路上的32位PCI金手指與主機上的PCI插槽卡入 式連接。
上述PCI接口電路中的電平轉換電路由3個總線開關芯片組成。所述在閃存上固化有 uclinux操作系統,其操作系統功能模塊包含緩存器端驅動模塊及緩存器間通訊模塊。所
4述緩存器端驅動模塊包括初始化功能單元及中斷服務功能單元,而所述緩存器間通訊模塊 則包括發送讀請求線程功能單元、接收讀請求線程功能單元、發送命令串線程功能單元及 接收命令串線程功能單元。
上述集群服務器用插卡式高速緩存器的運行方法,包括
A. 首先將本發明高速緩存器插入各相應主機的PCI卡槽內、其上的網絡接口則分別 與網絡連接,并在各主機的Linux操作系統上安裝針對高速緩存器的高速緩存管理模塊及 高速緩存器主機端驅動模塊;
B. 運行方法為
1.0:主機進程對操作系統發出讀文件請求;
1.1:判斷此文件數據塊是否在主機內存中,如果是,就按照背景技術流程進行;否 則進入步驟2.1;
2.1:進入高速緩存管理功能模塊2.0中判斷所請求的文件數據塊是否在本機的緩存 器上,如果是、則從緩存器上直接將文件數據塊發送給主機進程;否則轉步驟2.2;
2.2:判斷所請求的文件數據塊是否在外機的緩存器上,如果是,則進入步驟2.3; 否則轉步驟2.4;
2.3:從外機緩存器中將文件數據塊調入本機緩存器內,并將文件數據塊發送給主機 進程;
2.4:判斷所請求的文件數據塊是否在本機硬盤上,如果不在本機硬盤上則進程請求 無效,退出;如果在硬盤上,則進入步驟2.5;
2.5;按背景技術流程運行,將文件數據塊發送給主機進程;同時把該文件數據塊寫 入本機緩存器內,以備后用。
上述在各主機的Linux操作系統上安裝針對高速緩存器的高速緩存管理功能模塊,其 管理功能模塊包括讀緩存請求單元、寫緩存請求單元及命令串管理單元。而高速緩存器主 機端驅動功能模塊則包括讀請求驅動單元、寫請求驅動單元及中斷服務單元。
本發明由于將系統中分布式數據的通信和交互機制交由一個相對獨立的插卡式高速 緩存器來執行,即采用硬件緩存方式取代原有內核緩存方式,解決了原系統占用主機內存、 CPU負載大的問題;在各主機的Linux操作系統上安裝針對高速緩存器的高速緩存管理模 塊及高速緩存器主機端驅動模塊,通過硬件系統上進行機群間的通信,改進了主機輸入、 輸出(I/O)性能,增加了系統總體處理能力,保證了文件存取的快速性和準確性。因而 本發明具有系統主機內存占用量小、CPU負載輕,可通過硬件系統進行機群間的通信,文 件存取快速、準確,有效提高了系統的總體處理能力等特點。
圖1為本發明插卡式高速緩存器結構示意5圖2為本發明方法運行流程示意圖(方框圖);
圖3為具體實施方式
中本發明方法所采用功能模塊結構示意圖。
圖中5、插卡式緩存器;5-1、處理器,5-2、內存,5-3、閃存,5-4、電可編程只 讀存儲器(EEPR0M), 5-5、網絡接口, 5-6、電平轉換電路,5-7、 32位PCI金手指,5-8、 邊界掃描接口 (JTAG), 5-9、串行通信接口, 5-10、 PCI接口電路。
具體實施例方式
本實施方式插卡式高速緩存器5中處理器5-1采用Intel公司生產的其中含CPU及 網絡引擎的型號為IXP425的網絡處理器,它通過SDRAM接口外接采用4塊 MT48LC32M16A2芯片構成、共256M字節容量的內存5-2;閃存5-3采用容量為32M的 芯片TE28F128J3C150,并通過處理器5-1的擴展總線接口 (Expansion Bus Interface)與 其連接,該閃存為插卡系統提供儲存操作系統及程序的空間;電可編程只讀存儲器 (EEPROM ) 5-4型號為PCF8594,接于處理器5-1的通用輸入輸出(GPIO)接口中的6、 7號接口 (GPI06、 GPIP7)上,EEPROM用于存儲系統的網絡MAC地址;網絡接口 5-5 采用型號為LXT972A的以太網收發器芯片,該芯片與處理器5-l的介質無關(Mil)接口 連接,其外端通過RJ45接口與外部以太網絡連接;JTAG接口 5-8直接與處理器5-l對應 的引腳連接、以作為邊界掃描和初始代碼燒寫接口;串行通訊接口 5-9采用型號為 MAX3223E的芯片,該芯片與處理器5-1的串行通訊引腳連接,作為終端調試接口用;PCI 接口 5-10由起3.3V與5V信號電平雙向轉換作用的電平轉換電路5-6及32位PCI金手指 5-7組成,其中,電平轉換電路5-6由3個型號為CBTD16210的總線開關芯片組成。該插 卡式高速緩存器使用時,將32位金手指5-7插于主機的PCI卡槽內、并通過其上的網絡 接口 5-5接入網絡中。
附圖3為本實施方式中的運行方法所采用功能模塊結構示意圖,其運行方法包括
A. 首先將本發明高速緩存器插入各相應主機的PCI卡槽內、其上的網絡接口則分別 與網絡連接,同時在各主機的Limix操作系統上安裝針對高速緩存器的含讀緩存請求單 元、寫緩存請求單元及命令串管理單元的高速緩存管理模塊及含讀請求驅動單元、寫請求 驅動單元、中斷服務單元的高速緩存器主機端驅動模塊;
B. 具體運行流程為
1. O:主機進程對操作系統發出讀文件請求;
1.1:判斷此文件數據塊是否在主機內存中,如果是,則進入步驟1.2按照背景技術流 程進行;否則進入步驟2.1;
2.1:進入高速緩存管理功能模塊2. 0中判斷所請求的文件數據塊是否在本機的緩存器上,如果否、則轉步驟2,2;如果是,則進行以下操作
通過高速緩存管理功能2. 0中的讀緩存請求單元2.01調用緩存器主機端驅動模塊3.0 內的讀請求驅動單元3.1,建立DMA(直接內存存取)緩沖區,以存儲從緩存器傳輸過來的 文件數據塊,并將此緩沖區地址映射到PCI總線7上,所映射的地址及讀文件數據塊請求 信息均放入主機與緩存器都可以訪問的共享緩沖區中,然后通過PCI總線7向緩存器發送 讀文件數據塊中斷信號;
緩存器上的驅動模塊5.1內的中斷服務單元5.12響應此讀文件數據塊中斷信號,并讀 取共享緩沖區內的DMA映射地址和請求信息,然后根據DMA映射地址及請求信息把存 儲在緩存器上相應的文件數據塊通過DMA方式傳輸到主機建立的DMA緩沖區中;DMA 傳輸完成后,緩存器通過PCI總線7向主機發送中斷信號;
主機端的緩存器驅動模塊3.0的中斷服務單元3.3響應此中斷信號,把請求的文件數 據塊返回讀緩存請求單元2.01、然后通過該請求單元把文件數據塊返回給請求此文件數據 塊的主機進程;
2.2:緩存器管理模塊2.0判斷所請求的文件數據塊是否在外機的緩存器上,如果是, 則進入步驟2.3;否則轉步驟2.4;
2. 3:亦通過高速緩存管理模塊2. 0中的讀緩存請求單元2.01調用緩存器主機端驅動 模塊3.0內的讀請求驅動單元3.1,建立DMA(直接內存存取)緩沖區,以存儲從緩存器傳 輸過來的文件數據塊,并將此緩沖區地址映射到PCI總線7上,所映射的地址及讀文件數 據塊請求信息均放入主機與緩存器都可以訪問的共享緩沖區中,然后通過PCI總線7向緩 存器發送讀文件數據塊中斷信號;
緩存器中斷服務模塊5.12將響應此讀文件數據塊中斷信號,并且讀取共享緩沖區內 的DMA映射地址和請求信息;它將把此讀請求信息發送給緩存器間通訊模塊5. 2內的發 送讀請求線程單元5.21,該線程單元向存有該請求文件數據塊的外機緩存器發送讀文件 數據塊請求信息、外機緩存器接收讀請求線程單元5.22響應此請求,該外機緩存器讀取 所請求的文件數據塊并發送回本機緩存器;本機緩存器通訊模塊把此文件數據塊存儲在緩 存器上,然后通過與步驟2.1相同的方式,把文件數據塊返回給請求此文件數據塊的主 機進程;
2.4 :判斷所請求的文件數據塊是否在本機硬盤上,如果不在本機硬盤上則進程請求
7無效,退出;如果在硬盤上,則進入步驟2.5;
2.5:按背景技術流程運行,將文件數據塊發送給主機進程;同時啟動緩存管理模塊
2.0內的寫緩存請求單元2.02,將此文件數據塊寫入緩存器以備后用;寫緩存請求單元2.02
調用寫請求驅動單元3.2,此驅動單元將建立DMA (直接內存存取)緩沖區,把需要寫入
緩存器的文件數據塊拷貝到緩沖區中,并將該緩沖區地址映射到PCI總線7上,映射的地
址及請求信息均放入主機與緩存器都可以訪問的共享緩沖區中,然后通過PCI總線7向緩
存器發送寫文件數據塊中斷信號;
緩存器中斷服務單元5.12將響應此寫文件數據塊中斷信號,并讀取共享緩沖區的DMA映射地址和寫請求信息,然后根據DMA映射地址及寫文件數據塊請求信息通過DMA方式把要寫入的文件數據塊從主機傳輸到緩存器上,并且存儲在緩存器的相應存儲區;與此同時緩存器上驅動模塊5.1調用緩存器間通訊模塊5.2的發送命令串線程單元5.23,把此頁的相關存儲管理信息發送到所有其他與網絡相連的外機緩存器,其他外機的緩存器接收命令串線程單元5.24接收到此命令串后,再通過緩存器上驅動模塊5.1、緩存器主機端驅動模塊3.0傳遞給緩存管理模塊的命令串管理單元2.3,由此單元更新相應的文件數據塊緩存管理信息。
權利要求
1. 一種集群服務器用插卡式高速緩存器,包括含CPU及網絡引擎的網絡處理器,接于該處理器上的內存、閃存、電可編程只讀存儲器、串行通訊接口、邊界掃描接口及網絡接口,其特征在于在處理器的PCI接口上還連接有包括電平轉換電路及32位PCI金手指在內的PCI接口電路,且在閃存上固化有uclinux操作系統;PCI接口電路通過電平轉換電路上的開關芯片與處理器上的PCI接口上的引腳連接,整個緩存器則通過該PCI接口電路上的32位PCI金手指與主機上的PCI插槽卡入式連接。
2. 按權利要求1所述集群服務器用插卡式高速緩存器,其特征在于所述PCI接口電 路中的電平轉換電路由3個總線開關芯片組成。
3. 按權利要求1所述集群服務器用插卡式高速緩存器,其特征在于所述在閃存上固 化有uclinux操作系統,其操作系統功能模塊包含緩存器端驅動模塊及緩存器間通訊模 塊。
4. 按權利要求1或2所述集群服務器用插卡式高速緩存器,其特征在于所述緩存器 端驅動模塊包括初始化功能單元及中斷服務功能單元,而所述緩存器間通訊模塊則包括發送讀請求線程功能單元、接收讀請求線程功能單元、發送命令串線程功能單元及接收命令 串線程功能單元。
5. 按權利要求1所述集群服務器用插卡式高速緩存器的運行方法,包括A. 首先將本發明高速緩存器插入各相應主機的PCI卡槽內、其上的網絡接口則分別 與網絡連接,并在各主機的Linux操作系統上安裝針對高速緩存器的高速緩存管理模塊及 高速緩存器主機端驅動模塊;B. 運行方法為(1. O:主機進程對操作系統發出讀文件請求;(1.1:判斷此文件數據塊是否在主機內存中,如果是,就按照背景技術流程進行;否 則進入步驟2.1;(2.1:進入高速緩存管理模塊2. 0中判斷所請求的文件數據塊是否在本機的緩存器上, 如果是、則從緩存器上直接將文件數據塊發送給主機進程;否則轉步驟(2.2;(2.2:判斷所請求的文件數據塊是否在外機的緩存器上,如果是,則進入步驟2.3; 否則轉步驟2.4;(2. 3:從外機緩存器中將文件數據塊調入本機緩存器內,并將文件數據塊發送給主機進程;(2.4:判斷所請求的文件數據塊是否在本機硬盤上,如果不在本機硬盤上則進程請求無效,退出;如果在硬盤上,則進入步驟2.5;2.5;按背景技術流程運行,將文件數據塊發送給主機進程;同時把該文件數據塊寫入本機緩存器內,以備后用。
6. 按權利要求5所述運行方法,其特征在于所述在各主機的Linux操作系統上安裝 針對高速緩存器的高速緩存管理模塊,其管理模塊包括讀緩存請求單元、寫緩存請求單元 及命令串管理單元。
7. 按權利要求5所述運行方法,其特征在于所述高速緩存器主機端驅動模塊則包括 讀請求驅動單元、寫請求驅動單元及中斷服務單元。
全文摘要
該發明屬于集群服務器用插卡式高速緩存器及其運行方法,緩存器包括含CPU、網絡引擎的網絡處理器及PCI接口電路;運行方法包括將緩存器插入各主機的PCI卡槽內并分別與網絡連接,在主機的Linux操作系統上安裝針對緩存器的管理及驅動模塊,然后按讀文件數據塊請求,判斷此文件數據塊是在主機內存上還是在本機的緩存器上或在外機緩存器上、或在本機硬盤上,再按相應流程進行。該發明由于將系統中分布式數據的通信和交互機制交由插卡式高速緩存器來執行,并通過硬件系統進行機群間的通信,從而具有運行中系統主機內存占用量小、CPU負載輕,可通過硬件系統進行機群間的通信,文件存取快速、準確,有效提高了系統的總體處理能力等特點。
文檔編號H04L29/08GK101478570SQ20091005819
公開日2009年7月8日 申請日期2009年1月20日 優先權日2009年1月20日
發明者曾新科, 毅 李, 波 楊, 陳秋益 申請人:電子科技大學