亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于數(shù)據(jù)庫查詢操作的可縮放加速的方法和系統(tǒng)的制作方法

文檔序號:6622464閱讀:467來源:國知局
用于數(shù)據(jù)庫查詢操作的可縮放加速的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種用于數(shù)據(jù)庫查詢操作的可縮放加速的方法和系統(tǒng)。各實施例包括用于將多個處理操作卸載到加速器的方法、系統(tǒng)和計算機程序產(chǎn)品。各方面包括接收來自應(yīng)用的數(shù)據(jù)庫查詢,針對所述查詢執(zhí)行分析,以及標識多個可用加速器。各方面還包括針對所述多個可用加速器中的每一個上可用的一個或多個模板檢索成本信息,基于所述成本信息和針對所述查詢的分析確定查詢執(zhí)行計劃,以及基于所述查詢執(zhí)行計劃,將一個或多個查詢操作卸載到所述多個加速器中的至少一個。
【專利說明】用于數(shù)據(jù)庫查詢操作的可縮放加速的方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及加速多個查詢處理操作,更具體地說,涉及用于數(shù)據(jù)庫查詢操作的可縮放加速的加速器系統(tǒng)。

【背景技術(shù)】
[0002]—般而言,單個數(shù)據(jù)庫查詢包括多個查詢處理操作。這些查詢處理操作包括但不限于排序操作、解壓縮操作、謂詞計算(predicate evaluat1n)操作和聯(lián)接操作。查詢操作的硬件加速顯示出較之軟件實現(xiàn)的顯著性能改進。這種性能改進歸因于可以以硬件實現(xiàn)獲得的定制數(shù)據(jù)路徑和并行性。
[0003]目前,針對單個硬件加速器計算查詢操作符。單個加速器上的可用資源可以限制該加速器提供的性能增益。盡管為了獲得更高整體性能而需要將更多操作從主機卸載到加速器,但將多個操作卸載到單個加速器芯片上可以減少可用于每個操作的資源量,從而可能導(dǎo)致較低的性能增益。


【發(fā)明內(nèi)容】

[0004]各實施例包括用于將多個處理操作卸載到加速器的方法、系統(tǒng)和計算機程序產(chǎn)品。各方面包括接收來自應(yīng)用的數(shù)據(jù)庫查詢,針對所述查詢執(zhí)行分析,以及標識多個可用加速器。各方面還包括針對所述多個可用加速器中的每一個上可用的一個或多個模板檢索成本信息,基于所述成本信息和針對所述查詢的分析確定查詢執(zhí)行計劃,以及基于所述查詢執(zhí)行計劃,將一個或多個查詢操作卸載到所述多個加速器中的至少一個。
[0005]通過本發(fā)明的技術(shù)實現(xiàn)其它特性和優(yōu)點。在此詳細描述了本發(fā)明的其它實施例和方面,并且它們被視為要求保護的本發(fā)明的一部分。為了更好地理解本發(fā)明以及優(yōu)點和特性,請參考說明書和附圖。

【專利附圖】

【附圖說明】
[0006]在說明書結(jié)尾處的權(quán)利要求中具體指出并明確要求保護了被視為本發(fā)明的主題。從下面結(jié)合附圖的詳細描述,本發(fā)明的上述和其它特性和優(yōu)點將變得顯而易見,這些附圖是:
[0007]圖1示出根據(jù)一個實施例的用于實現(xiàn)此處教導(dǎo)的計算機系統(tǒng)的框圖;
[0008]圖2示出根據(jù)一個示例性實施例的用于數(shù)據(jù)庫查詢操作的可縮放加速的加速器系統(tǒng)的框圖;
[0009]圖3示出根據(jù)一個示例性實施例的加速器的框圖;
[0010]圖4示出根據(jù)一個示例性實施例的跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖;
[0011]圖5示出根據(jù)一個示例性實施例的跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖;
[0012]圖6示出根據(jù)一個示例性實施例的跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖;
[0013]圖7示出根據(jù)一個示例性實施例的跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖;以及
[0014]圖8示出根據(jù)一個示例性實施例的用于加速多個查詢處理操作的方法的流程圖。

