《面向共享Cache多核處理器的資料庫查詢執行最佳化算法研究》是依託中國人民解放軍國防科技大學,由景寧擔任項目負責人的面上項目。
基本介紹
- 中文名:面向共享Cache多核處理器的資料庫查詢執行最佳化算法研究
- 項目類別:面上項目
- 項目負責人:景寧
- 依託單位:中國人民解放軍國防科技大學
中文摘要,結題摘要,
中文摘要
多核處理器和大容量記憶體已經成為當前資料庫伺服器的主流配置,要充分發揮這些硬體的性能,就必須提高資料庫查詢執行在多核處理器上的執行效率,解決資料庫I/O瓶頸轉向記憶體/Cache後出現的新問題。現有的研究成果很少考慮面向共享Cache多核處理器中的多執行緒並行執行和Cache的訪問衝突問題,因此多核處理器的出現給資料庫的發展既帶來了挑戰,也帶來了機遇。本課題力求提高關係資料庫查詢執行的效率,使其能夠充分利用多核處理器的計算資源,從多執行緒並行執行的角度研究查詢執行最佳化,首先研究合理的多執行緒執行模式和策略,然後針對每種執行緒執行模式及其對應查詢執行的數據訪問特點,研究多執行緒執行時的Cache訪問性能最佳化算法,研究多執行緒調度算法,在開源商用資料庫Ingres的查詢執行引擎中選取最頻繁使用的資料庫查詢操作,實現本課題的預期研究成果,以驗證本課題的研究成果對於資料庫性能提升的效果。
結題摘要
多核處理器和大容量記憶體已經成為當前資料庫伺服器的主流配置,要充分發揮這些硬體的性能,就必須提高資料庫查詢執行在多核處理器上的執行效率,解決資料庫I/O瓶頸轉向記憶體/Cache後出現的新問題。現有的研究成果很少考慮面向共享Cache多核處理器中的多執行緒並行執行和Cache的訪問衝突問題,因此多核處理器的出現給資料庫的發展既帶來了挑戰,也帶來了機遇。本項目力求提高關係資料庫查詢執行的效率,使其能夠充分利用多核處理器的計算資源,從多執行緒並行執行的角度研究查詢執行最佳化,項目成果主要包括,首先結合多核處理器的硬體特性,通過全面的實驗設計,面向資料庫索引結構,分析影響資料庫查詢執行的多種因素,包括處理器核數、Cache大小、處理器架構、索引結點大小等多種因素。然後針對每種執行緒執行模式及其對應查詢執行的數據訪問特點,研究合理的多執行緒執行模式和策略,支持構建面向共享Cache最佳化的查詢執行引擎。研究了多核處理器支持的頻繁訪問索引結構,以最佳化資料庫索引的共享Cache訪問性能。研究多執行緒執行時的Cache訪問性能最佳化算法,如:排序算法、哈希連線算法和嵌套循環算法等,實驗表明能夠提高資料庫常用查詢執行性能。最後,研究多執行緒調度算法,在具有自主智慧財產權的資料庫管理系統BeyonDB的查詢執行引擎中選取最頻繁使用的資料庫查詢操作,集成本項目的研究成果,驗證了項目研究成果對於資料庫性能提升的效果。