[發明專利]用于實現NUMA感知統計計數器的系統和方法有效
| 申請號: | 201380072254.8 | 申請日: | 2013-12-19 |
| 公開(公告)號: | CN105190560B | 公開(公告)日: | 2018-12-11 |
| 發明(設計)人: | D·戴斯;Y·列夫;M·S·莫爾 | 申請(專利權)人: | 甲骨文國際公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52;G06F9/50 |
| 代理公司: | 中國國際貿易促進委員會專利商標事務所 11038 | 代理人: | 羅亞男 |
| 地址: | 美國加*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 線程 遞增計數器 節點標識符 優先權 計數器 統計計數器 存儲器體系 單個節點 連續更新 數據結構 可擴展 更新 感知 延遲 饑餓 架構 風格 事務 訪問 | ||
本文所述的系統和方法可以用來實現適于在采用NUMA風格存儲器體系架構的系統中使用的可擴展統計計數器。計數器可以實現為包括計數值部分和節點標識符部分的數據結構。計數器可以在事務內訪問。節點標識符部分可以識別最近遞增計數器的線程在其上執行的節點或者已經請求遞增計數器的優先權的線程在其上執行的節點。在所識別出的節點上執行的線程可以比其它線程具有更高的遞增計數器的優先權。在其它節點上執行的線程可以延遲其遞增計數器的嘗試,從而鼓勵來自單個節點上的線程的連續更新。不耐煩的線程可以嘗試更新節點標識符部分或者可以更新抗饑餓變量,以指示對優先權的請求。
技術領域
本公開內容涉及共享的統計計數器,并且更具體而言涉及用于提高包括對共享統計計數器進行訪問的應用的性能的技術。
背景技術
多核體系架構設計中當前的趨勢暗示,在未來幾年內,將有從簡單的基于總線的設計朝分布式非一致存儲器訪問(NUMA)和高速緩存固有NUMA(CC-NUMA)體系架構的加速偏移。根據NUMA,對任何給定訪問的存儲器訪問時間依賴于被訪問的存儲器相對于處理器的位置。這種體系架構通常包括具有快速本地存儲器(例如,緊密耦合到處理器和/或位于相同的單個多核芯片上的存儲器)的計算核心的集合,其中這些存儲器經由較慢的(芯片間)通信介質彼此通信。在這種系統中,處理器通常可以訪問其自己的比非本地存儲器快的本地存儲器,諸如其自己的高速緩存存儲器。在一些系統中,非本地存儲器可以包括一個或多個在處理器之間共享的存儲器組和/或在另一處理器本地的存儲器組。一些系統,包括許多NUMA系統,提供非一致的通信體系架構(NUCA)屬性,其中訪問其它處理器核心的高速緩存的時間隨其離發出請求的核心的物理距離而變。在這些系統中,核心對其本地存儲器的訪問,并且尤其是對共享的本地高速緩存的訪問,可以比對遠程存儲器(例如,位于另一芯片上的高速緩存)的訪問快若干(或者許多)倍。
更大型的軟件系統使用統計計數器來進行性能監視和診斷。例如,統計計數器對諸如檢測各種系統事件的過高速率或者對基于事件頻率而變的機制的目的具有實際重要性。雖然單線程的統計計數器微不足道,但是通常使用的單純(naive)并發實現很快變得有問題,尤其是當線程計數增長時。例如,當系統增長并且當統計計數器在越來越多的非一致存儲器訪問(NUMA)系統中被使用時,常用的單純計數器強加擴展性瓶頸和/或它們無用的此類不準確性。特別地,這些計數器(當在線程之間共享時)會對計數器的每次修改招致無效流量,這在NUMA機器上尤其昂貴。
并行執行事務的能力是可擴展性能的關鍵。但是,當對計數器的訪問發生在事務內部時,共享計數器用于收集統計數據(例如,關于一塊代碼執行得多頻繁、多少元素在散列表中等等的統計數據)會不利地影響事務成功率(因為由不同事務或線程對共享計數器的任何兩次更新都將潛在地彼此沖突)。解決這個問題的一些之前的方法涉及把更新計數器的操作移動到事務之外,由此改變程序的語義,或者實現對“事務提升”的復雜并且昂貴的支持,這不是在所有語境下都適用。
出于這些和其它原因,應用設計者面對困難的折中,涉及強加于輕爭用計數器之上的等待時間、可擴展性和(在一些情況下)重爭用計數器的準確性,以及各種探針效應。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于甲骨文國際公司,未經甲骨文國際公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380072254.8/2.html,轉載請聲明來源鉆瓜專利網。





