欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用圖形處理單元提高計(jì)算機(jī)中實(shí)時(shí)數(shù)據(jù)庫處理能力的方法

文檔序號(hào):6338522閱讀:247來源:國知局
專利名稱:使用圖形處理單元提高計(jì)算機(jī)中實(shí)時(shí)數(shù)據(jù)庫處理能力的方法
技術(shù)領(lǐng)域
本發(fā)明涉及工業(yè)控制系統(tǒng)領(lǐng)域和商業(yè)業(yè)務(wù)系統(tǒng)領(lǐng)域的實(shí)時(shí)數(shù)據(jù)庫系統(tǒng),尤其涉及使用圖形處理單元(Graphics Processing Unit, GPU,或譯圖形處理器)處理實(shí)時(shí)數(shù)據(jù)的系統(tǒng)和方法。
背景技術(shù)
實(shí)時(shí)數(shù)據(jù)庫(Real Time Database, RTDB)是數(shù)據(jù)庫系統(tǒng)發(fā)展的一個(gè)分支,是數(shù)據(jù)庫技術(shù)結(jié)合實(shí)時(shí)處理技術(shù)產(chǎn)生的。實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)是開發(fā)實(shí)時(shí)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、電信計(jì)費(fèi)系統(tǒng)、股票交易系統(tǒng)等的支撐軟件。實(shí)時(shí)數(shù)據(jù)庫的一個(gè)重要特性就是實(shí)時(shí)性,實(shí)時(shí)性是現(xiàn)場實(shí)時(shí)數(shù)據(jù)的更新周期。作為實(shí)時(shí)數(shù)據(jù)庫,需要考慮數(shù)據(jù)的實(shí)時(shí)性。實(shí)時(shí)數(shù)據(jù)庫具有另一個(gè)重要特征是數(shù)據(jù)庫技術(shù)該系統(tǒng)中管理了大量的數(shù)據(jù),同時(shí)提供數(shù)據(jù)的存貯、檢索、修改、加工等多方面的數(shù)據(jù)管理手段。在工業(yè)流程控制行業(yè)中,大量使用實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)進(jìn)行控制系統(tǒng)監(jiān)控、系統(tǒng)先進(jìn)控制和優(yōu)化控制,并為企業(yè)的生產(chǎn)管理和調(diào)度、數(shù)據(jù)分析、決策支持及遠(yuǎn)程在線瀏覽提供實(shí)時(shí)數(shù)據(jù)服務(wù)和多種數(shù)據(jù)管理功能。實(shí)時(shí)數(shù)據(jù)庫已經(jīng)成為企業(yè)信息化的基礎(chǔ)數(shù)據(jù)平臺(tái)。數(shù)據(jù)采集與監(jiān)控(SupervisoryControl And Data Acquisition, SCADA)系統(tǒng)的應(yīng)用領(lǐng)域很廣,它可以應(yīng)用于電力系統(tǒng)、給水系統(tǒng)、石油、化工等領(lǐng)域的數(shù)據(jù)采集與監(jiān)視控制以及過程控制等諸多領(lǐng)域。一些大型企業(yè)中的SCADA系統(tǒng)面臨越來越大的容量壓力。雖然SCADA系統(tǒng)能應(yīng)付這樣的容量壓力,但其硬件實(shí)現(xiàn)成本非常高昂,并相應(yīng)地帶來了每年高昂的硬件維護(hù)成本。SCADA系統(tǒng)內(nèi)的實(shí)時(shí)數(shù)據(jù)庫是SCADA系統(tǒng)提高容量的主要瓶頸。如何有效地提高實(shí)時(shí)數(shù)據(jù)庫的處理能力,是解決SCADA系統(tǒng)容量問題的關(guān)鍵。而實(shí)時(shí)數(shù)據(jù)庫的常規(guī)處理例如實(shí)時(shí)數(shù)據(jù)的量程轉(zhuǎn)換、越限處理、變化處理、公式計(jì)算、歷史數(shù)據(jù)壓縮與解壓縮等常用操作,占據(jù)了中央處理單元(Central Processing Unit,CPU)的大量處理時(shí)間。CPU運(yùn)算能力限制了實(shí)時(shí)數(shù)據(jù)庫處理能力。同樣,一些大型的電信企業(yè),其計(jì)費(fèi)系統(tǒng)內(nèi)的實(shí)時(shí)數(shù)據(jù)庫受限于CPU處理能力。其通常的解決辦法是使用多臺(tái)計(jì)算機(jī)并行處理以獲得高處理能力。這樣的解決方案就帶來了高昂的硬件成本和維護(hù)費(fèi)用。隨著圖形處理單元(Graphics Processing Unit,GPU,或譯圖形處理器)軟硬件技術(shù)的日趨成熟,GPU強(qiáng)大的浮點(diǎn)運(yùn)算和并行處理能力使得業(yè)界都在致力于挖掘其潛能。很多GPU普遍具有進(jìn)行通用計(jì)算的能力。GPU只需要用非常低廉的價(jià)格,就獲得異常高的數(shù)據(jù)處理能力?;趫D形處理芯片的通用計(jì)算(General Purpose GPU,GPGPU)研究正逐步深A(yù)o 而 NVIDIA 公司獨(dú)特的統(tǒng)一計(jì)算設(shè)備架構(gòu)(Compute Unified Device Architecture,CUDA)技術(shù)相對成熟,已經(jīng)在非圖形領(lǐng)域得到廣泛的工程應(yīng)用,例如模式識(shí)別、地震預(yù)測、合成孔徑雷達(dá)等多個(gè)方面。
然而,使用GPU來處理工業(yè)控制系統(tǒng)或商業(yè)業(yè)務(wù)系統(tǒng)產(chǎn)生的實(shí)時(shí)數(shù)據(jù),相對地吸引了較少的注意。

