基於機器學習的執行緒級推測模型和編譯最佳化方法研究

基於機器學習的執行緒級推測模型和編譯最佳化方法研究

《基於機器學習的執行緒級推測模型和編譯最佳化方法研究》是依託西安交通大學,由趙銀亮擔任項目負責人的面上項目。

基本介紹

  • 中文名:基於機器學習的執行緒級推測模型和編譯最佳化方法研究
  • 項目類別:面上項目
  • 項目負責人:趙銀亮
  • 依託單位:西安交通大學
中文摘要,結題摘要,

中文摘要

執行緒級推測(TLS)是多核體系結構上加速串列程式的一種執行緒級自動並行化技術,TLS加速機制的性能受到軟硬體多種複雜因素制約,已有的基於軟硬體協同設計和啟發式規則的編譯最佳化方法帶有經驗性弱點。本項目首次提出TLS樣本集以及從樣本集中學習執行緒劃分知識的思想,克服了經驗性方法的弱點。研究基於機器學習的TLS模型,包括:TLS特徵設計、特徵值獲取及表示,構建TLS樣本集的方法和關鍵技術,學習算法,以及執行緒劃分知識的表示及評價。提出基於機器學習的TLS執行緒劃分方法,並基於課題組研製的Prophet編譯系統實現新方法,預期經Olden基準程式測試比現有加速機制提高性能20%以上。研究目標是揭示TLS執行緒劃分影響程式加速比的內在規律,證實機器學習能夠全面提高TLS性能,為支持TLS的軟硬體協同設計提供新途徑。預期成果可套用於多核處理器體系結構設計、多核編譯器、多核並行計算等領域以及加速現有串列應用程式。

結題摘要

本課題是研究基於機器學習的執行緒級推測模型和編譯最佳化方法,首次提出執行緒級推測(TLS:Thread Level Speculation)樣本集以及從樣本集中學習執行緒劃分知識的思想,克服了經驗型方法的弱點。在此基礎上取得的創新性研究成果分為執行緒級推測模型和編譯最佳化兩部分。首先,在基於機器學習的執行緒級推測模型方面:提出了一種有效的TLS特徵設計、獲取與表示方法,解決了機器學習方法線上程劃分過程中知識的來源和表達的問題;提出了一種有效的構建TLS樣本集的方法,該方法能夠在基於機器學習的TLS劃分過程中表達知識和指導劃分;提出多個套用於TLS的機器學習算法並有效套用於指導TLS執行緒劃分過程;提出了TLS中執行緒劃分的理論評價模型,實現用機率模型預測執行緒劃分的加速比以及預測最佳劃分位置。在編譯最佳化方面,首先在編譯器端採用貪心的執行緒提取和自適應的執行緒推測並行機制,對循環提出了一種靜態貪心的循環選擇與動態自適應的循環並行方法;其次,對非循環提出了一種基於FP-growth的多路徑選擇與激發方法,利用多條候選推測路徑來減少分支誤推測的發生;再次,在運行時採用執行緒性能預測和執行緒分配機制,提出了一種基於SMT的執行緒性能預測與循環性能調節方法,利用每次循環調用的性能預測結果指導多層嵌套循環的動態選擇和推測並行。本項目的研究結果揭示了程式sp-cqip插入點位置影響加速比的內在規律,證實機器學習方法能夠全面提高TLS的性能,採用Olden基準程式評測,表明了比不用機器學習方法加速比平均提高20%以上。其次,本項目提出並形成了一種新的TLS編譯最佳化方法,該方法由SpCFG表示、特徵數據獲取和樣本學習、TLS執行緒生成和映射組成,為多核處理器及編譯器研發提供了參考。本項目的預期目標均已經達到,已發表論文 23篇(EI檢索23篇,SCI檢索5篇),申請國家發明專利4項,培養博士研究生4名﹑碩士研究生10名以上。

相關詞條

熱門詞條

聯絡我們