用于在多處理器數據處理中通信的系統和方法
【技術領域】
[0001] 本公開一般地涉及數據處理,更具體地說,涉及多處理器數據處理系統中的通信。
【背景技術】
[0002] -般地說,可以通過以下各項維護對稱多處理(SMP)系統中的存儲一致性:基于 目錄的一致性協議,其中通過參考一個或多個存儲目錄解決一致性,或者基于窺探的一致 性協議,其中通過在緩存代理之間傳遞消息解決一致性。隨著SMP系統擴展到越來越大的 η路系統,窺探一致性協議變得受到至少兩個設計約束,即,有關緩存代理中用于跟蹤請求 和關聯的一致性消息的排隊結構的深度的限制,以及可用于消息傳遞的通信帶寬方面的限 制。
[0003] 為了解決有關緩存代理中排隊結構的深度的限制,某些設計采用非阻塞窺探協 議,其不需要緩存代理來實現諸如消息隊列之類的消息跟蹤機制。相反,在非阻塞窺探協 議中,緩存代理的請求具有時間限制(意味著窺探器將在固定時間內響應)并且對源節流 (以便確保公平劃分可用通信帶寬)。例如,可以在系統中的所有可能處理節點之間平均劃 分總系統帶寬(例如,經由時分多路復用),以便在所有處理節點都發出請求的最壞情況下 確保一致性總線具有足夠的帶寬。但是,以這種方式平均劃分一致性總線帶寬將可用于任 何特定處理節點的一致性帶寬限制為不多于整體可用一致性帶寬的預定子集。此外,當只 有幾個處理節點需要高帶寬時,可以未充分使用系統的一致性帶寬。
【發明內容】
[0004] 所描述的一個或多個系統、設備、方法和/或過程可以經由互連從處理節點接收 消息,并且基于消息的第一部分的優先級或者基于消息的第二部分的到期時間,消息的所 述第一部分可以取代消息的所述第二部分。在一個實例中,可以經由所述互連的結構控制 器(FBC)的緩沖器存儲消息的所述第二部分,并且與高于消息的所述第二部分的優先級關 聯的消息的所述第一部分可以在所述緩沖器中取代消息的所述第二部分。例如,消息的所 述第二部分可以包括推測命令。在另一個實例中,可以經由所述緩沖器存儲消息的所述第 二部分,并且與到期時間關聯的消息的所述第二部分可以基于所述到期時間而取代消息的 所述第二部分。
【附圖說明】
[0005] 當閱讀以下詳細描述并且參考附圖時,各實施例將變得顯而易見,這些附圖是:
[0006] 圖1提供根據一個或多個實施例的示例性數據處理系統;
[0007] 圖2提供根據一個或多個實施例的示例性處理器單元;
[0008] 圖3A-3D提供根據一個或多個實施例的數據處理系統中的命令和響應數據流;
[0009] 圖3Ε提供根據一個或多個實施例的耦合到互連的多處理系統的示例性圖;
[0010] 圖4提供根據一個或多個實施例的示出命令、一致性響應和數據傳送序列的示例 性計時圖;
[0011] 圖5A-ro提供根據一個或多個實施例的過度使用(overcommit)協議的示例性計 時圖;
[0012] 圖6提供根據一個或多個實施例的過度使用系統的示例性框圖;
[0013] 圖7提供根據一個或多個實施例的過度使用隊列的示例性框圖;
[0014] 圖8提供根據一個或多個實施例的操作過度使用系統的示例性方法;
[0015] 圖9提供根據一個或多個實施例的操作動態速率節流器的示例性方法;
[0016] 圖10提供根據一個或多個實施例的操作動態速率節流的另一個示例性方法;
[0017] 圖11提供根據一個或多個實施例的操作命令優先級超控主節點的示例性方法;
[0018] 圖12提供根據一個或多個實施例的操作命令優先級超控客戶機的示例性方法;
[0019] 圖13提供根據一個或多個實施例的示例性計時系統,該系統可以確定在基于動 態系統工作負載最大化性能和能源效率的同時處理器單元能夠支持的最大命令數量;以及
[0020] 圖14提供根據一個或多個實施例的在計時系統中確定命令閾值的示例性方法。
【具體實施方式】
[0021] 在一個或多個實施例中,在此描述的系統、方法和/或過程可以提供和/或實現結 構控制器(FBC) (fabric controller),該控制器可以與可伸縮高速緩存一致多處理器系統 一起使用。例如,FBC可以提供一致和非一致的存儲器訪問、輸入/輸出(I/O)操作、中斷 通信和/或系統控制器通信等。例如,FBC可以在存儲系統和存儲子系統等的一個或多個 中提供命令和數據操作的接口、緩沖和排序。
[0022] 在一個或多個實施例中,FBC鏈路可以是或者包括分離事務、多路復用命令和數據 總線,其可以為多個處理節點(例如,多個多處理器單元的硬件實現)提供支持。例如,FBC 鏈路可以為多個處理器單元提供支持。
[0023] 在一個或多個實施例中,可以通過使用基于非阻塞窺探的一致性協議維護和/或 獲得高速緩存一致性。例如,起始處理節點(例如,多處理器單元的硬件實現)可以將命 令廣播到窺探器,窺探器可以將一致性響應(例如,按順序)返回到起始處理節點,并且可 以將組合窺探響應廣播回到窺探器。在一個或多個實施例中,可以支持多個級別(例如,范 圍)的窺探過濾(例如,節點、組、遠程組、系統等),以便利用數據和/或處理線程的本地 性。例如,這種方法可以減少所需的互鏈帶寬量,可以減少系統范圍命令廣播需要的帶寬, 和/或可以維護使用基于窺探的一致性協議的硬件實施的一致性。
[0024] 在一個或多個實施例中,所謂的"節點范圍"是范圍限于單個集成電路芯片(例 如,單個處理器單元或處理節點)中的窺探器的事務,并且所謂的"組范圍"是范圍限于在 一組物理處理節點上發現的窺探器的命令廣播范圍的事務。如果使用更有限的廣播范圍 (例如,節點或組)不能一致地完成事務,則基于窺探的一致性協議可以強迫將命令重新發 給系統的其它處理節點(例如,包括系統的所有處理節點的組或系統)。
[0025] 現在轉到圖1,示出根據一個或多個實施例的示例性數據處理系統100。如圖所 示,數據處理系統100包括處理節點110A-110D,它們可以用于處理數據和/或指令。在一 個或多個實施例中,數據處理系統100可以是或者包括高速緩存一致對稱多處理器(SMP) 數據處理系統。如圖所示,處理節點110A-110D耦合到系統互連120(例如,互連結構),系 統互連120可以用于傳送地址、數據和控制信息。系統互連120例如可以實現為總線互連、 交換互連和/或混合互連等。
[0026] 在一個或多個實施例中,每個處理節點110A-110D可以實現為包括多個處理器 單元112的多芯片模塊(MCM),其中每個處理器單元112A1-112D4可以實現為集成電路芯 片。如圖所示,處理節點IlOA可以包括處理器單元112A1-112A4和系統存儲器114A;處 理節點IlOB可以包括處理器單元112B1-112B4和系統存儲器114B ;處理節點IlOC可以包 括處理器單元112C1-112C4和系統存儲器114C ;以及處理節點IlOD可以包括處理器單元 112D1-112D4和系統存儲器114D。在一個或多個實施例中,系統存儲器114A-114D包括共 享系統存儲器,并且通常可以由數據處理系統100的任何處理器單元112讀取和寫入。
[0027] 如圖所示,每個處理節點110A-110D可以包括相應的互連116A-116D,它們可以以 通信方式直接或間接耦合到互連120。如圖所示,處理器單元112A1-112A4和系統存儲器 114A可以耦合到互連116A (例如,互連結構),處理器單元112B1-112B4和系統存儲器114B 可以耦合到互連116B (例如,互連結構),處理器單元112C1-112C4和系統存儲器114C可以 耦合到互連116C (例如,互連結構),并且處理器單元112D1-112D4和系統存儲器114D可以 耦合到互連116D (例如,互連結構)。
[0028] 在一個或多個實施例中,包括在相應的處理節點110中的處理器單元 112A1-112D4可以耦合以便彼此通信。在一個實例中,處理器單元112A1-112A4可以經由互 連116A和/或互連120與其它處理器單元通信。在第二實例中,處理器單元112B1-112B4 可以經由互連116B和/或互連120與其它處理器單元通信。在第三實例中,處理器單元 112C1-112C4可以經由互連116C和/或互連120與其它處理器單元通信。在另一個實例 中,處理器單元112D1-112D4可以經由互連116D和/或互連120與其它處理器單元通信。
[0029] 在一個或多個實施例中,互連(例如,互連116八、1168、116(:、1160、120等)可以包 括網絡拓撲,其中節點可以經由網絡交換機、縱橫式交換機等耦合到彼此。例如,互連可以 確定物理廣播,其中處理節點根據處理器單元提供的一致性范