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