【具體實施方式】
[0015]在此公開的各實施例包括一種用于數(shù)據(jù)庫查詢操作的可縮放加速的加速器系統(tǒng)。在各示例性實施例中,將一個或多個查詢處理操作卸載到多個加速器,從而增加可用于每個查詢處理操作的硬件資源量。此外,通過使用多個加速器,可以增加查詢間和/或查詢內(nèi)并行性。因此,改進數(shù)據(jù)庫查詢操作的性能。例如,可以增加數(shù)據(jù)庫查詢操作的速度和能力。
[0016]現(xiàn)在參考圖1,示出與此處的教導(dǎo)一起使用的示例性計算機系統(tǒng)100的框圖。在此描述的方法可以以硬件軟件(例如,固件)或其組合實現(xiàn)。在一個示例性實施例中,在此描述的方法以硬件實現(xiàn),并且是專用或通用數(shù)字計算機(例如個人計算機、工作站、小型計算機或大型計算機)的微處理器的一部分。因此,系統(tǒng)100包括通用計算機101。
[0017]在一個示例性實施例中,在硬件體系架構(gòu)方面,如圖1中所示,計算機101包括處理器105、經(jīng)由存儲控制器115耦合的存儲器110、存儲設(shè)備120,以及經(jīng)由本地輸入/輸出控制器135以通信方式I禹合的一個或多個輸入和/或輸出(I/O)設(shè)備140、145 (或外圍設(shè)備)。輸入/輸出控制器135例如可以是但不限于一條或多條總線或者其它有線或無線連接,如所屬【技術(shù)領(lǐng)域】公知的那樣。輸入/輸出控制器135可以具有其它元件(為簡單起見而被省略),例如控制器、緩沖器(高速緩存)、驅(qū)動器、中繼器和接收器,以便實現(xiàn)通信。此夕卜,本地接口可以包括地址、控制和/或數(shù)據(jù)連接,以便在上述組件之間實現(xiàn)適當?shù)耐ㄐ?。存儲設(shè)備120可以包括一個或多個硬盤驅(qū)動器(HDD)、固態(tài)驅(qū)動器(SSD),或者任何其它合適形式的存儲裝置。
[0018]處理器105是用于執(zhí)行特別是存儲在存儲器110中的硬件指令或軟件的計算設(shè)備。處理器105可以是任何定制或商用處理器、中央處理單元(CPU)、與計算機101關(guān)聯(lián)的多個處理器之間的輔助處理器、基于半導(dǎo)體的微處理器(采用微芯片或芯片組的形式)、宏處理器,或者通常為用于執(zhí)行指令的任何設(shè)備。處理器105可以包括高速緩存170,其可以組織為具有多個高速緩存級別(L1、L2等)的層次結(jié)構(gòu)。
[0019]存儲器110可以包括以下各項的任何一個或組合:易失性存儲元件(例如,隨機存取存儲器(RAM,例如DRAM、SRAM、SDRAM等))和非易失性存儲元件(例如,ROM、可擦式可編程只讀存儲器(EPROM)、電可擦式可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁帶、緊湊盤只讀存儲器(⑶-ROM)、磁盤、軟盤、盒帶、卡帶等)。此外,存儲器110可以包括電、磁、光和/或其它類型的存儲介質(zhì)。注意,存儲器110可以具有分布式體系架構(gòu),其中各種組件可以彼此遠離,但可以由處理器105訪問。
[0020]存儲器110中的指令可以包括一個或多個單獨程序,每個程序包括用于實現(xiàn)邏輯功能的可執(zhí)行指令的有序列表。在圖1的實例中,存儲器110中的指令包括合適的操作系統(tǒng)(0/S) 111。操作系統(tǒng)111基本上控制其它計算機程序的執(zhí)行,并且提供調(diào)度、輸入輸出控制、文件和數(shù)據(jù)管理、存儲器管理以及通信控制和相關(guān)服務(wù)。
[0021]在一個不例性實施例中,可以將常規(guī)鍵盤150和鼠標155 I禹合到輸入/輸出控制器135。其它輸出設(shè)備(例如I/O設(shè)備140、145)可以包括輸出設(shè)備,例如但不限于打印機、掃描儀、麥克風等。最后,I/O設(shè)備140、145還可以包括傳送輸入和輸出的設(shè)備,例如但不限于網(wǎng)絡(luò)接口卡(NIC)或調(diào)制器/解調(diào)器(用于訪問其它文件、設(shè)備、系統(tǒng)或網(wǎng)絡(luò))、射頻(RF)或其它收發(fā)器、電話接口、橋接器、路由器等。系統(tǒng)100還可以包括耦合到顯示器130的顯不控制器125。在一個不例性實施例中,系統(tǒng)100還可以包括用于I禹合到網(wǎng)絡(luò)165的網(wǎng)絡(luò)接口 160。網(wǎng)絡(luò)165可以是基于IP的網(wǎng)絡(luò),其用于經(jīng)由寬帶連接在計算機101和任何外部服務(wù)器、客戶機等之間通信。網(wǎng)絡(luò)165在計算機101和外部系統(tǒng)之間發(fā)送和接收數(shù)據(jù)。在一個示例性實施例中,網(wǎng)絡(luò)165可以是服務(wù)提供商管理的受管IP網(wǎng)絡(luò)。網(wǎng)絡(luò)165可以以無線方式實現(xiàn),例如使用諸如W1-F1、WiMax之類的無線協(xié)議和技術(shù)。網(wǎng)絡(luò)165還可以是分組交換網(wǎng)絡(luò),例如局域網(wǎng)、廣域網(wǎng)、城域網(wǎng)、因特網(wǎng),或者其它類似類型的網(wǎng)絡(luò)環(huán)境。網(wǎng)絡(luò)165可以是固定無線網(wǎng)絡(luò)、無線局域網(wǎng)(LAN)、無線廣域網(wǎng)(WAN)、個人區(qū)域網(wǎng)絡(luò)(PAN)、虛擬專用網(wǎng)絡(luò)(VPN)、內(nèi)聯(lián)網(wǎng)或其它合適的網(wǎng)絡(luò)系統(tǒng),并且包括用于接收和發(fā)送信號的設(shè)備。
[0022]如果計算機101是PC、工作站、智能設(shè)備等,則存儲器110中的指令還可以包括基本輸入輸出系統(tǒng)(B1S)(為簡單起見而被省略)。B1S是一組必需例程,其在啟動時初始化和測試硬件,啟動0/S 111,并且支持在存儲設(shè)備之間傳輸數(shù)據(jù)。B1S存儲在ROM中,以便可以在激活計算機101時執(zhí)行B1S。
[0023]當計算機101處于操作中時,處理器105被配置為執(zhí)行存儲在存儲器110中的指令,以便將數(shù)據(jù)傳送到存儲器110并從存儲器110傳送數(shù)據(jù),并且總體上根據(jù)指令控制計算機101的操作。在一個示例性實施例中,計算機系統(tǒng)100包括一個或多個加速器180,它們被配置為與處理器105通信。加速器180可以是現(xiàn)場可編程門陣列(FPGA),或者被配置為執(zhí)行特定處理任務(wù)的其它合適設(shè)備。在各示例性實施例中,計算機系統(tǒng)100可以被配置為將某些處理任務(wù)卸載到加速器180,因為加速器180可以比處理器105更高效地執(zhí)行處理任務(wù)。
[0024]現(xiàn)在參考圖2,示出顯示根據(jù)一個示例性實施例的具有多個加速器206以便加速數(shù)據(jù)庫查詢操作的系統(tǒng)200的框圖。系統(tǒng)200包括主機204,其可以是圖1中所示的計算機,具有被配置為執(zhí)行數(shù)據(jù)庫管理軟件的中央處理單元。在一個示例性實施例中,主機204從應(yīng)用202接收數(shù)據(jù)庫查詢,并且作為響應(yīng),將一個或多個查詢處理操作卸載到加速器206中的一個或多個。
[0025]在各示例性實施例中,主機204包括查詢優(yōu)化器208,其從應(yīng)用202接收查詢并且針對查詢執(zhí)行分析?;趯Σ樵兊姆治觯樵儍?yōu)化器208從多個加速器中選擇一個或多個加速器206以便執(zhí)行查詢處理操作。在各示例性實施例中,查詢優(yōu)化器208還可以從可用于每個加速器206的多個加速器模板中選擇加速器模板。在各不例性實施例中,多個加速器模板中的每一個是加速器206能夠執(zhí)行的存儲的處理配置。
[0026]在各示例性實施例中,每個加速器206和加速器模板具有與其關(guān)聯(lián)的成本模型。成本模型包括加速器/模板的吞吐量和延遲。每個加速器206還具有報告給主機204的狀態(tài)。狀態(tài)指示加速器206是否以及何時可用。在各示例性實施例中,查詢優(yōu)化器208使用成本模型和狀態(tài)信息來確定具有優(yōu)化性能和資源利用的查詢執(zhí)行計劃。查詢優(yōu)化器208使用該信息結(jié)合其它軟件運營商成本來確定以下查詢執(zhí)行計劃:其包括要卸載哪些查詢操作、要使用哪些加速器,以及應(yīng)該如何組合多個加速后的運營商和軟件運營商。主機204可以在多個選項之間確定優(yōu)化目標,這些選項例如包括最短查詢時間、最大化加速器利用,或者最小化主機資源(例如CPU和存儲器)的使用。在各示例性實施例中,查詢優(yōu)化器208使用動態(tài)編程、試探法或其它優(yōu)化算法或它們的組合,確定具有指定的優(yōu)化目標(多個)的查詢計劃。
[0027]在各示例性實施例中,可以以各種配置在系統(tǒng)200中布置多個加速器206。例如,多個加速器芯片可以位于單個加速器卡(例如PCIe卡)上,單個加速器芯片可以位于系統(tǒng)中的多個加速器卡中的每一個上,或者可以使用這兩種布置的組合。在各示例性實施例中,可以基于系統(tǒng)配置,以各種方式執(zhí)行不同加速器之間的通信。例如,不同加速器之間的通信可以是直接芯片到芯片通信、通過系統(tǒng)總線的對等通信,或者經(jīng)由主機CPU存儲器的通信。在各示例性實施例中,跨不同加速器以流水線方式執(zhí)行數(shù)據(jù)庫查詢操作可以減少從一個加速器到下一個加速器的數(shù)據(jù)傳輸延遲,并且保持高的持續(xù)查詢處理吞吐量。在各示例性實施例中,多個加速器可以是異構(gòu)的,并且可以加速單個查詢的不同部分或者并行加速不同查詢。
[0028]在各示例性實施例中,數(shù)據(jù)庫查詢可以包括多個操作,例如解壓縮、謂詞計算、投影、排序、聯(lián)接等。在加速器Uf^BFPGA)上執(zhí)行這些操作可以增強數(shù)據(jù)庫查詢性能。此外,在加速器上并發(fā)和/或以流水線方式執(zhí)行多個操作(如圖3中所示)將增加主機卸載的處理,更好地分攤設(shè)置/清除和數(shù)據(jù)傳輸開銷,并且提供更高的整體查詢處理性能。
[0029]現(xiàn)在參考圖3,示出加速器310的框圖。如圖所示,加速器310被配置為執(zhí)行多個查詢操作,并且包括對應(yīng)于多個查詢操作中的每一個的模塊。具體地說,加速器310包括頁解包模塊311、解壓縮模塊312、謂詞計算模塊313、投影模塊314、聯(lián)接模塊315、排序模塊316和頁打包模塊317。
[0030]在一個實施例中,可以將多個查詢操作卸載到單個加速器上,如圖3中所示。在其它實施例中,可以跨多個加速器卸載數(shù)據(jù)庫查詢的多個查詢操作,這可以導(dǎo)致增加整體數(shù)據(jù)庫查詢性能。在各示例性實施例中,可以以流水線/并發(fā)方式布置多個加速器以便加速查詢操作。此外,加速器可以具有相同類型或不同類型。例如,具有多個加速器的系統(tǒng)可以包括多個FPGA,而另一個系統(tǒng)可以包括FPGA、GPU和其它加速器的組合。在各示例性實施例中,可以利用多個加速器以便加速數(shù)據(jù)庫查詢中的一個或多個運算符,或者用于以多種不同方式并行加速多個查詢。
[0031]現(xiàn)在參考圖4,示出跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖。如圖所示,將每個數(shù)據(jù)庫查詢操作布置在單獨加速器上。具體地說,第一加速器410包括頁解包模塊411,第二加速器420包括解壓縮模塊421,第三加速器430包括謂詞計算模塊431,第四加速器440包括投影模塊441,第五加速器450包括聯(lián)接模塊451,第六加速器460包括排序模塊461,并且第七加速器470包括頁打包模塊471。在各示例性實施例中,可以將單個操作分解成多個部分,并且單個加速器可以迭代執(zhí)行多個部分,然后將結(jié)果轉(zhuǎn)發(fā)到下一個加速器。
[0032]現(xiàn)在參考圖5,示出跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖。如圖所示,一個或多個加速器包括多個數(shù)據(jù)庫查詢操作,并且某些加速器僅包括單個數(shù)據(jù)庫查詢操作。具體地說,第一加速器510包括頁解包模塊511和解壓縮模塊512,第二加速器520包括謂詞計算模塊521和投影模塊522,第三加速器530包括聯(lián)接模塊531,第四加速器540包括排序模塊541,并且第五加速器550包括頁打包模塊551。
[0033]現(xiàn)在參考圖6,示出跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖。如圖所示,可以跨多個加速器布置一個或多個數(shù)據(jù)庫查詢操作。具體地說,第一加速器610包括頁解包模塊611,第二加速器620包括解壓縮模塊621,第三加速器630包括謂詞計算模塊的第一部分631,第四加速器640包括謂詞計算模塊的第二部分641,第五加速器650包括投影模塊651,第六加速器660包括聯(lián)接模塊661,第七加速器670包括排序模塊671,并且第八加速器680包括頁打包模塊681。
[0034]現(xiàn)在參考圖7,示出跨多個加速器分布數(shù)據(jù)庫查詢操作的框圖。如圖所示,可以將所有數(shù)據(jù)庫查詢操作布置在單個加速器710上,并且一個或多個加速器720、730可以被配置為同時工作。在各示例性實施例中,個體加速器710、720、730可以被配置為針對單個數(shù)據(jù)庫查詢在數(shù)據(jù)庫表的不同部分上獨立地工作。在其它示例性實施例中,可以將數(shù)據(jù)庫查詢的所有數(shù)據(jù)庫查詢操作布置在單個加速器710上,并且多個加速器720、730針對不同查詢同時而獨立地工作。
[0035]現(xiàn)在參考圖8,示出根據(jù)一個實施例的用于跨多個加速器分布數(shù)據(jù)庫查詢操作的方法800的流程圖。如在方框802中所示,方法800包括接收來自應(yīng)用的數(shù)據(jù)庫查詢。接下來,如在方框804中所示,方法800包括針對所述查詢執(zhí)行分析。方法800還包括標識多個可用加速器,如在方框806中所示。接下來,如在方框808中所示,方法800包括針對所述多個可用加速器中的每一個上可用的一個或多個模板,檢索成本信息。方法800還包括基于所述成本信息和針對所述查詢的分析,確定查詢執(zhí)行計劃,如在方框810中所示。接下來,如在方框812中所示,方法800包括基于所述查詢執(zhí)行計劃,將一個或多個查詢操作卸載到所述多個加速器中的至少一個。
[0036]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的各個方面還可以實現(xiàn)為在一個或多個計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含計算機可讀的程序代碼。
[0037]可以采用一個或多個計算機可讀介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是一但不限于一電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0038]計算機可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0039]可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明的各個方面的操作的計算機程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務(wù)器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0040]上面已經(jīng)參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的各個方面。應(yīng)當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0041]也可以把這些計算機程序指令存儲在計算機可讀介質(zhì)中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備以特定方式工作,從而,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)。
[0042]也可以把計算機程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計算機、其它可編程裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而使得在計算機或其它可編程裝置上執(zhí)行的指令提供實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的過程。
[0043]公開的流程圖和框圖顯示了根據(jù)本發(fā)明的不同實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
[0044]在此使用的術(shù)語只是為了描述特定的實施例并且并非旨在作為本發(fā)明的限制。如在此使用的,單數(shù)形式“一”、“一個”和“該”旨在同樣包括復(fù)數(shù)形式,除非上下文明確地另有所指。還將理解,當在此說明書中使用時,術(shù)語“包括”和/或“包含”指定了聲明的特性、整數(shù)、步驟、操作、元素和/或組件的存在,但是并不排除一個或多個其它特性、整數(shù)、步驟、操作、元素、組件和/或其組合的存在或增加。
[0045]下面權(quán)利要求中的對應(yīng)結(jié)構(gòu)、材料、操作以及所有功能性限定的裝置或步驟的等同替換,旨在包括任何用于與在權(quán)利要求中具體指出的其它元件相組合地執(zhí)行該功能的結(jié)構(gòu)、材料或操作。出于示例和說明目的給出了對本發(fā)明的描述,但所述描述并非旨在是窮舉的或是將本發(fā)明限于所公開的形式。在不偏離本發(fā)明的范圍和精神的情況下,對于所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來說許多修改和變化都將是顯而易見的。實施例的選擇和描述是為了最佳地解釋本發(fā)明的原理和實際應(yīng)用,并且當適合于所構(gòu)想的特定使用時,使得所屬【技術(shù)領(lǐng)域】的其它普通技術(shù)人員能夠理解本發(fā)明的具有各種修改的各種實施例。
[0046]在此示出的流程圖只是一個實例。在此描述的這些圖或步驟(或操作)可以存在許多變化而不偏離本發(fā)明的精神。例如,可以按不同的順序執(zhí)行步驟,或者可以添加、刪除或修改步驟。所有這些變化都被視為要求保護的本發(fā)明的一部分。
[0047]盡管描述了本發(fā)明的優(yōu)選實施例,但所屬【技術(shù)領(lǐng)域】的技術(shù)人員應(yīng)該理解,可以在現(xiàn)在和將來進行各種落入下面權(quán)利要求范圍的改進和增強。這些權(quán)利要求應(yīng)該被解釋為維護對最初描述的本發(fā)明的正確保護。
【權(quán)利要求】
1.一種用于將多個處理操作卸載到加速器的方法,所述方法包括: 由處理設(shè)備接收來自應(yīng)用的數(shù)據(jù)庫查詢; 針對所述查詢執(zhí)行分析; 標識多個可用加速器; 針對所述多個可用加速器中的每一個上可用的一個或多個模板,檢索成本信息; 基于所述成本信息和針對所述查詢的分析,確定查詢執(zhí)行計劃;以及 基于所述查詢執(zhí)行計劃,將一個或多個查詢操作卸載到所述多個加速器中的至少一個。
2.根據(jù)權(quán)利要求1的方法,其中所述成本信息包括所述多個可用加速器中的每一個上可用的所述一個或多個模板的吞吐量和延遲。
3.根據(jù)權(quán)利要求1的方法,其中所述數(shù)據(jù)庫查詢包括多個查詢操作。
4.根據(jù)權(quán)利要求3的方法,其中查詢執(zhí)行計劃包括將所述多個查詢操作中的每一個分配給所述多個可用加速器中的一個不同可用加速器。
5.根據(jù)權(quán)利要求3的方法,其中查詢執(zhí)行計劃包括將所述多個查詢操作中的兩個或更多查詢操作分配給所述多個可用加速器中的一個可用加速器。
6.根據(jù)權(quán)利要求3的方法,其中查詢執(zhí)行計劃包括將所述多個查詢操作中的全部查詢操作分配給所述多個可用加速器中的一個可用加速器。
7.根據(jù)權(quán)利要求3的方法,其中查詢執(zhí)行計劃包括將所述數(shù)據(jù)庫查詢拆分成多個部分,以及將所述多個查詢操作中的一個查詢操作的第一部分分配給所述多個可用加速器中的一個可用加速器,將所述多個查詢操作中的所述一個查詢操作的第二部分分配給所述多個可用加速器中的另一個可用加速器。
8.根據(jù)權(quán)利要求1的方法,其中所述多個加速器是異構(gòu)的,并且被配置為加速單個查詢的不同部分或者并行加速不同查詢。
9.一種包括處理設(shè)備的系統(tǒng),所述處理設(shè)備被配置為: 接收來自應(yīng)用的數(shù)據(jù)庫查詢; 針對所述查詢執(zhí)行分析; 標識多個可用加速器; 針對所述多個可用加速器中的每一個上可用的一個或多個模板,檢索成本信息; 基于所述成本信息和針對所述查詢的分析,確定查詢執(zhí)行計劃;以及 基于所述查詢執(zhí)行計劃,將一個或多個查詢操作卸載到所述多個加速器中的至少一個。
10.根據(jù)權(quán)利要求9的系統(tǒng),其中所述成本信息包括所述多個可用加速器中的每一個上可用的所述一個或多個模板的吞吐量和延遲。
11.根據(jù)權(quán)利要求9的系統(tǒng),其中所述數(shù)據(jù)庫查詢包括多個查詢操作。
12.根據(jù)權(quán)利要求11的系統(tǒng),其中查詢執(zhí)行計劃包括將所述多個查詢操作中的每一個分配給所述多個可用加速器中的一個不同可用加速器。
13.根據(jù)權(quán)利要求11的系統(tǒng),其中查詢執(zhí)行計劃包括將所述多個查詢操作中的兩個或更多查詢操作分配給所述多個可用加速器中的一個可用加速器。
14.根據(jù)權(quán)利要求11的系統(tǒng),其中查詢執(zhí)行計劃包括將所述多個查詢操作中的全部查詢操作分配給所述多個可用加速器中的一個可用加速器。
15.根據(jù)權(quán)利要求11的系統(tǒng),其中查詢執(zhí)行計劃包括將所述數(shù)據(jù)庫查詢拆分成多個部分,以及將所述多個查詢操作中的一個查詢操作的第一部分分配給所述多個可用加速器中的一個可用加速器,將所述多個查詢操作中的所述一個查詢操作的第二部分分配給所述多個可用加速器中的另一個可用加速器。
【文檔編號】G06F17/30GK104346433SQ201410380355
【公開日】2015年2月11日 申請日期:2014年8月5日 優(yōu)先權(quán)日:2013年8月7日
【發(fā)明者】S·W·阿薩德, P·杜布, 閔紅, B·蘇克瓦尼, M·S·特內(nèi)斯 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1