[發明專利]用于推測性執行的控制的自適應隊列式鎖定有效
| 申請號: | 201680025784.0 | 申請日: | 2016-04-29 |
| 公開(公告)號: | CN107636616B | 公開(公告)日: | 2021-12-14 |
| 發明(設計)人: | S·C·陳;A·科林 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 李煒;黃嵩泉 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 推測 執行 控制 自適應 隊列 鎖定 | ||
公開了用于推測性執行的控制的自適應隊列式鎖定。一種示例裝置包括:鎖,該鎖用于強制執行用來對被允許在被存放在隊列中之后同時推測性地執行的線程的數量進行控制的第一配額;以及響應于第一配額尚未被達到,使來自隊列中的第一線程能夠推測性地執行;以及調整器,該調整器用于基于第一線程的推測性執行的結果改變第一配額的第一值。
本專利要求于2015年6月3日提交的美國專利申請序列號14/729,914的優先權,并且通過引用將其整體并入本文。
本公開一般涉及計算平臺,并且更具體而言,涉及用于事務存儲器中的推測性執行的控制的自適應隊列式鎖定。
在事務存儲器系統中,各代碼區域被并行地推測性地執行。沖突在例如兩個事務嘗試訪問存儲器中的同一位置時出現。例如,沖突在第一和第二事務嘗試寫入到存儲器中的同一位置時發生。附加地,沖突在第一事務嘗試寫入到存儲器中的一個位置并且第二事務嘗試讀取存儲器中的該相同位置時發生。
圖1是根據本公開的教導構建的示例計算平臺的例示。
圖2是圖1的示例自適應隊列式鎖定(AQL)管理器的示例實現的框圖。
圖3是例示圖1和/或圖2的AQL管理器的示例狀態的圖示。
圖4-6是表示可被執行以實現圖1和/或圖2的示例AQL管理器的示例機器可讀指令的流程圖。
圖7是能夠通過執行圖4-6的示例機器可讀指令來實現圖1和/或圖2的示例AQL管理器的示例處理系統的框圖。
利用代碼的并行執行的系統會遇到由不同代碼同時訪問存儲器的同一部分引起的挑戰。各種技術可用于減輕或減少此類沖突的不利性能效果。然而,這些技術涉及到其自身的挑戰。例如,一些事務存儲器特征可能經歷沖突過載。作為事務存儲器的實現的事務同步擴展(TSX)涉及并行地推測性地執行的多個線程。每個線程包括一個或多個事務(例如,存儲器事務)。當與特定線程有關的沖突發生時,對應的事務被中止并且隨后被重試。在一些情況下,事務在能夠成功執行之前被重試若干次。在一些情況下,事務回退到非事務路徑。
當經歷了大量的沖突時,對應的大量事務中止阻止了通過代碼的前向進程。這些問題在例如特定代碼段的沖突概率由于更多的線程正在運行而迅速增加時出現。當沖突發生且線程在被中止之后重試執行時,沖突概率由于新線程到達并引入更多沖突而迅速升級,從而形成對沖突概率的正反饋。最終,瓶頸形成,并且在被中止之后嘗試重試執行的線程不能夠產生顯著的前向進程(例如,僅不期望的慢進程被產生),因為太多的線程正在嘗試同時執行。
一些事務存儲器系統通過實現嚴格控制對關鍵段的訪問的鎖來緩解瓶頸,這些關鍵段是訪問共享的存儲器并因此在由多個線程并行執行時具有創建沖突的可能的代碼段。具體而言,這些鎖通過禁止除了一個線程以外所有的線程執行代碼的關鍵段來保護代碼的關鍵段。只有已獲取了鎖的線程才被允許執行關鍵段。在這些情況下,各線程通過例如重復地嘗試獲取鎖來競爭鎖,從而授予獲得了鎖的線程在關鍵段中執行的許可。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201680025784.0/2.html,轉載請聲明來源鉆瓜專利網。





