[發明專利]通過SIMD處理器寄存器對數據進行迭代評估有效
| 申請號: | 201710632383.8 | 申請日: | 2017-07-28 |
| 公開(公告)號: | CN107818125B | 公開(公告)日: | 2021-10-15 |
| 發明(設計)人: | M.戈爾根斯;D.杜爾納 | 申請(專利權)人: | SAP歐洲公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/242;G06F8/41;G06F9/30 |
| 代理公司: | 北京市柳沈律師事務所 11105 | 代理人: | 邵亞麗 |
| 地址: | 德國瓦*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 通過 simd 處理器 寄存器 數據 進行 評估 | ||
1.一種用于評估內存數據庫系統中的數據的計算機實現的方法,所述方法包括:
生成用于處理所述內存數據庫系統中的數據集的可運行代碼,其中,所述可運行代碼基于包括與所述數據集的第一部分相關聯的斷言的程序指令;
確定處理器處的寄存器的大小以確定將要分配的位值的數量,將要分配的位值的數量等于寄存器的大小,其中,所述寄存器是與并行地在多個數據元素上執行單一指令相關聯的單指令多數據SIMD寄存器;
將所述數據集的第一部分劃分成一個或多個數據部分,其中,數據部分包括與要分配到處理器處的寄存器中的位值的數量相對應的多個數據元素;
在所述處理器處,迭代地評估所述一個或多個數據部分以確定將迭代地存儲到所述寄存器中的一個或多個位向量,每個位向量存儲特定一個數據部分中的數據元素的評估結果;以及
在所述處理器處,基于所存儲的一個或多個位向量并且基于從所述數據集調用數據,迭代地確定和提供一個或多個結果數據集,
其中,迭代地評估所述一個或多個數據部分以確定將迭代地存儲到所述寄存器中的所述一個或多個位向量還包括:
對于每個數據部分:
基于所述斷言,基于來自所述數據部分的數據元素的值的評估來確定對應的位向量,其中,所述位向量包括與符合所述斷言的評估結果相對應的位值,每個位值對應于特定一個值的評估結果;
在所述處理器處,將位向量加載到所述寄存器中;以及
在所述處理器處,基于所述位向量中的正位值的位置,從來自所述數據集的列確定行的標識符。
2.如權利要求1所述的方法,還包括:
根據可運行代碼將所述數據集加載到將要處理的內存數據庫系統的主存儲器處的數據庫表中。
3.如權利要求1所述的方法,其中,所述數據集的所述第一部分包括來自所述數據集的一列或多列數據,并且其中,包括在所述程序指令中的所述斷言定義用于確定所述一個或多個結果數據集的規則。
4.如權利要求1所述的方法,還包括:
生成或接收定義將對所述數據集執行的操作的請求;以及
針對所述請求生成邏輯計劃,所述邏輯計劃定義與所述程序指令和所述數據集相關的邏輯運算的數據流;
其中,所生成的運行計劃是與將由內存數據庫系統中的運行引擎運行的邏輯計劃相對應的物理計劃,其中,基于從與所生成的邏輯計劃相對應的所確定的物理計劃的集合中的選擇來確定運行計劃,其中,所確定的物理計劃的集合基于關于所述運行所使用的內存數據庫系統的系統能力的信息、以及基于針對所述數據集的統計數據來確定。
5.如權利要求4所述的方法,其中,生成用于所述程序指令的邏輯計劃還包括:
解析所述請求以生成用于執行操作的語法樹;
驗證所述語法樹以確定所述語法樹是否對所述數據集有效;以及
當所述語法樹對所述數據集有效時,改進所述語法樹以包括關于所述數據集的信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于SAP歐洲公司,未經SAP歐洲公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710632383.8/1.html,轉載請聲明來源鉆瓜專利網。