發(fā)明內(nèi)容
本發(fā)明的目的是提供使用GPU提高實(shí)時(shí)數(shù)據(jù)庫處理能力的系統(tǒng)和方法。本發(fā)明通過將CPU來處理的主要運(yùn)算任務(wù)移植到GPU,減輕了 CPU的計(jì)算限制。更具體地,本發(fā)明將通常由CPU負(fù)責(zé)的實(shí)時(shí)數(shù)據(jù)的量程轉(zhuǎn)換、越限處理、變化處理、公式計(jì)算、歷史數(shù)據(jù)壓縮與解壓縮等常用操作創(chuàng)造性地移植到GPU上進(jìn)行處理。由于GPU提供的內(nèi)存帶寬及運(yùn)算核心遠(yuǎn)遠(yuǎn)多于CPU,GPU能提供遠(yuǎn)遠(yuǎn)大于CPU的并行運(yùn)算能力,因此本發(fā)明能顯著提升實(shí)時(shí)數(shù)據(jù)庫的處理能力。為了解決上述技術(shù)問題,本發(fā)明采取的方法是使用GPU對實(shí)時(shí)數(shù)據(jù)進(jìn)行處理,以便把原始的實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)變?yōu)橛?jì)算機(jī)中其他程序可以使用的數(shù)據(jù)。具體的實(shí)現(xiàn)步驟如下(a) 初始化GPU ; (b)把數(shù)據(jù)點(diǎn)的參數(shù)導(dǎo)入GPU的存儲(chǔ)器;(c)每隔固定時(shí)間,把需要處理的原始的實(shí)時(shí)數(shù)據(jù)導(dǎo)入GPU的存儲(chǔ)器;(d)使用GPU對上述實(shí)時(shí)數(shù)據(jù)進(jìn)行的量程轉(zhuǎn)換、越限處理、 變化處理、公式計(jì)算、歷史數(shù)據(jù)壓縮等處理;(e)輸出處理結(jié)果以供其他程序使用??梢岳斫猓襟E(c)也可以轉(zhuǎn)化為有變化數(shù)據(jù)再進(jìn)行處理的方式。本發(fā)明采取的方法還可包括使用GPU對歷史數(shù)據(jù)進(jìn)行解壓縮處理。具體的實(shí)現(xiàn)步驟如下(a)把測量點(diǎn)的壓縮歷史數(shù)據(jù)壓縮及壓縮參數(shù)導(dǎo)入GPU的存儲(chǔ)器;(b)根據(jù)其壓縮算法,使用GPU對上述數(shù)據(jù)進(jìn)行解壓縮處理;(d)最后輸出解壓縮后的歷史數(shù)據(jù)以供其他程序使用。為了滿足實(shí)際需要,本發(fā)明中的實(shí)時(shí)數(shù)據(jù)庫提供數(shù)據(jù)的存貯、檢索、修改等多方面的應(yīng)用禾呈序接□ (Application Programming Interface, API)。從以上描述可以看出,本發(fā)明是通過把實(shí)時(shí)數(shù)據(jù)庫的常見運(yùn)算移植到GPU上進(jìn)行處理,利用GPU強(qiáng)大的數(shù)據(jù)處理能力,就能使得實(shí)時(shí)數(shù)據(jù)庫的處理能力得到數(shù)倍于從前的提升。同時(shí)由于GPU的低成本,本發(fā)明能大幅降低大型實(shí)時(shí)數(shù)據(jù)庫的硬件實(shí)現(xiàn)成本。


