對稱多處理器(smp)域的動態形成的制作方法
【技術領域】
[0001] 本發明通常涉及計算機系統,并且更具體地涉及對稱多處理器(SMP)域的動態形 成。
【背景技術】
[0002] 在當今社會,計算機系統是尋常的。可以在工作場所、家庭或學校中找到計算機系 統。計算機系統可以包括數據存儲系統或磁盤存儲系統,以處理并存儲數據。通常,計算機 系統被設計用于通過使用操作系統以管理執行應用程序所需的計算機資源來接受并且執 行由用戶提供的各種應用程序。朝向提高計算機系統性能的趨勢經常聚焦在提供更快、更 高效的處理器上。傳統的數據處理系統通常包括通過系統總線與存儲器和I/O部件以及其 他處理器部件互連的單個處理器。隨著技術改進,存在通過對稱多處理器(SMP)拓撲結構 中的SMP域的動態形成來提供更快和更高效數據處理系統的需求。
【發明內容】
[0003] 在一個實施例中,提供了一種用于在計算環境中使用至少一個處理器設備來動態 形成對稱多處理器(SMP)域的方法。在一個實施例中,僅通過示例的方式,SMP節點經由使 用SMP光學連接開關的SMP插座而被動態地配置,以將連接至SMP節點的SMP光學連接鏈 路動態地連接以基于針對用于交換SMP相干信息的相干通信量的最佳匹配預期工作負載 來形成SMP域。SMP節點被動態地添加至SMP域之一和/或SMP域之一被動態地移除。
[0004] 在另一實施例中,提供了一種用于在計算環境中使用至少一個處理器設備來動態 形成對稱多處理器(SMP)域的計算機系統。計算機系統包括計算機可讀介質以及與計算機 可讀介質可操作通信的處理器。在一個實施例中,僅通過示例的方式,處理器經由使用SMP 光學連接開關的SMP插座動態地配置SMP節點,以將連接至SMP節點的SMP光學連接的鏈 路動態地連接以基于針對用于交換SMP相干信息的相干通信量的最佳匹配預期工作負載 來形成SMP域。SMP節點被動態地添加至SMP域之一和/或從SMP域之一被動態地移除。
[0005] 在又一實施例中,提供了一種用于在計算環境中使用至少一個處理器設備來動態 形成對稱多處理器(SMP)域的計算機程序產品。計算機可讀存儲介質具有存儲在其上的計 算機可讀程序代碼部分。計算機可讀程序代碼部分包括第一可執行部分,其經由使用SMP 光學連接開關的SMP插座動態地配置SMP節點,以將連接至SMP節點的SMP光學連接的鏈 路動態地連接以基于針對用于交換SMP相干信息的相干通信量的最佳匹配預期工作負載 來形成SMP域。SMP節點被動態地添加至SMP域之一和/或從SMP域之一被動態地移除。
[0006] 除了前述示例性方法實施例之外,提供了其他示例性系統和計算機產品實施例并 且提供了相關優點。已經提供前述
【發明內容】
部分用于以簡化形式介紹在以下【具體實施方式】 部分中進一步描述的概念的選集。該
【發明內容】
部分并非旨在標識請求保護主題的關鍵特征 或必要特征,也并非旨在用作輔助確定請求保護主題的范圍。請求保護的主題并不限于解 決了【背景技術】部分中所述任何或全部缺點的實施方式。
【附圖說明】
[0007] 為了將容易理解本發明的優點,將通過參照附圖中所示的具體實施例來展現如上 簡要描述的本發明的更具體描述。應該理解的是,這些附圖示出了本發明的實施例并且不 應由此視作限制了其范圍,將通過使用附圖采用附加特性和細節來描述和解釋本發明,在 附圖中:
[0008] 圖1是示出了其中可以實現本發明的方面的具有示例存儲設備的計算機系統環 境的方框圖;
[0009] 圖2是示出了其中可以實現本發明的方面的光學連接存儲器系統的硬件結構的 方框圖;
[0010] 圖3是示出了在光學連接存儲器系統中處理器設計的硬件結構的方框圖;
[0011] 圖4是示出了其中可以實現本發明的方面的計算機系統中用于通過光學互連組 構來切換存儲器的硬件結構的方框圖;
[0012] 圖5是示出了其中可以實現本發明的方面的具有通過光學開關連接的對稱多處 理器(SMP)鏈路的SMP節點的方框圖;
[0013] 圖6是示出了其中可以實現本發明的方面的在對稱多處理器(SMP)節點之間形成 環形拓撲結構的示例性SMP組構拓撲結構的方框圖;
[0014] 圖7是示出了其中可以實現本發明的方面的具有形成環形拓撲結構的對稱多處 理器(SMP)鏈路的SMP節點的方框圖;
[0015] 圖8是示出了其中可以實現本發明的方面的具有拆分成至少2個不同域的對稱多 處理器(SMP)鏈路的SMP節點的方框圖;
[0016] 圖9是示出了其中可以實現本發明的方面的用于動態形成對稱多處理器(SP)域 的示例性備選方法的流程圖;以及
[0017] 圖10是示出了其中可以實現本發明的方面的用于動態形成對稱多處理器(SMP) 域的示例性備選方法的流程圖。
【具體實施方式】
[0018] 在一個實施例中,如在此所述,對稱多處理(SMP)是使用共享共用操作系統和存 儲器的多個處理器的應用程序和操作系統的處理。操作系統的單個副本對于經由某形式的 通信路徑來共享對于共用存儲器的等同訪問的所有處理器是可用的。
[0019] 在一個實施例中,SMP系統的目標在于在可用處理器之間動態地平衡工作負載,優 化資源的使用并且為用戶提供更快的操作。此外,在一個實施例中,對稱多處理器(SMP)涉 及多處理器計算機硬件和軟件體系結構,其中兩個或多個相同處理器被連接至單個共享存 儲器,具有對于所有輸入/輸出(I/O)設備的完全訪問,以及由單個操作系統(0S)實例所 控制,并且其中等同地對待所有處理器,而沒有任何一個保留用于特殊目的。SMP可以在高 速緩存層次結構中實施理論上的PRAM (并行RAM)。在一個實施例中,共享存儲器內容的副 本在本地高速緩存中。當這些副本改變(寫入)時,相干廣播需要通告每個處理器。發生 的改變(例如寫入)越多,廣播所需要的帶寬越多。對于更多帶寬的需求取決于應用:一些 工作負載要求極少帶寬,而一些要求大量帶寬。給定相干通信量帶寬預算(例如組構的總 帶寬的百分比(%)),可以計算SMP域的最大大小。在一個實施例中,取決于預先考慮的應 用的最壞情形的混合,這是固定大小。此外,相干通信量從小量(例如1%)的相干通信量 (在此使用在以太網之上基于軟件的SMP)改變至大量(至少10% )的相干通信量。不確 定的更新次數基于應用(以及組構的距離/延遲)而改變。在一個實施例中,SMP編程模 型對于機架和數據中心中的許多節點的能耗縮放是非常方便并且強大的。
[0020] 應該注意的是,術語"小"和"大"是通常組構可以支持的總帶寬的百分比的相對性 表達。例如,如果SMP組構支持的總對分帶寬是10T字節/秒,并且在組構中存在8個SMP 節點,一個百分點(例如1%)可以稱作小并且大可以至少為十個百分點(例如10%)或更 大。相干通信量是在SMP組構中發送至需要改變它們本地高速緩存副本(使其無效)的所 有節點的信息,因為一個節點已經改變了本地高速緩存中副本所代表的存儲器位置,使得 副本不再有效。相干通信量因此是由SMP連接節點組成的SMP組構中存在的多少次寫入的 函數。對于一些應用,如果所有節點保持改變高速緩存副本,這些通信量將是總帶寬的高百 分比,例如10%或更多。另一方面,其他應用可以不需要這些更新,因為僅很少的節點將執 行向存儲器位置的寫入,其副本已經由SMP節點本地高速緩存。如果SMP中節點的數目非 常大,可能發生的是,這些更新更經常達到組構支持的大多數帶寬由這些更新消耗的程度。
[0021] 然而,由于無法改變動態節點之間的接線,SMP組構是固定的。分組交換無法在極 端用途所需的低延遲SMP處理高通信量。SMP鏈路具有高帶寬并且要求處理上的最小延遲, 然而不存在用于極端用途的外部交換機,并且基于軟件的SMP是非常有限的(例如限定于 特定HPC應用)。對于極端SMP用例,穿過多跳的延遲可以損害不相干性并且因此使得解決 方案無效。
[0022] 在一個實施例中,可以通過將兩個或多個處理器插座與專門鏈路連接以形成多處 理器來以固定方式形成SMP系統。在備選實施例中,可以形成SMP以實現在任何類型網絡鏈 路之上的基于軟件的SMP,而無需專門的網絡鏈路(硬件輔助的SMP/相干鏈路)。然而,在 這些方案中均存在若干問題。第一個(基于硬件)問題展現了對于連接至一個SMP中的單 獨的處理器(即插座)數目的限制。存在對這樣的連接的各種限制。例如,相干信息需要 向所有處理器廣播。處理器數目越大,這種相干組構通信量放置在網絡上的負載越多。各 種濾波系統可以減少相干通信量,然而,非常難以利用數十和/或數千個處理器來創建SMP 系統。處理器越快則每個芯片中內核數目越多,需要更多的帶寬并且一旦數據已經改變則 需要越多的通信量(高速緩存讀取/寫入),這可以要求廣播以使得高速緩存副本無效。實 施了類似SMP功能的軟件系統是非常緩慢的并且依賴于異常(頁面中斷)以捕獲高速緩存 數據內容的改變并且因此需要向SMP域中其他節點廣播。這種機制被限制于并未有效地并 行工作的非常孤立的處理器。
[0023] 因此,存在動態形成SMP域的需求,因為與SMP編程模型工作是非常容易和高效 的,并且也需要基于硬件(快速)的方案。這樣的方案可以受限于參與的處理器(例如,其 中每個具有多個內核的插座)的最大數目,然而,這些插座的特定集合以及它們之間和內 部SMP關系可以動態地改變。在一個實施例中,這樣的動態改變無需經常發生(例如,可以 至多每隔幾秒而發生)。在一個實施例中,動態地形成的多個SMP域可以基于從插座的大的 群組的需求來開創,并且每個SMP域的成員可以動態地改變,導致非常高效和快速的解決 方案。
[0024] 因此,在一個實施例中,通過使用光學開關以動態地連接在節點之外的SMP鏈路 的光學"引線"而將SMP域形成為由組構路由所限定的可縮放拓撲結構。SMP節點可以被接 入和/或斷出,并且拆分為單獨的域(例如,類似于故障容忍考慮,其需要找到在壞節點周 圍的重新路由,壞節點是不根據設計、性能標準/閾值、用戶偏好而實現功能和/或基于檢 測到故障/錯誤的節點)。在一個實施例中,SMP鏈路協議具有允許動態改變的重試和重傳 功能。在一個實施例中,可以創建SMP域以在預期相干帶寬通信量分配內從小工作負載到 大