一種cc-numa系統(tǒng)中的bios的啟動方法及服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種CC-NUMA系統(tǒng)中的B1S的啟動方法及服務(wù)器。
【背景技術(shù)】
[0002]大規(guī)模的CC-NUMA(Cache Coherence Non-Uniform Memory Access,緩存一致性非均勻訪存架構(gòu))系統(tǒng)如圖1所示,一般由多個單獨的服務(wù)器通過緩存一致性(CacheCoherence, CC)互聯(lián)網(wǎng)絡(luò)進行互聯(lián),組成只運行一個操作系統(tǒng)的一臺大型服務(wù)器。圖1中以3個服務(wù)器為例,當然,這里的服務(wù)器也可以稱為節(jié)點。
[0003]CC-NUMA系統(tǒng)的啟動是一個較為復(fù)雜的流程,一般都會牽涉到多個服務(wù)器的同步。現(xiàn)代的基于X86 ( 一種復(fù)雜指令集)的服務(wù)器,一般都依賴于與硬件相關(guān)的B1S (BasicInput Output System,基本輸入輸出系統(tǒng))進行系統(tǒng)啟動。
[0004]在啟動CC-NUMA的過程中,首先是各個服務(wù)器自行啟動各自的B10S,一般情況下,在B1S啟動的某一階段,會將各個服務(wù)器主板納入統(tǒng)一的一個B1S進行管理和啟動,也就是說,在CC-NUMA啟動的過程中,涉及到一個將各個服務(wù)器的B1S進行合并的過程。
[0005]各個服務(wù)器的B1S在合并過程中,牽涉到各個服務(wù)器信息的收集與同步,需要占用大量的內(nèi)存空間。但是在傳統(tǒng)的X86服務(wù)器的啟動過程中,只提供了很少的CPU(中央處理器)中的緩存(Cache)作為B1S的內(nèi)存,也就是只能通過CPU的緩存來運行B10S,并完成合并過程。顯然,如果CC-NUMA系統(tǒng)的規(guī)模過大,CPU中提供的較少的內(nèi)存是無法滿足其啟動需求的,可能會導(dǎo)致CC-NUMA系統(tǒng)無法啟動,因此,由于該問題的存在,較大地限制了CC-NUMA的規(guī)模。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例提供一種CC-NUMA系統(tǒng)中的B1S的啟動方法及服務(wù)器,用于解決因B1S啟動時可用內(nèi)存較小而導(dǎo)致CC-NUMA系統(tǒng)的規(guī)模受限的技術(shù)問題。
[0007]本發(fā)明的第一方面,提供一種CC-NUMA系統(tǒng)中的B1S的啟動方法,應(yīng)用于所述CC-NUMA系統(tǒng)中的主節(jié)點,包括:
[0008]在啟動所述主節(jié)點的B1S的過程中,初始化所述主節(jié)點中的第一內(nèi)存;
[0009]使用所述第一內(nèi)存作為運行所述主節(jié)點的B1S的內(nèi)存;
[0010]向所述CC-NUMA系統(tǒng)中的從節(jié)點發(fā)送通知消息,所述通知消息用于通知所述從節(jié)點將所述從節(jié)點的系統(tǒng)信息發(fā)送給所述主節(jié)點;
[0011 ] 根據(jù)所述從節(jié)點的系統(tǒng)信息及所述主節(jié)點的系統(tǒng)信息,將所述CC-NUMA系統(tǒng)中的所有節(jié)點的B1S作為一個總B10S,在所述第一內(nèi)存和所述從節(jié)點的內(nèi)存所構(gòu)成的總內(nèi)存中進行統(tǒng)一運行。
[0012]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,使用所述第一內(nèi)存作為運行所述主節(jié)點的B1S的內(nèi)存,包括:將所述主節(jié)點的B1S中包括的運行文件映射到所述第一內(nèi)存中,從而將所述第一內(nèi)存作為運行所述主節(jié)點的B1S的內(nèi)存。
[0013]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,在初始化所述主節(jié)點中的第一內(nèi)存之前,還包括:將所述主節(jié)點中包括的中央處理器CPU的緩存作為內(nèi)存運行所述主節(jié)點的B1S。
[0014]結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,在將所述CC-NUMA系統(tǒng)中的所有節(jié)點的B1S作為一個總B1S,在所述第一內(nèi)存和所述從節(jié)點的內(nèi)存所構(gòu)成的總內(nèi)存中進行統(tǒng)一運行之后,還包括:
[0015]在所述總內(nèi)存中運行所述總B1S的驅(qū)動程序;
[0016]將所有節(jié)點中的操作系統(tǒng)進行統(tǒng)一管理,并將所有節(jié)點中的操作系統(tǒng)作為所述CC-NUMA系統(tǒng)中的總操作系統(tǒng)進行加載。
[0017]本發(fā)明的第二方面,提供一種CC-NUMA系統(tǒng)中的B1S的啟動方法,應(yīng)用于所述CC-NUMA系統(tǒng)中的從節(jié)點,包括:
[0018]在啟動所述從節(jié)點的B1S的過程中,初始化所述從節(jié)點中的第二內(nèi)存;
[0019]使用所述第二內(nèi)存作為運行所述從節(jié)點的B1S的內(nèi)存;
[0020]接收所述CC-NUMA系統(tǒng)中的主節(jié)點發(fā)送的通知消息,所述通知消息用于通知所述從節(jié)點將所述從節(jié)點的系統(tǒng)信息發(fā)送給所述主節(jié)點;
[0021]根據(jù)所述通知消息,將所述從節(jié)點的系統(tǒng)信息發(fā)送給所述主節(jié)點。
[0022]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,在初始化所述從節(jié)點中的第二內(nèi)存之前,還包括:將所述從節(jié)點中包括的中央處理器CPU的緩存作為內(nèi)存運行所述從節(jié)點的B1S。
[0023]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,使用所述第二內(nèi)存作為運行所述從節(jié)點的B1S的內(nèi)存,包括:將所述從節(jié)點的B1S中包括的運行文件映射到所述第二內(nèi)存中,從而將所述第二內(nèi)存作為運行所述從節(jié)點的B1S的內(nèi)存。
[0024]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,在接收所述CC-NUMA系統(tǒng)中的主節(jié)點發(fā)送的通知消息之前,還包括:停止在所述第二內(nèi)存中運行所述從節(jié)點的B1S。
[0025]本發(fā)明的第三方面,提供一種服務(wù)器,包括:
[0026]初始化模塊,用于在啟動所述服務(wù)器的基本輸入輸出系統(tǒng)B1S的過程中,初始化所述服務(wù)器中的第一內(nèi)存;
[0027]操作模塊,用于使用所述第一內(nèi)存作為運行所述服務(wù)器的B1S的內(nèi)存;
[0028]發(fā)送模塊,用于向緩存一致性非均勻訪存架構(gòu)CC-NUMA系統(tǒng)中的從節(jié)點發(fā)送通知消息,所述通知消息用于通知所述從節(jié)點將所述從節(jié)點的系統(tǒng)信息發(fā)送給所述服務(wù)器;
[0029]處理模塊,用于根據(jù)所述從節(jié)點的系統(tǒng)信息及所述服務(wù)器的系統(tǒng)信息,將所述CC-NUMA系統(tǒng)中的所有節(jié)點的B1S作為一個總B10S,在所述第一內(nèi)存和所述從節(jié)點的內(nèi)存所構(gòu)成的總內(nèi)存中進行統(tǒng)一運行。
[0030]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,所述操作模塊具體用于:將所述服務(wù)器的B1S中包括的運行文件映射到所述第一內(nèi)存中,從而將所述第一內(nèi)存作為運行所述服務(wù)器的B1S的內(nèi)存。
[0031]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,所述操作模塊還用于:在所述初始化模塊初始化所述服務(wù)器中的第一內(nèi)存之前,將所述服務(wù)器中包括的中央處理器CPU的緩存作為內(nèi)存運行所述服務(wù)器的B1S。
[0032]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,所述服務(wù)器還包括運行模塊和加載模塊;
[0033]所述運行模塊用于在所述處理模塊將所述CC-NUMA系統(tǒng)中的所有節(jié)點的B1S作為一個總B1S,在所述第一內(nèi)存和所述從節(jié)點的內(nèi)存所構(gòu)成的總內(nèi)存中進行統(tǒng)一運行之后,在所述總內(nèi)存中運行所述總B1S的驅(qū)動程序;
[0034]所述加載模塊用于將所有節(jié)點中的操作系統(tǒng)進行統(tǒng)一管理,并將所有節(jié)點中的操作系統(tǒng)作為所述CC-NUMA系統(tǒng)中的總操作系統(tǒng)進行加載。
[0035]本發(fā)明的第四方面,提供一種服務(wù)器,包括:
[0036]初始化模塊,用于在啟動所述服務(wù)器的基本輸入輸出系統(tǒng)B1S的過程中,初始化所述服務(wù)器中的第二內(nèi)存;
[0037]操作模塊,用于使用所述第二內(nèi)存作為運行所述服務(wù)器的B1S的內(nèi)存;
[0038]接收模塊,用于接收緩存一致性非均勻訪存架構(gòu)CC-NUMA系統(tǒng)中的主節(jié)點發(fā)送的通知消息,所述通知消息用于通知所述服務(wù)器將所述服務(wù)器的系統(tǒng)信息發(fā)送給所述主節(jié)占.
[0039]發(fā)送模塊,用于根據(jù)所述通知消息,將所述服務(wù)器系統(tǒng)信息發(fā)送給所述主節(jié)點。
[0040]結(jié)合第四方面,在第四方面的第一種可能的實現(xiàn)方式中,所述操作模塊還用于:在所述初始化模塊初始化所述服務(wù)器中的第二內(nèi)存之前,將所述服務(wù)器中包括的中央處理器CPU的緩存作為內(nèi)存運行所述服務(wù)器的B1S。
[0041]結(jié)合第四方面或第四方面的第一種可能的實現(xiàn)方式,在第四方面的第二種可能的實現(xiàn)方式中,所述操作模塊具體用于:將所述服務(wù)器的B1S中包括的運行文件映射到所述第二內(nèi)存中,從而將所述第二內(nèi)存作為運行所述服務(wù)器的B1S的內(nèi)存。
[0042]結(jié)合第四方面或第四方面的第一種可能的實現(xiàn)方式或第二種可能的實現(xiàn)方式,在第四方面的第三種可能的實現(xiàn)方式中,所述服務(wù)器還包括停止模塊,用于在所述接收模塊接收所述CC-NUMA系統(tǒng)中的主節(jié)點發(fā)送的通知消息之前,停止在所述第二內(nèi)存中運行所述服務(wù)器的B1S。
[0043]本發(fā)明的第五方面,提供一種服務(wù)器,包括連接到同一總線的存儲器、處理器和輸出設(shè)備;
[0044]所述存儲器,用于存儲指令
[0045]所述處理器,用于執(zhí)行所述指令,在啟動所述服務(wù)器的基本輸入輸出系統(tǒng)B1S的過程中,初始化所述服務(wù)器中的第一內(nèi)存;使用所述第一內(nèi)存作為運行所述服務(wù)器的B1S的內(nèi)存;通過所述輸出設(shè)備向緩存一致性非均勻訪存架構(gòu)CC-NUM