利用SMP節(jié)點(diǎn)604形成各種拓?fù)浣Y(jié)構(gòu),諸如環(huán)形拓?fù)浣Y(jié)構(gòu)602,二維 (2D) 2D網(wǎng)狀拓?fù)浣Y(jié)構(gòu)606, 2D環(huán)面拓?fù)浣Y(jié)構(gòu)608,和/或三維(3D) 3d網(wǎng)狀拓?fù)浣Y(jié)構(gòu)610。
[0044] 圖7是示出了其中可以實(shí)現(xiàn)本發(fā)明的方面的具有形成環(huán)形拓?fù)浣Y(jié)構(gòu)的對(duì)稱多處 理器(SMP)鏈路的SMP節(jié)點(diǎn)的方框圖700。如圖7中所示,多個(gè)SMP節(jié)點(diǎn)702 (圖7中示出 為702A-E)各自具有通過光學(xué)開關(guān)704連接的2個(gè)SMP鏈路708A和708B。在一個(gè)實(shí)施例 中,通過僅用于說明本發(fā)明的示例的方式,工作負(fù)載A運(yùn)行在SMP節(jié)點(diǎn)702A和702C上,并 且工作負(fù)載B運(yùn)行在SMP節(jié)點(diǎn)702B、702D和702E上(例如工作負(fù)載A和工作負(fù)載B運(yùn)行 在5SMP節(jié)點(diǎn)域上,每個(gè)工作負(fù)載使用2個(gè)SMP鏈路708A和708B)。然而,太多相干通信量 穿過公共的環(huán)形SMP組構(gòu)。因此,現(xiàn)在參照?qǐng)D8,描繪了示出其中可以實(shí)現(xiàn)本發(fā)明的方面的 具有拆分為至少2個(gè)不同域的對(duì)稱多處理器(SMP)鏈路的SMP節(jié)點(diǎn)的方框圖。在一個(gè)實(shí)施 例中,本發(fā)明提供了一種由各自具有光學(xué)連接的多個(gè)SMP鏈路的SMP節(jié)點(diǎn)構(gòu)成的系統(tǒng)。光 學(xué)開關(guān)804通過SMP節(jié)點(diǎn)的光學(xué)SMP鏈路808將它們相互連接。在一個(gè)實(shí)施例中,提供各 種類型的可縮放拓?fù)浣Y(jié)構(gòu)(例如基于用戶和/或體系結(jié)構(gòu)偏好),并且通過經(jīng)由SMP組構(gòu)、 路由表和/或其他方法(例如路由算法)而路由來支持將SMP節(jié)點(diǎn)802相互連接。如圖8 中所示,多個(gè)SMP節(jié)點(diǎn)802 (圖8中示出為802A-E)各自具有通過光學(xué)開關(guān)804連接的SMP 鏈路808A和808B。然而,具有SMP鏈路的SMP節(jié)點(diǎn)現(xiàn)在被拆分為兩個(gè)單獨(dú)的/不同的域。 通過創(chuàng)建各自具有其自身的相干通信量的兩個(gè)SMP域805A和850B,本發(fā)明使得相干組構(gòu) 能力加倍并且隔離了工作負(fù)載。現(xiàn)在,在一個(gè)實(shí)施例中,通過僅用于說明本發(fā)明的示例的 方式,工作負(fù)載A運(yùn)行在第一 SMP域850A (例如域A)中的SMP節(jié)點(diǎn)802A和802C上,并且 工作負(fù)載B運(yùn)行在第二SMP域850B(例如域B)中的SMP節(jié)點(diǎn)802B、802D和802E上,兩個(gè) SMP域A和B中的每個(gè)SMP節(jié)點(diǎn)均使用具有光學(xué)開關(guān)804的2個(gè)SMP鏈路808A和808B。因 此,在一個(gè)實(shí)施例中,經(jīng)由使用SMP光學(xué)連接開關(guān)804的SMP插座動(dòng)態(tài)地配置對(duì)稱多處理器 (SMP)節(jié)點(diǎn)802,以將連接至每個(gè)SMP節(jié)點(diǎn)802的SMP光學(xué)連接鏈路808A和808B動(dòng)態(tài)地連 接以基于針對(duì)用于交換SMP相干信息的相干通信量的最佳匹配預(yù)期工作負(fù)載來形成SMP域 (例如域A 850A和域B 850B)。SMP節(jié)點(diǎn)被動(dòng)態(tài)地添加至SMP域之一和/或從SMP域之一 被動(dòng)態(tài)地移除。
[0045] 圖9是示出了其中可以實(shí)現(xiàn)本發(fā)明的方面的用于動(dòng)態(tài)形成對(duì)稱多處理器(SMP)域 的示例性方法900的流程圖。方法900開始于(步驟902)空閑狀態(tài),并且使用(步驟904) 各種對(duì)稱多處理器(SMP)域之一。方法900確定是否需要改變SMP拓?fù)浣Y(jié)構(gòu),例如通過經(jīng)由 使用SMP光學(xué)連接的開關(guān)的SMP插座一起動(dòng)態(tài)地配置對(duì)稱多處理器(SMP)節(jié)點(diǎn)來改變SMP 拓?fù)浣Y(jié)構(gòu)以將連接至SMP節(jié)點(diǎn)的SMP光學(xué)連接鏈路動(dòng)態(tài)地連接以基于針對(duì)用于交換SMP相 干信息(步驟906)的相干通信量的最佳匹配預(yù)期工作負(fù)載來形成SMP域。如果否,則方法 900返回至步驟904。如果是,則方法900確定是否需要向SMP域之一動(dòng)態(tài)地添加至少一個(gè) SMP節(jié)點(diǎn)和/或從一個(gè)SMP域動(dòng)態(tài)地移除至少一個(gè)SMP節(jié)點(diǎn)(步驟908)。如果方法900確 定需要添加至少一個(gè)SMP節(jié)點(diǎn),則方法900向SMP域之一動(dòng)態(tài)地增添至少一個(gè)SMP節(jié)點(diǎn)(步 驟910)。如果方法900確定需要移除至少一個(gè)SMP,則方法900從SMP域之一動(dòng)態(tài)地移除 至少一個(gè)SMP節(jié)點(diǎn)(步驟912)。
[0046] 圖10是示出了其中可以實(shí)現(xiàn)本發(fā)明的方面的用于在光學(xué)連接的系統(tǒng)中動(dòng)態(tài)形成 對(duì)稱多處理器(SMP)域的示例性方法1000的流程圖。方法1000開始于(步驟1002)經(jīng)由 使用SMP光學(xué)連接開關(guān)的SMP插座一起動(dòng)態(tài)地配置對(duì)稱多處理器(SMP)節(jié)點(diǎn)以將連接至 SMP節(jié)點(diǎn)的SMP光學(xué)連接鏈路動(dòng)態(tài)地連接以基于針對(duì)用于交換SMP相干信息的相干通信量 的最佳匹配預(yù)期工作負(fù)載來形成SMP域(步驟1004)。方法1000向SMP域之一動(dòng)態(tài)地添加 至少一個(gè)SMP節(jié)點(diǎn)和/或從SMP域之一動(dòng)態(tài)地移除至少一個(gè)SMP節(jié)點(diǎn)(步驟1006)。方法 1000結(jié)束(步驟1008)。
[0047] 在一個(gè)實(shí)施例中,提供了一種用于在計(jì)算環(huán)境中使用至少一個(gè)處理器設(shè)備來動(dòng)態(tài) 形成對(duì)稱多處理器(SMP)域的方法。在一個(gè)實(shí)施例中,僅通過示例的方式,SMP節(jié)點(diǎn)經(jīng)由使 用SMP光學(xué)連接開關(guān)的SMP插座而被動(dòng)態(tài)地配置,以將連接至SMP節(jié)點(diǎn)的SMP光學(xué)連接鏈 路動(dòng)態(tài)地連接以基于針對(duì)用于交換SMP相干信息的相干通信量的最佳匹配預(yù)期工作負(fù)載 來形成SMP域。SMP節(jié)點(diǎn)被動(dòng)態(tài)地添加至SMP域之一和/或SMP域之一被動(dòng)態(tài)地移除。
[0048] 在一個(gè)實(shí)施例中,針對(duì)相干通信量SMP域的最佳匹配預(yù)期工作負(fù)載被形成為多個(gè) SMP域之一,以用于提高交換SMP相干信息效率。在一個(gè)實(shí)施例中,SMP節(jié)點(diǎn)中的至少一個(gè) SMP節(jié)點(diǎn)被拆分為SMP域。
[0049] 在一個(gè)實(shí)施例中,本發(fā)明提供了在SMP域中的一個(gè)SMP域中的SMP節(jié)點(diǎn)中的每個(gè) SMP節(jié)點(diǎn)之間共用存儲(chǔ)器,訪問SMP域中的一個(gè)SMP域中的SMP節(jié)點(diǎn)中的每個(gè)SMP節(jié)點(diǎn)中的 部件,接受SMP域中的一個(gè)SMP域中的SMP節(jié)點(diǎn)中的每個(gè)SMP節(jié)點(diǎn)中的相干通信量事務(wù),標(biāo) 記與訪問SMP域中的一個(gè)SMP域中的SMP節(jié)點(diǎn)的每個(gè)SMP節(jié)點(diǎn)的共用相干存儲(chǔ)器相關(guān)聯(lián)的 地址空間,和/或接受用于訪問在SMP域中的一個(gè)SMP域中的SMP節(jié)點(diǎn)中的每個(gè)SMP節(jié)點(diǎn) 的共用相干存儲(chǔ)器的本地高速緩存副本。
[0050] 在一個(gè)實(shí)施例中,本發(fā)明提供了關(guān)聯(lián)與訪問SMP域中的至少一個(gè)SMP域中的共用 相干存儲(chǔ)器相關(guān)聯(lián)的類似地址空間,和/或使用與訪問SMP域中的至少一個(gè)SMP域中的共 用相干存儲(chǔ)器相關(guān)聯(lián)的類似地址空間,同時(shí)將SMP插座中的一個(gè)SMP插座切換至SMP域中 的備選SMP域
[0051] 在一個(gè)實(shí)施例中,本發(fā)明提供了當(dāng)移除節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn)時(shí),使得與用于SMP域 中的至少一個(gè)SMP域中的多個(gè)節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn)的共用相干存儲(chǔ)器有關(guān)的所有高速緩存 無效。
[0052] 在一個(gè)實(shí)施例中,光學(xué)連接系統(tǒng)可以是光學(xué)連接電路網(wǎng)絡(luò)系統(tǒng)和/或電氣電路系 統(tǒng),以及SMP光學(xué)連接的鏈路至少包括通信地耦合在多個(gè)SMP節(jié)點(diǎn)的每個(gè)SMP節(jié)點(diǎn)之間的 光學(xué)切換組構(gòu)。
[0053] 如本領(lǐng)域技術(shù)人員將會(huì)理解的,本發(fā)明的方面可以體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程 序產(chǎn)品。因此,本發(fā)明的方面可以采取完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、駐留 軟件、微代碼等)或組合了軟件和硬件方面的實(shí)施例的形式,所有這些可以通常稱作"電 路"、"模塊"或"系統(tǒng)"。此外,本發(fā)明的方面可以采取體現(xiàn)在具有體現(xiàn)在其上的計(jì)算機(jī)可讀 程序代碼的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式。
[0054] 可以利用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī) 可讀信號(hào)介質(zhì)或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以例如是但不限于電子、磁 性、光學(xué)、電磁、或半導(dǎo)體系統(tǒng)、設(shè)備、或裝置,或者前述的任意合適的組合。計(jì)算機(jī)可讀存 儲(chǔ)介質(zhì)的更具體示例(非窮舉列表)可以包括以下:具有一個(gè)或多個(gè)引線的電連接、便攜 式計(jì)算機(jī)軟盤、硬盤、隨機(jī)訪問存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(R0M)、可擦除可編程只讀存儲(chǔ)器 (EPROM或快閃存儲(chǔ)器)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(⑶-ROM)、光學(xué)存儲(chǔ)設(shè)備、磁性存 儲(chǔ)設(shè)備、或者前述的任意合適的組合。在本文檔的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可 以包含或存儲(chǔ)由指令執(zhí)行系統(tǒng)、設(shè)備或裝置所使用或者與其結(jié)合使用的程序的任何有形介 質(zhì)。
[0055] 體現(xiàn)在計(jì)算機(jī)可讀介質(zhì)上的程序代碼可以使用任何合適的介質(zhì)傳輸,包括但不 限于無線、有線、光纖電纜、RF等,或者前述的任意合適組合。用于執(zhí)行本發(fā)明的方面的 操作的計(jì)算機(jī)程序代碼可以以一個(gè)或多個(gè)編程語言的任意組合來編寫,包括諸如Java、 Smalltalk、C++等的面向?qū)ο蟮木幊陶Z言,以及諸如"C"編程語言或類似編程語言的傳統(tǒng) 過程式編程語言。程序代碼可以作為獨(dú)立軟件包完全執(zhí)行在用戶的計(jì)算機(jī)上、部分地執(zhí)行 在用戶的計(jì)算機(jī)上、部分地在用戶的計(jì)算機(jī)上以及部分在遠(yuǎn)程計(jì)算機(jī)上、或者完全在遠(yuǎn)程 計(jì)算機(jī)或服務(wù)器上。在后者的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任何類型網(wǎng)絡(luò)連接至用戶的計(jì) 算機(jī),網(wǎng)絡(luò)包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)、或者可以形成至外部計(jì)算機(jī)的連接(例如,通 過使用互聯(lián)網(wǎng)服務(wù)提供商的互聯(lián)網(wǎng))。
[0056] 已經(jīng)參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和 /或方框圖如上描述了本發(fā)明的方面。應(yīng)該理解的是在流程圖和/或方框圖的每個(gè)方框以 及流程圖和/或方框圖中方框的組合可以由計(jì)算機(jī)程序指令實(shí)施。這些計(jì)算機(jī)程序指令可 以被提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生機(jī)器,使 得當(dāng)指令經(jīng)由計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行時(shí)產(chǎn)生用于實(shí)施流程圖和/ 或方框圖的方框中規(guī)定的功能/動(dòng)作的裝置。
[0057] 這些計(jì)算機(jī)程序指令也可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,其可以指導(dǎo)計(jì)算機(jī)、其他 可編程數(shù)據(jù)處理設(shè)備或其他裝置以特定方式工作,使得存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn) 生包括了實(shí)施在流程圖和/或方框圖方框中規(guī)定的功能/動(dòng)作的指令的制品。計(jì)算機(jī)程序 指令也可以被裝載至計(jì)算機(jī)、其他可編程數(shù)據(jù)處理設(shè)備或其他裝置上以使得在計(jì)算機(jī)、其 他可編程設(shè)備或其他裝置上執(zhí)行一系列運(yùn)算步驟以產(chǎn)生計(jì)算機(jī)實(shí)施的方法,使得執(zhí)行在計(jì) 算機(jī)或其他可編程設(shè)備上的指令提供用于實(shí)施流程圖和/或方框圖的方框中規(guī)定的功能/ 動(dòng)作的過程。
[0058] 以上附圖中的流程圖和方框圖示出了根據(jù)本發(fā)明各個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算 機(jī)程序產(chǎn)品的可能實(shí)施方式的體系結(jié)構(gòu)、功能和操作。在這點(diǎn)上,流程圖或方框圖中每個(gè)方 框可以代表代碼的模塊、區(qū)段或部分,其包括用于實(shí)施規(guī)定邏輯功能的一個(gè)或多個(gè)可執(zhí)行 指令。也應(yīng)該注意的是,在一些備選實(shí)施方式中,方框中指出的功能可以以不同于附圖中所 示順序而執(zhí)行。例如,取決于所涉及的功能,示出為連續(xù)的兩個(gè)方框可以實(shí)際上基本上并行 地執(zhí)行,或者方框可