本公開涉及分布式計算和存儲系統。
背景技術:
許多計算和存儲系統包括主機控制器/處理器,所稱的集中式處理,交換結構(switch fabric),以及多個存儲器模塊。在這個架構中,命令和數據通過交換結構被路由,這成為一個中央資源瓶頸,尤其是在高并發數據訪問請求期間。
圖1突出顯示了集中式處理的這樣一個瓶頸問題,上層應用嘗試將數據寫入到存儲器模塊100,并對存儲器模塊100讀取數據,命令和數據通過主機控制器/處理器10被路由,主機控制器/處理器的性能限制了數據讀取和寫入的并發性。
本公開提供了一種分布式計算和存儲系統,其具有緊密耦合的計算和存儲元件,這樣的結構可以為某些特定的應用提供更有效的數據存儲和處理。
技術實現要素:
公開了一種分布式計算和存儲系統,其包括多個節點。每個節點執行一個或多個應用程序,包括至少一個處理器和多個存儲器設備。節點連接通過交換結構提供。
在系統初始化時,執行一個配置階段,在此期間,節點根據預定的地理標識(ID)生成因特網協議(IP)地址和/或媒體訪問控制(MAC)地址。地理ID可以是基于機箱內的物理位置。
附圖說明
圖1示出了示例性的傳統的存儲系統的框圖。
圖2示出了具有多個計算和存儲節點、并通過交換結構互連的示例性分布式計算和存儲系統的框圖。
圖3示出了示例性節點200的框圖。
圖4示出示例性處理器301的框圖。
圖5示出節點內200的示例性物理模塊。
圖6示出了在印刷電路板(PCB)1000上的示例性節點布局。
圖7示出了通信地址分配的示例性流程圖。
具體實施方式
雖然本發明容易受到各種修改和可替代形式的影響,但通過舉例的方式在附圖中示出了具體實施例,并將對其進行詳細說明。但應該理解的是,本文所討論的附圖和詳細描述不意圖將所公開的本發明限制到特定的形式,而是相反,本發明意圖覆蓋落入本發明的精神和范圍內的如由所附權利要求限定的所有修改、等同物和可替代物。
在圖2中,多個節點200可通過交換結構20連接。在這個例子中,示出了五個節點,但是節點的數目不是關鍵的,并且是可以改變的。每個節點包括至少一個處理器,以及多個存儲器裝置。
在圖2中,兩個輸入/輸出接口模塊202被連接到交換結構。在這個例子中,示出了兩個輸入/輸出接口模塊,但是輸入/輸出接口模塊的數量不是關鍵的,并且是可以改變的。在這個例子中,輸入/輸出接口模塊可以是以太網物理層(PHY)或PHY集成MAC設備。
在圖2中,交換結構被用來連接節點和輸入/輸出接口模塊。存在不同類型的交換結構,包括但不限于:以太網交換機,外圍控制接口(PCI)-Express開關和串行RapidIO開關。
在圖2中,來自每個輸入/輸出接口模塊的數據,然后可被分配到不同的節點,數據可被處理。節點的結構可以是彼此相似,如在圖3中所示。
在圖3中,處理器210可以是通用處理器,合適的通用處理器的例子,包括英特爾X86系列,ARM處理器系列,和對本領域技術人員將是顯而易見的其它合適的通用處理器。可替代地,片上系統(SoC),特定目的的專用集成電路(ASIC),或現場可編程門陣列(FPGA)可以被用來支持實現處理器功能。
在圖3中示出了至少一個存儲器控制器211,其可以是單獨的控制器,或者其可以是處理器210的一部分,其中,處理器210可以是SoC或FPGA,如圖4所示。
在圖3中,存儲器裝置212可以是閃存,包括但不限于多級單元(MLC)NAND閃存,單級單元(SLC)NAND閃存,三電平單元(TLC)NAND閃存,嵌入式多媒體卡(eMMC)存儲器。存儲器裝置也可以是其它類型的存儲器,包括但不限于靜態RAM(SRAM),雙倍數據速率(DDR)同步動態隨機存取存儲器(SDRAM),磁性隨機存取存儲器(MRAM),電阻式隨機存取存儲器(RRAM),以及3D XPOINT存儲器。
在圖4中,處理器301可以是SoC,其中包括一個或多個處理器核心,處理器核心的類型包括但不限于ARM,X86,MIPS和其他專用處理器核心。在這個例子中,SoC包括存儲器控制器302,以太網MAC(401),通用串行總線(USB)控制器402,通用輸入輸出(GPIO)403。
在圖5中,物理上,每個節點包括安裝在印刷電路板(PCB)1000上的節點連接器2002,或平臺,和可被插入到節點連接器2002的節點模塊2001。在圖5中,處理器301、存儲器302和存儲器裝置303可以位于節點模塊2001處。節點模塊2001可以熱插拔。
在圖5中,節點連接器2002通過硬連線的方法與預定地理ID相關聯,或被連接到串行總線,其可以包括但不限于內部集成電路(I2C)等。
在圖6中,可以在印刷電路板1000上安裝32個節點,示出了32個節點,但是節點數目不是關鍵的,并且是可以改變的。印刷電路板1000可以是一個單獨的印刷電路板,或是通過電纜或連接器連接的多個小的印刷電路板,或者可以是節點被安裝在其上的一些平臺。
在圖6中,對于每一個節點連接器2002,可能存在與其相關聯的唯一的地理ID,并且該地理ID表示每個連接器的真實的物理位置。
在圖6中,在系統初始化期間,節點通信地址,其包括但不限于基于IP地址和/或MAC地址的節點通信地址,將根據每個節點的地理ID來生成,該過程在圖7的流程圖中示出,其中機箱管理器可以位于機箱內,如圖6所示,或機箱管理器可以作為外部設備位于機箱外面。
在圖6中,由于節點通信地址與真實物理位置相關聯,在某些部署的情況下,位于一定區域內的一些節點可以是活動的,而其余的節點可以處于空閑模式中。在這個例子中,節點200,201,210,211,220,221,230,231將處于活動模式中,而其他節點將處于空閑模式中。
一種分布式計算和存儲系統,包括交換結構,連接到所述交換結構的輸入/輸出接口,和連接到所述交換結構的多個節點,多個節點中的每個節點都具有節點通信地址,所述節點通信地址由節點內的處理器基于所述節點物理地址進行分配。每個節點還包括:至少一個處理器,連接到所述至少一個處理器的至少一個存儲器控制器,和連接到所述至少一個存儲器控制器的多個存儲器裝置。
在分布式計算和存儲系統中,節點通信地址可以包括IP段和/或MAC范圍,和節點物理地址,其中所述節點物理地址可以基于一個物理位置,由地理ID表示。節點物理地址也可由機箱管理器來確定。
一種分布式計算和存儲系統,包括交換結構,連接到所述交換結構的輸入/輸出接口,和連接到所述交換結構的多個虛擬節點,多個虛擬節點中的每個虛擬節點都具有虛擬節點通信地址,所述虛擬節點通信地址由所述節點內的虛擬處理器基于所述虛擬節點物理地址進行分配。每個虛擬節點還包括:至少一個虛擬處理器,連接到所述至少一個虛擬處理器的至少一個虛擬存儲器控制器,和連接到所述至少一個虛擬存儲器控制器的多個虛擬存儲器裝置。
在分布式計算和存儲系統中,虛擬節點通信地址可以包括IP段,和虛擬節點物理地址,其中所述虛擬節點物理地址可以基于物理位置,由地理ID表示。虛擬節點物理地址也可由機箱管理器來確定。
雖然已經根據具體的實施例對本發明進行了描述,可以預期,對其進行改變和修改將無疑對本領域技術人員來說是明顯的。因此,意圖在于下列權利要求被解釋為涵蓋落入本發明的真實精神和范圍內的所有這樣的改變和修改。