圖1示出了可在其中實(shí)現(xiàn)GPU處理實(shí)時(shí)數(shù)據(jù)的合適的計(jì)算系統(tǒng)的一個(gè)示例。圖2所示是使用GPU處理實(shí)時(shí)數(shù)據(jù)的一個(gè)示例性實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)的系統(tǒng)結(jié)構(gòu)圖。圖3所示是作為示例,GPU與CPU協(xié)調(diào)處理實(shí)時(shí)數(shù)據(jù)的流程圖。
具體實(shí)施例方式在以下本發(fā)明的描述中參考附圖,附圖形成了本發(fā)明的一部分,并在其中作為說明示出了可實(shí)踐本發(fā)明的具體示例。可以理解,可以在不脫離本發(fā)明的范圍的情況下使用其他實(shí)施例并作出結(jié)構(gòu)上的變化。GPU傳統(tǒng)上被用于加速實(shí)時(shí)3D圖形顯示。然而,很多GPU普遍具有進(jìn)行通用計(jì)算的能力。GPU的通用計(jì)算能力被通常用于處理圖形算法和涉及大量數(shù)據(jù)和處理的科學(xué)計(jì)算問題(如計(jì)算流體動(dòng)力學(xué))。然而,使用GPU來處理工業(yè)控制系統(tǒng)或商業(yè)業(yè)務(wù)系統(tǒng)產(chǎn)生的實(shí)時(shí)數(shù)據(jù),相對地吸引了較少的注意。本發(fā)明所描述的是使用GPU對實(shí)時(shí)數(shù)據(jù)進(jìn)行處理的系統(tǒng)和方法,這樣的處理減輕了 CPU的計(jì)算限制。更具體地,本系統(tǒng)和方法把多種實(shí)時(shí)數(shù)據(jù)處理從CPU上移植到GPU,并在GPU上進(jìn)行優(yōu)化運(yùn)行。在實(shí)現(xiàn)上述系統(tǒng)和方法后,實(shí)時(shí)數(shù)據(jù)庫就能處理遠(yuǎn)遠(yuǎn)多于以前的
數(shù)據(jù)量。本發(fā)明所揭示的使用GPU對實(shí)時(shí)數(shù)據(jù)進(jìn)行處理的系統(tǒng)和方法。以下討論旨在提供實(shí)現(xiàn)本發(fā)明的簡要、一般的描述。圖1示出了可在其中實(shí)現(xiàn)GPU對實(shí)時(shí)數(shù)據(jù)進(jìn)行處理的合適計(jì)算系統(tǒng)的一個(gè)示例。計(jì)算裝置100僅為合適的計(jì)算裝置的一個(gè)示例,并非暗示對本發(fā)明的使用范圍或功能的局限。也不應(yīng)將計(jì)算裝置100解釋為對示例性計(jì)算裝置100中示出的任一組件或其組合具有依賴或需求。使用GPU對實(shí)時(shí)數(shù)據(jù)進(jìn)行處理的系統(tǒng)和方法可以使用眾多的其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來操作。適合的計(jì)算系統(tǒng)、環(huán)境配置包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式計(jì)算機(jī)、通信設(shè)備、小型機(jī)、大型機(jī)、包括任一上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。GPU105可以是若干種能進(jìn)行通用計(jì)算的GPU類型中的任一種。圖2所示是使用GPU處理實(shí)時(shí)數(shù)據(jù)的一個(gè)示例性實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)的系統(tǒng)結(jié)構(gòu)圖。實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)200僅為一個(gè)示例性實(shí)時(shí)數(shù)據(jù)庫實(shí)現(xiàn)。它揭示了本發(fā)明所使用的方法。但它并非暗示對本發(fā)明的使用范圍或功能的局限。也不應(yīng)將實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)200解釋為對示例性實(shí)時(shí)數(shù)據(jù)庫200中示出的任一組件或其組合具有依賴或需求。圖3所示是作為示例,展示GPU計(jì)算服務(wù)204處理實(shí)時(shí)數(shù)據(jù)的主要流程圖。但其中的步驟和說明,僅作為實(shí)現(xiàn)示例的描述,并不意味著本發(fā)明的詳細(xì)描述限制。步驟301主要是實(shí)現(xiàn)對GPU進(jìn)行通用計(jì)算的初始化。步驟302實(shí)現(xiàn)把數(shù)據(jù)點(diǎn)的參數(shù)導(dǎo)入GPU存儲(chǔ)器。步驟303實(shí)現(xiàn)本服務(wù)進(jìn)程在系統(tǒng)中的注冊。步驟304實(shí)現(xiàn)把需要處理的實(shí)時(shí)數(shù)據(jù)導(dǎo)入GPU存儲(chǔ)器。步驟305實(shí)現(xiàn)在CPU中調(diào)用GPU處理函數(shù)。步驟306是在GPU中實(shí)現(xiàn)了對實(shí)時(shí)數(shù)據(jù)的多種處理。步驟307實(shí)現(xiàn)GPU存儲(chǔ)器的計(jì)算結(jié)果輸出。步驟308如果接收到服務(wù)終止命令,則終止服務(wù);否則轉(zhuǎn)到執(zhí)行步驟304。在特定的GPU,由于自身特點(diǎn),可能存在其他的更優(yōu)的實(shí)施步驟。例如步驟304與步驟305,在NVIDIA公司的CUDA通用計(jì)算平臺(tái),可以把CPU存儲(chǔ)器地址映射入GPU存儲(chǔ)器地址。這意味著可以先調(diào)用GPU的內(nèi)核函數(shù)再真正實(shí)施從CPU存儲(chǔ)器到GPU存儲(chǔ)器的數(shù)據(jù)拷貝,以減少等待時(shí)延。作為示例,以NVIDIA公司的CUDA通用計(jì)算平臺(tái)實(shí)現(xiàn)步驟306里描述的數(shù)據(jù)處理,以對本發(fā)明揭示的使用GPU對實(shí)時(shí)數(shù)據(jù)進(jìn)行處理的系統(tǒng)和方法進(jìn)行說明。但其中的示例和說明,并不意味著窮盡本發(fā)明或?qū)⑵湎抻谒敿?xì)描述的算法。量程轉(zhuǎn)換處理通常是對原始實(shí)時(shí)數(shù)據(jù)進(jìn)行線性轉(zhuǎn)換處理。其步驟包括(a) GPU處理線程從GPU存儲(chǔ)器取出等待處理的數(shù)據(jù)點(diǎn)的當(dāng)前實(shí)時(shí)值;(b)GPU處理線程從GPU存儲(chǔ)器取出該實(shí)時(shí)數(shù)據(jù)點(diǎn)的參數(shù),包括基值和斜率;(c)計(jì)算出處理后的結(jié)果,其結(jié)果等于當(dāng)前實(shí)時(shí)值乘斜率后再加上基值。越限處理的步驟包括(a)GPU處理線程從GPU存儲(chǔ)器取出等待處理的數(shù)據(jù)點(diǎn)的當(dāng)前實(shí)時(shí)數(shù)值;(b)GPU處理線程從GPU存儲(chǔ)器取出該實(shí)時(shí)數(shù)據(jù)點(diǎn)的限值參數(shù),包括上限值、上上限值、下限值、下下限值等;(c)對當(dāng)前實(shí)時(shí)數(shù)值和限值進(jìn)行比較,如果超出相應(yīng)的限值則設(shè)置相應(yīng)的限值位。
變化處理的步驟包括(a)GPU處理線程從GPU存儲(chǔ)器取出等待處理的數(shù)據(jù)點(diǎn)的當(dāng)前的實(shí)時(shí)數(shù)值;(b)GPU處理線程從GPU存儲(chǔ)器取出等待處理的數(shù)據(jù)點(diǎn)的前一時(shí)刻的實(shí)時(shí)數(shù)值;(c)對當(dāng)前的實(shí)時(shí)數(shù)值和前一時(shí)刻的實(shí)時(shí)數(shù)值進(jìn)行比較,如果不相等,則設(shè)置相應(yīng)的變化位。通常本處理主要使用在遙信點(diǎn)的變位檢測。公式計(jì)算處理的步驟包括(a)GPU處理線程從GPU存儲(chǔ)器取出等待處理的計(jì)算點(diǎn)的參數(shù),包括計(jì)算公式編碼和計(jì)算公式參數(shù);(b)如果計(jì)算公式參數(shù)包含其他數(shù)據(jù)點(diǎn)或計(jì)算點(diǎn)的地址,則GPU處理線程從GPU存儲(chǔ)器取出相應(yīng)數(shù)據(jù)點(diǎn)或計(jì)算點(diǎn)的實(shí)時(shí)值;(c)根據(jù)計(jì)算公式編碼定義的計(jì)算公式,計(jì)算出處理后的結(jié)果。歷史數(shù)據(jù)壓縮處理的可以使用多種算法,本示例使用一維小波變換算法對歷史數(shù)據(jù)進(jìn)行壓縮。NVIDIA公司CUDA計(jì)算平臺(tái)的SDK里提供了一維小波變換算法及例程。參照其例程,本示例的步驟包括(a)GPU處理線程設(shè)置好等待處理的數(shù)據(jù)點(diǎn)的特定時(shí)間內(nèi)的歷史數(shù)據(jù);(b)GPU處理線程從GPU存儲(chǔ)器取出等待處理數(shù)據(jù)點(diǎn)相關(guān)壓縮參數(shù);(c)調(diào)用NVIDIA 公司提供的一維小波變換算法進(jìn)行處理。(d)輸出處理結(jié)果。類似地,歷史數(shù)據(jù)的解壓縮處理參照NVIDIA公司提供的例程進(jìn)行處理。可以理解,本發(fā)明的以上描述為說明和描述的目的而提出。它并不意味著窮盡本發(fā)明或?qū)⑵湎抻谒沂镜木_形式。鑒于以上教導(dǎo),可以作出許多修改和變化。本發(fā)明的范圍并不意味著由本發(fā)明的詳細(xì)描述限制,而是由所附權(quán)利要求書來限制。
權(quán)利要求
1.一種用于圖形處理單元處理實(shí)時(shí)數(shù)據(jù)的方法,其特征在于使用圖形處理單元處理工業(yè)控制系統(tǒng)或商業(yè)業(yè)務(wù)系統(tǒng)產(chǎn)生的實(shí)時(shí)數(shù)據(jù)以獲得計(jì)算結(jié)果的解決方案。
2.如權(quán)利要求1所述的方法,其特征在于,包括至少其中之一 所述圖形處理單元對實(shí)時(shí)數(shù)據(jù)進(jìn)行量程轉(zhuǎn)換處理;所述圖形處理單元對實(shí)時(shí)數(shù)據(jù)進(jìn)行公式計(jì)算處理; 所述圖形處理單元對越限的實(shí)時(shí)數(shù)據(jù)進(jìn)行處理; 所述圖形處理單元對變化的實(shí)時(shí)數(shù)據(jù)進(jìn)行處理; 所述圖形處理單元實(shí)現(xiàn)對歷史數(shù)據(jù)進(jìn)行壓縮處理; 所述圖形處理單元實(shí)現(xiàn)對歷史數(shù)據(jù)進(jìn)行解壓縮處理; 所述圖形處理單元實(shí)現(xiàn)對歷史數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
3.如權(quán)利要求1所述的方法,其特征在于,包括 所述圖形處理單元導(dǎo)入數(shù)據(jù)點(diǎn)的參數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,包括 所述圖形處理單元把計(jì)算結(jié)果返回給中央處理單元。
全文摘要
一種使用圖形處理單元(GPU)對實(shí)時(shí)數(shù)據(jù)來加速處理的系統(tǒng)和方法。該系統(tǒng)和方法將可用于把各種實(shí)時(shí)數(shù)據(jù)庫的常用計(jì)算處理從CPU移植到GPU。到GPU的處理轉(zhuǎn)移使用克服限制并在GPU體系結(jié)構(gòu)的框架內(nèi)工作良好的若干新技術(shù)來實(shí)現(xiàn)。當(dāng)克服了這些限制之后,實(shí)時(shí)數(shù)據(jù)庫的常用計(jì)算處理尤其適合在GPU上進(jìn)行,實(shí)時(shí)數(shù)據(jù)庫的處理能力得到很大的提升,因?yàn)镚PU通常比典型的CPU更為強(qiáng)大。
文檔編號(hào)G06F17/30GK102567320SQ201010585758
公開日2012年7月11日 申請日期2010年12月13日 優(yōu)先權(quán)日2010年12月13日
發(fā)明者莫進(jìn)桃 申請人:莫進(jìn)桃
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
和政县| 邵东县| 红河县| 崇左市| 华宁县| 黄陵县| 延津县| 邹平县| 江达县| 长治市| 中方县| 凤凰县| 乌兰浩特市| 阿坝县| 理塘县| 安远县| 枞阳县| 贵溪市| 星座| 迁西县| 曲松县| 芦溪县| 沙河市| 平谷区| 绥滨县| 正阳县| 定兴县| 霍林郭勒市| 拜泉县| 五大连池市| 科尔| 江阴市| 温泉县| 太谷县| 拉孜县| 宿州市| 麻江县| 黔江区| 尼玛县| 南投县| 当涂县|