本發(fā)明涉及信息,尤其涉及一種異構(gòu)計(jì)算中的分布式機(jī)器學(xué)習(xí)方法。
背景技術(shù):
1、隨著分布式機(jī)器學(xué)習(xí)環(huán)境的快速發(fā)展和廣泛應(yīng)用,異構(gòu)計(jì)算環(huán)境下的硬件規(guī)格與配置信息獲取、硬件故障模式分類、數(shù)據(jù)同步和計(jì)算資源分配等操作成為關(guān)鍵問題。獲取硬件規(guī)格與配置信息的方法不夠全面和高效。目前的方法多為手動(dòng)記錄或者依賴專門的硬件監(jiān)控系統(tǒng),這些方法存在信息不全面、工作量大、效率低下等問題。同時(shí),在異構(gòu)計(jì)算環(huán)境中,各節(jié)點(diǎn)的硬件規(guī)格和配置也可能存在差異,導(dǎo)致獲取的信息不一致。硬件故障模式的初步分類不夠準(zhǔn)確和可靠。目前的方法主要依靠經(jīng)驗(yàn)和專家知識(shí)進(jìn)行分類,這種方法容易受到主觀因素的影響,分類準(zhǔn)確度不高。另外,由于異構(gòu)計(jì)算環(huán)境中硬件規(guī)格和配置的差異,不同節(jié)點(diǎn)的故障模式可能存在差異,導(dǎo)致分類結(jié)果不一致。數(shù)據(jù)同步策略的設(shè)計(jì)和優(yōu)化缺乏系統(tǒng)化方法。目前的方法主要基于靜態(tài)配置或者經(jīng)驗(yàn)規(guī)則,無法適應(yīng)動(dòng)態(tài)變化的分布式機(jī)器學(xué)習(xí)環(huán)境。同時(shí),由于數(shù)據(jù)同步的延遲和不一致性,可能導(dǎo)致計(jì)算資源分配不均衡和性能下降。并且,分布式機(jī)器學(xué)習(xí)環(huán)境中的硬件故障模式多種多樣,對(duì)應(yīng)的容錯(cuò)機(jī)制也需要針對(duì)不同的故障模式進(jìn)行設(shè)計(jì)。因此,如何對(duì)硬件故障模式進(jìn)行初步分類,以便為每個(gè)節(jié)點(diǎn)設(shè)計(jì)相應(yīng)的容錯(cuò)機(jī)制,是一個(gè)需要解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種異構(gòu)計(jì)算中的分布式機(jī)器學(xué)習(xí)方法,主要包括:
2、獲取異構(gòu)計(jì)算環(huán)境下的硬件規(guī)格與配置信息,并進(jìn)行硬件故障模式的初步分類;通過網(wǎng)絡(luò)通訊協(xié)議獲取分布式機(jī)器學(xué)習(xí)環(huán)境中各節(jié)點(diǎn)的狀態(tài)數(shù)據(jù),所述節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)包括硬件狀態(tài)數(shù)據(jù)和軟件狀態(tài)數(shù)據(jù);采用數(shù)據(jù)同步策略,將所有節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)整合到一個(gè)中心節(jié)點(diǎn),形成一個(gè)全局狀態(tài)數(shù)據(jù)集;對(duì)所述全局狀態(tài)數(shù)據(jù)集進(jìn)行解析,動(dòng)態(tài)為各節(jié)點(diǎn)分配計(jì)算任務(wù);根據(jù)動(dòng)態(tài)分配的計(jì)算任務(wù)和硬件故障模式,設(shè)計(jì)初步的容錯(cuò)機(jī)制;在分布式機(jī)器學(xué)習(xí)環(huán)境中,將設(shè)計(jì)好的容錯(cuò)機(jī)制應(yīng)用到每個(gè)節(jié)點(diǎn),記錄應(yīng)用結(jié)果;分析應(yīng)用容錯(cuò)機(jī)制后的結(jié)果數(shù)據(jù),對(duì)數(shù)據(jù)同步策略進(jìn)行相應(yīng)的調(diào)整;通過網(wǎng)絡(luò)通訊協(xié)議,將所有節(jié)點(diǎn)的容錯(cuò)和同步狀態(tài)信息記錄在一個(gè)中心節(jié)點(diǎn)。
3、進(jìn)一步地,所述獲取異構(gòu)計(jì)算環(huán)境下的硬件規(guī)格與配置信息,并進(jìn)行硬件故障模式的初步分類,包括:
4、通過hwinfo工具,在異構(gòu)計(jì)算環(huán)境中獲取硬件規(guī)格與配置信息,并生成硬件屬性分析報(bào)告,所述硬件規(guī)格與配置信息包括品牌、型號(hào)、生產(chǎn)日期和使用時(shí)長信息;根據(jù)所述硬件屬性分析報(bào)告,提取硬件性能數(shù)據(jù),所述硬件性能數(shù)據(jù)包括處理速度、運(yùn)行效率和功耗;獲取異構(gòu)計(jì)算環(huán)境的實(shí)時(shí)所述硬件性能數(shù)據(jù),利用k-means算法識(shí)別硬件的潛在故障和性能下降問題;如果識(shí)別出硬件的潛在故障,比對(duì)異常參數(shù)與預(yù)設(shè)的故障數(shù)據(jù),自動(dòng)識(shí)別出硬件故障類型和性能問題;對(duì)所述硬件故障類型和性能問題進(jìn)行分類,將分類結(jié)果自動(dòng)存儲(chǔ)。
5、進(jìn)一步地,所述通過網(wǎng)絡(luò)通訊協(xié)議獲取分布式機(jī)器學(xué)習(xí)環(huán)境中各節(jié)點(diǎn)的狀態(tài)數(shù)據(jù),所述節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)包括硬件狀態(tài)數(shù)據(jù)和軟件狀態(tài)數(shù)據(jù),包括:
6、確定用于獲取節(jié)點(diǎn)狀態(tài)數(shù)據(jù)的網(wǎng)絡(luò)通信協(xié)議和數(shù)據(jù)格式,所述網(wǎng)絡(luò)通信協(xié)議包括http、tcp/ip或mqtt,所述數(shù)據(jù)格式包括json或protobuf;通過監(jiān)控代理獲取節(jié)點(diǎn)的硬件狀態(tài)數(shù)據(jù)和軟件狀態(tài)數(shù)據(jù),所述硬件狀態(tài)數(shù)據(jù)包括cpu使用情況、內(nèi)存使用情況、硬盤狀況、網(wǎng)絡(luò)帶寬和gpu使用情況,所述軟件狀態(tài)數(shù)據(jù)包括操作系統(tǒng)信息、分布式機(jī)器學(xué)習(xí)框架的運(yùn)行狀態(tài)、進(jìn)程狀態(tài)、網(wǎng)絡(luò)連接狀態(tài)和日志信息。
7、進(jìn)一步地,所述采用數(shù)據(jù)同步策略,將所有節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)整合到一個(gè)中心節(jié)點(diǎn),形成一個(gè)全局狀態(tài)數(shù)據(jù)集,包括:
8、將所述節(jié)點(diǎn)的硬件狀態(tài)數(shù)據(jù)和軟件狀態(tài)數(shù)據(jù)整合成一個(gè)節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)對(duì)象;建立與中心節(jié)點(diǎn)的網(wǎng)絡(luò)連接,將節(jié)點(diǎn)狀態(tài)數(shù)據(jù)通過網(wǎng)絡(luò)連接發(fā)送到中心節(jié)點(diǎn);中心節(jié)點(diǎn)接收并存儲(chǔ)各個(gè)節(jié)點(diǎn)狀態(tài)數(shù)據(jù),對(duì)接收到的節(jié)點(diǎn)狀態(tài)數(shù)據(jù)進(jìn)行處理,包括解析數(shù)據(jù)、驗(yàn)證數(shù)據(jù)完整性和正確性,得到全局狀態(tài)數(shù)據(jù)集;將處理后的節(jié)點(diǎn)狀態(tài)數(shù)據(jù)存儲(chǔ)到中心節(jié)點(diǎn)的數(shù)據(jù)庫或存儲(chǔ)系統(tǒng)中;根據(jù)存儲(chǔ)的節(jié)點(diǎn)狀態(tài)數(shù)據(jù),進(jìn)行節(jié)點(diǎn)狀態(tài)的監(jiān)控和分析,包括生成報(bào)表、觸發(fā)警報(bào)和進(jìn)行故障診斷。
9、進(jìn)一步地,所述對(duì)所述全局狀態(tài)數(shù)據(jù)集進(jìn)行解析,動(dòng)態(tài)為各節(jié)點(diǎn)分配計(jì)算任務(wù),包括:
10、通過節(jié)點(diǎn)編號(hào)和任務(wù)編號(hào)對(duì)全局狀態(tài)數(shù)據(jù)集進(jìn)行索引,獲取每個(gè)計(jì)算任務(wù)的任務(wù)類型、任務(wù)優(yōu)先級(jí)和任務(wù)資源需求,以及每個(gè)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)狀態(tài)和節(jié)點(diǎn)資源情況;根據(jù)任務(wù)類型和任務(wù)優(yōu)先級(jí),確定任務(wù)調(diào)度策略,按照優(yōu)先級(jí)從高到低進(jìn)行任務(wù)調(diào)度;根據(jù)節(jié)點(diǎn)狀態(tài)和節(jié)點(diǎn)資源情況,確定負(fù)載均衡策略,選擇資源利用率最低的空閑節(jié)點(diǎn)進(jìn)行任務(wù)分配;對(duì)于每個(gè)計(jì)算任務(wù),根據(jù)任務(wù)資源需求和節(jié)點(diǎn)資源情況,判斷是否有足夠的計(jì)算資源可供分配;如果有足夠的計(jì)算資源可供分配,則根據(jù)負(fù)載均衡策略選擇一個(gè)節(jié)點(diǎn)進(jìn)行任務(wù)分配,并更新節(jié)點(diǎn)的狀態(tài)和資源情況;如果沒有足夠的計(jì)算資源可供分配,則根據(jù)任務(wù)優(yōu)先級(jí)決定是否等待分配,或者選擇資源利用率最低的節(jié)點(diǎn)進(jìn)行任務(wù)遷移;分配任務(wù)后,記錄任務(wù)分配方案和分配時(shí)間,并更新任務(wù)完成時(shí)間;循環(huán)執(zhí)行資源分配判斷和任務(wù)分配,直到所有計(jì)算任務(wù)都被分配完成。
11、進(jìn)一步地,所述根據(jù)動(dòng)態(tài)分配的計(jì)算任務(wù)和硬件故障模式,設(shè)計(jì)初步的容錯(cuò)機(jī)制,包括:
12、采用監(jiān)控系統(tǒng)和傳感器,實(shí)時(shí)監(jiān)測(cè)硬件設(shè)備的狀態(tài)和運(yùn)行情況;當(dāng)發(fā)現(xiàn)硬件故障時(shí),自動(dòng)觸發(fā)診斷機(jī)制,通過故障模式識(shí)別和故障定位,判斷故障原因,根據(jù)不同的硬件故障模式和任務(wù)要求,自動(dòng)調(diào)整容錯(cuò)策略;暫停故障硬件上的計(jì)算任務(wù),并基于任務(wù)的特性和其他硬件的狀態(tài),重新分配到其他硬件上執(zhí)行;持續(xù)監(jiān)測(cè)修復(fù)后的硬件狀態(tài),通過分析硬件參數(shù)和性能數(shù)據(jù),判斷硬件是否已恢復(fù)正常;在確認(rèn)硬件恢復(fù)正常后,將之前暫停的計(jì)算任務(wù)重新分配回已修復(fù)的硬件上,任務(wù)繼續(xù)執(zhí)行;在任務(wù)重新開始執(zhí)行時(shí),檢查任務(wù)數(shù)據(jù)的完整性,如果有丟失或損壞,根據(jù)數(shù)據(jù)備份進(jìn)行恢復(fù)。
13、進(jìn)一步地,所述在分布式機(jī)器學(xué)習(xí)環(huán)境中,將設(shè)計(jì)好的容錯(cuò)機(jī)制應(yīng)用到每個(gè)節(jié)點(diǎn),記錄應(yīng)用結(jié)果,包括:
14、在每個(gè)節(jié)點(diǎn)上應(yīng)用容錯(cuò)機(jī)制,并記錄容錯(cuò)結(jié)果;如果發(fā)生錯(cuò)誤,記錄錯(cuò)誤的類型,所述錯(cuò)誤的類型包括硬件故障、網(wǎng)絡(luò)錯(cuò)誤或數(shù)據(jù)損壞;根據(jù)錯(cuò)誤類型,采取相應(yīng)的錯(cuò)誤處理措施;評(píng)估容錯(cuò)機(jī)制對(duì)系統(tǒng)性能的影響,并進(jìn)行相應(yīng)的性能優(yōu)化,所述對(duì)系統(tǒng)性能的影響包括延遲增加和帶寬利用率下降。
15、進(jìn)一步地,所述分析應(yīng)用容錯(cuò)機(jī)制后的結(jié)果數(shù)據(jù),對(duì)數(shù)據(jù)同步策略進(jìn)行相應(yīng)的調(diào)整,包括:
16、分析容錯(cuò)機(jī)制的日志或報(bào)告,獲得同步失敗或延遲的情況、當(dāng)前同步方式存在的問題和數(shù)據(jù)同步過程中的沖突情況;根據(jù)同步失敗或延遲的頻率和程度,調(diào)整數(shù)據(jù)同步的頻率;如果容錯(cuò)機(jī)制顯示數(shù)據(jù)同步的錯(cuò)誤或沖突,則采用異步同步或增量同步;根據(jù)沖突的頻率和嚴(yán)重程度,采用分布式鎖或版本控制機(jī)制來解決數(shù)據(jù)同步過程中的沖突;重新實(shí)施數(shù)據(jù)同步策略,監(jiān)控?cái)?shù)據(jù)同步的結(jié)果,確認(rèn)調(diào)整后的策略是否改善了數(shù)據(jù)同步的效果;如果仍然存在同步問題,根據(jù)監(jiān)控結(jié)果再次調(diào)整同步策略;根據(jù)實(shí)際情況和反饋,定期審查和更新數(shù)據(jù)同步策略。
17、進(jìn)一步地,所述通過網(wǎng)絡(luò)通訊協(xié)議,將所有節(jié)點(diǎn)的容錯(cuò)和同步狀態(tài)信息記錄在一個(gè)中心節(jié)點(diǎn),包括:
18、通過網(wǎng)絡(luò)通訊協(xié)議,采用aes加密算法加強(qiáng)數(shù)據(jù)傳輸?shù)陌踩?;?shí)時(shí)更新的容錯(cuò)信息和同步狀態(tài)被中心節(jié)點(diǎn)記錄,根據(jù)實(shí)時(shí)更新的信息,啟動(dòng)系統(tǒng)監(jiān)控機(jī)制,動(dòng)態(tài)監(jiān)控所有節(jié)點(diǎn)的運(yùn)行狀態(tài);對(duì)異常行為進(jìn)行實(shí)時(shí)識(shí)別和處理,維持所有節(jié)點(diǎn)的正常運(yùn)行狀態(tài);將狀態(tài)信息反饋給中心節(jié)點(diǎn),通過設(shè)置具體的訪問授權(quán)標(biāo)準(zhǔn),包括ip白名單和訪問頻率限制,控制遠(yuǎn)程訪問權(quán)限;在滿足訪問授權(quán)標(biāo)準(zhǔn)的前提下,遠(yuǎn)程訪問請(qǐng)求通過中心節(jié)點(diǎn)獲取容錯(cuò)和同步狀態(tài)信息;中心節(jié)點(diǎn)根據(jù)獲取到的信息,通過aes加密算法對(duì)數(shù)據(jù)進(jìn)行加密傳輸;所有節(jié)點(diǎn)接收經(jīng)過加密的容錯(cuò)和同步狀態(tài)信息,完成信息的更新和驗(yàn)證,確保系統(tǒng)的整體穩(wěn)定和安全。
19、本發(fā)明實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
20、本發(fā)明公開了一種獲取異構(gòu)計(jì)算環(huán)境下的硬件規(guī)格與配置信息,并進(jìn)行硬件故障模式的初步分類的方法。該方法通過網(wǎng)絡(luò)通訊協(xié)議獲取分布式機(jī)器學(xué)習(xí)環(huán)境中各節(jié)點(diǎn)的狀態(tài)數(shù)據(jù),包括硬件狀態(tài)數(shù)據(jù)和軟件狀態(tài)數(shù)據(jù),并使用數(shù)據(jù)同步策略將所有節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)整合到一個(gè)中心節(jié)點(diǎn),形成一個(gè)全局狀態(tài)數(shù)據(jù)集。然后,對(duì)全局狀態(tài)數(shù)據(jù)集進(jìn)行解析,動(dòng)態(tài)為各節(jié)點(diǎn)分配計(jì)算任務(wù)。同時(shí),根據(jù)動(dòng)態(tài)分配的計(jì)算任務(wù)和硬件故障模式,設(shè)計(jì)初步的容錯(cuò)機(jī)制。在分布式機(jī)器學(xué)習(xí)環(huán)境中,將設(shè)計(jì)好的容錯(cuò)機(jī)制應(yīng)用到每個(gè)節(jié)點(diǎn),并記錄應(yīng)用結(jié)果。進(jìn)一步,分析應(yīng)用容錯(cuò)機(jī)制后的結(jié)果數(shù)據(jù),對(duì)數(shù)據(jù)同步策略進(jìn)行相應(yīng)的調(diào)整。最后,通過網(wǎng)絡(luò)通訊協(xié)議,將所有節(jié)點(diǎn)的容錯(cuò)和同步狀態(tài)信息記錄在一個(gè)中心節(jié)點(diǎn)。本發(fā)明將上述技術(shù)融合到一起,實(shí)現(xiàn)了在異構(gòu)計(jì)算環(huán)境下進(jìn)行硬件規(guī)格與配置信息獲取、硬件故障模式分類、數(shù)據(jù)同步和計(jì)算資源分配等操作的全過程,并提供了容錯(cuò)機(jī)制和數(shù)據(jù)同步策略的優(yōu)化方法。