国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      面向生產(chǎn)環(huán)境的大規(guī)模計(jì)算集群故障追蹤系統(tǒng)的制作方法

      文檔序號(hào):40342198發(fā)布日期:2024-12-18 13:19閱讀:10來源:國知局
      本發(fā)明涉及高性能計(jì)算領(lǐng)域,特別是涉及一種面向生產(chǎn)環(huán)境的大規(guī)模計(jì)算集群故障追蹤系統(tǒng)。
      背景技術(shù)
      ::1、高性能計(jì)算技術(shù)是計(jì)算機(jī)科學(xué)的重要分支,通常指使用單臺(tái)計(jì)算機(jī)上的多個(gè)處理器,或使用多臺(tái)獨(dú)立的計(jì)算機(jī)組成集群的計(jì)算系統(tǒng)和環(huán)境。高性能計(jì)算技術(shù)通過使多臺(tái)計(jì)算機(jī)協(xié)同工作,彌補(bǔ)了單臺(tái)計(jì)算機(jī)計(jì)算性能不夠強(qiáng)的缺陷,目前高性能計(jì)算技術(shù)已經(jīng)廣泛應(yīng)用在物理、天文、醫(yī)學(xué)、地質(zhì)等多學(xué)科多領(lǐng)域的具體應(yīng)用場(chǎng)景中,世界各地多所大學(xué)、企業(yè)、研究所等機(jī)構(gòu)均在使用公有高性能計(jì)算服務(wù),或搭建自己的私有計(jì)算集群以滿足實(shí)際需求。2、然而,高性能計(jì)算技術(shù)由于需要多處理器多計(jì)算機(jī)協(xié)同工作,開發(fā)高性能計(jì)算程序時(shí)需要額外關(guān)注節(jié)點(diǎn)間的階段同步、數(shù)據(jù)傳輸、錯(cuò)誤處理等額外流程,需要編寫額外的代碼。與開發(fā)單機(jī)程序相比,開發(fā)應(yīng)用于高性能計(jì)算集群的程序難度大,效率低,對(duì)于潛在的故障和性能瓶頸難以及時(shí)發(fā)現(xiàn),白白浪費(fèi)大量人力資源。3、為解決上述高性能計(jì)算程序開發(fā)困難的問題,許多組織機(jī)構(gòu)均展開了對(duì)高性能計(jì)算程序故障分析和性能調(diào)優(yōu)的研究,其中佼佼者如由俄勒岡大學(xué)相關(guān)團(tuán)隊(duì)開發(fā)的tau(tuning?and?analysis?utilities)軟件等。但是,目前主流的高性能計(jì)算故障追蹤工具均面向開發(fā)環(huán)境,鮮有面向生產(chǎn)環(huán)境的故障追蹤工具系統(tǒng)。誠然,開發(fā)環(huán)境在一定程度上可以反應(yīng)生產(chǎn)環(huán)境的特征,但是終究有所差別,不能簡(jiǎn)單認(rèn)為程序在開發(fā)環(huán)境調(diào)試通過則在生產(chǎn)環(huán)境可以高枕無憂。而且,影響程序運(yùn)行正確性的因素不僅僅由程序本身決定,其運(yùn)行環(huán)境中的磁盤、網(wǎng)絡(luò)、內(nèi)存等的波動(dòng)也可能導(dǎo)致程序運(yùn)行失敗。這種偶然波動(dòng)往往無規(guī)律發(fā)生,出現(xiàn)時(shí)間短,等到運(yùn)維人員發(fā)現(xiàn)程序運(yùn)行不正常后往往其罪魁禍?zhǔn)滓呀?jīng)消失不見,這種偶然波動(dòng)難以在開發(fā)環(huán)境中模擬出來,因此大大增加了發(fā)現(xiàn)問題和解決問題的難度。4、分布式鏈路追蹤,是一種用于分析和監(jiān)視應(yīng)用程序的方法,特別是使用微服務(wù)體系結(jié)構(gòu)構(gòu)建的應(yīng)用程序。分布式鏈路追蹤有助于查明故障發(fā)生的位置以及導(dǎo)致性能低下的原因。otf(open?tracing?format)并非是一款具體的程序和技術(shù),而是一種由云原生計(jì)算基金會(huì)(cncf)提出的建議規(guī)范,其中規(guī)定了如何定義微服務(wù)架構(gòu)中的各項(xiàng)概念、如何描述一次建立在微服務(wù)上的請(qǐng)求以及如何對(duì)這些請(qǐng)求進(jìn)行追蹤。otf由api(applicationprogramming?interface,應(yīng)用程序編程接口)規(guī)范、實(shí)現(xiàn)了該規(guī)范的框架和庫以及項(xiàng)目文檔組成。只要遵循otf?api規(guī)范,開發(fā)人員可以使用任何工具向代碼中添加自定義的追蹤項(xiàng)目。5、otf本為進(jìn)行微服務(wù)鏈路追蹤時(shí)使用的接口規(guī)范,在移動(dòng)互聯(lián)網(wǎng)中,微服務(wù)間互相調(diào)用可以嵌套任意多層,每個(gè)服務(wù)可能依賴任意多個(gè)其他服務(wù),節(jié)點(diǎn)間的調(diào)用順序不固定且會(huì)隨服務(wù)需求的變化而更改。而在高性能計(jì)算中很少出現(xiàn)節(jié)點(diǎn)間隨意互相調(diào)用的情況,往往是由主節(jié)點(diǎn)向各個(gè)子節(jié)點(diǎn)分配任務(wù),子節(jié)點(diǎn)計(jì)算完成后再將結(jié)果返回給主節(jié)點(diǎn)。因此無法將面向微服務(wù)的otf鏈路追蹤技術(shù)直接套用在高性能計(jì)算領(lǐng)域。6、隨著高性能集群使用年限的增加,上述問題出現(xiàn)的頻率也隨之增加,如不及時(shí)解決很容易導(dǎo)致程序頻繁運(yùn)行失敗,甚至程序可能運(yùn)行成功但輸出錯(cuò)誤的結(jié)果,浪費(fèi)大量時(shí)間和精力。因此,需要一款能夠在運(yùn)行時(shí)對(duì)集群和程序狀態(tài)進(jìn)行監(jiān)控的程序,使得集群或程序出現(xiàn)問題時(shí)可以及時(shí)發(fā)現(xiàn)并修復(fù)故障。7、基于此,在大規(guī)模計(jì)算集群故障追蹤方面有改進(jìn)的空間。技術(shù)實(shí)現(xiàn)思路1、針對(duì)現(xiàn)有技術(shù)中存在的不足,本發(fā)明的目的在于提供一種面向生產(chǎn)環(huán)境的大規(guī)模計(jì)算集群故障追蹤系統(tǒng),結(jié)合otf與分布式鏈路追蹤的思想,給出對(duì)面向生產(chǎn)環(huán)境的高性能計(jì)算集群和程序進(jìn)行故障分析和故障預(yù)測(cè)的方法,并針對(duì)生產(chǎn)環(huán)境的實(shí)際要求和限制進(jìn)行高效實(shí)現(xiàn)。2、本發(fā)明的面向生產(chǎn)環(huán)境的大規(guī)模計(jì)算集群故障追蹤系統(tǒng)是為了以下目的:對(duì)大規(guī)模分布式集群及其正在運(yùn)行的高性能計(jì)算程序進(jìn)行狀態(tài)監(jiān)控,及時(shí)發(fā)現(xiàn)異常狀態(tài);使用盡可能輕量化和低侵入式的手段對(duì)高性能計(jì)算程序進(jìn)行監(jiān)控,使得對(duì)高性能計(jì)算程序進(jìn)行監(jiān)控時(shí)不需要修改大量源代碼。在盡可能低運(yùn)行時(shí)開銷的基礎(chǔ)上捕獲盡量多的運(yùn)行時(shí)信息,以便發(fā)現(xiàn)故障;使用數(shù)據(jù)挖掘相關(guān)算法對(duì)捕獲的信息進(jìn)行實(shí)時(shí)處理,盡早發(fā)現(xiàn)故障并通知相關(guān)維護(hù)人員。3、為了實(shí)現(xiàn)上述目的,本發(fā)明提供的技術(shù)方案是:4、一種面向生產(chǎn)環(huán)境的大規(guī)模計(jì)算集群故障追蹤系統(tǒng),包括:基于otf的高性能計(jì)算程序監(jiān)控接口、面向生產(chǎn)環(huán)境的高性能計(jì)算應(yīng)用程序監(jiān)控系統(tǒng)和基于機(jī)器學(xué)習(xí)的故障分析與預(yù)測(cè)系統(tǒng),其中基于otf的高性能計(jì)算程序監(jiān)控接口用于基于otf技術(shù)描述程序狀態(tài),面向生產(chǎn)環(huán)境的高性能計(jì)算應(yīng)用程序監(jiān)控系統(tǒng)用于監(jiān)控程序狀態(tài)并且產(chǎn)生監(jiān)控?cái)?shù)據(jù),基于機(jī)器學(xué)習(xí)的故障分析與預(yù)測(cè)系統(tǒng)基于監(jiān)控?cái)?shù)據(jù)分析和預(yù)測(cè)故障;5、其中面向生產(chǎn)環(huán)境的高性能計(jì)算應(yīng)用程序監(jiān)控系統(tǒng)配置有應(yīng)用層面采集模塊、系統(tǒng)層面采集模塊以及數(shù)據(jù)傳輸和存儲(chǔ)模塊,其中應(yīng)用層面采集模塊配置用于采集在高性能計(jì)算程序運(yùn)行過程中與高性能計(jì)算程序和業(yè)務(wù)相關(guān)的信息、高性能計(jì)算程序當(dāng)前所處的階段以及任務(wù)進(jìn)度,系統(tǒng)層面采集模塊配置用于采集與集群和操作系統(tǒng)相關(guān)的信息,數(shù)據(jù)傳輸和存儲(chǔ)模塊配置用于對(duì)應(yīng)用層面采集模塊和系統(tǒng)層面采集模塊采集得到的數(shù)據(jù)進(jìn)行數(shù)據(jù)傳輸和存儲(chǔ),最終將數(shù)據(jù)保存到數(shù)據(jù)庫中;6、基于機(jī)器學(xué)習(xí)的故障分析與預(yù)測(cè)系統(tǒng)配置成使用機(jī)器學(xué)習(xí)相關(guān)技術(shù),將對(duì)面向生產(chǎn)環(huán)境的高性能計(jì)算應(yīng)用程序監(jiān)控系統(tǒng)采集得到的數(shù)據(jù)進(jìn)行自動(dòng)分類和預(yù)測(cè),從而準(zhǔn)確地評(píng)估集群當(dāng)前狀態(tài),提前發(fā)現(xiàn)集群中可能存在的故障。7、在一些實(shí)施例中,基于otf的高性能計(jì)算程序監(jiān)控接口配置有任務(wù)開始接口、任務(wù)結(jié)束接口和報(bào)告進(jìn)度接口,其中主節(jié)點(diǎn)將計(jì)算任務(wù)分配給子節(jié)點(diǎn)時(shí)調(diào)用任務(wù)開始接口,隨后子節(jié)點(diǎn)調(diào)用報(bào)告進(jìn)度接口報(bào)告當(dāng)前的計(jì)算進(jìn)度,當(dāng)計(jì)算完成后再由主節(jié)點(diǎn)調(diào)用任務(wù)結(jié)束接口報(bào)告計(jì)算任務(wù)已經(jīng)結(jié)束。8、在一些實(shí)施例中,如果子節(jié)點(diǎn)在計(jì)算過程中有必要再獲得其他子節(jié)點(diǎn)的結(jié)果,則調(diào)用任務(wù)開始接口和任務(wù)結(jié)束接口進(jìn)行嵌套調(diào)用。9、在一些實(shí)施例中,基于otf的高性能計(jì)算程序監(jiān)控接口具有tracer類作為程序監(jiān)控的起點(diǎn)。10、在一些實(shí)施例中,tracer類作為單例模式存在,在程序中僅存在唯一的實(shí)例,tracer接口通過tracer類來實(shí)現(xiàn)。11、在一些實(shí)施例中,tracer類包含task子類和io子類,基于otf的高性能計(jì)算程序監(jiān)控接口配置成將span細(xì)化為task子類和io子類,分別對(duì)應(yīng)運(yùn)行一個(gè)子task和啟動(dòng)一次io操作。12、在一些實(shí)施例中,在task子類的情況下,基于otf的高性能計(jì)算程序監(jiān)控接口配置成允許在多個(gè)節(jié)點(diǎn)上創(chuàng)建同一個(gè)task。13、在一些實(shí)施例中,在io子類的情況下,在基于otf的高性能計(jì)算程序監(jiān)控接口中,僅當(dāng)io操作出錯(cuò)時(shí)才將io操作出錯(cuò)的錯(cuò)誤信息采集下來。14、在一些實(shí)施例中,tracer接口包含task接口和io接口,task接口和io接口分別用于監(jiān)控計(jì)算任務(wù)和數(shù)據(jù)io。15、在一些實(shí)施例中,程序狀態(tài)包括程序運(yùn)行時(shí)所耗費(fèi)的系統(tǒng)資源和程序的內(nèi)部信息。16、在一些實(shí)施例中,應(yīng)用層面采集模塊包括構(gòu)建時(shí)符號(hào)重命名程序數(shù)據(jù)狀態(tài)采集模塊、運(yùn)行時(shí)庫注入程序數(shù)據(jù)狀態(tài)采集模塊和系統(tǒng)調(diào)用監(jiān)控程序數(shù)據(jù)狀態(tài)采集模塊,17、構(gòu)建時(shí)符號(hào)重命名程序數(shù)據(jù)狀態(tài)采集模塊配置成在程序進(jìn)行構(gòu)建時(shí)對(duì)其elf文件的符號(hào)進(jìn)行重命名,將原本對(duì)特定函數(shù)的調(diào)用重命名到其他函數(shù)上,實(shí)現(xiàn)對(duì)應(yīng)用程序的自動(dòng)插樁,進(jìn)行程序狀態(tài)采集,18、運(yùn)行時(shí)庫注入程序數(shù)據(jù)狀態(tài)采集模塊配置成對(duì)程序依賴的第三方庫進(jìn)行自動(dòng)注入,為第三方庫添加程序狀態(tài)采集功能,19、系統(tǒng)調(diào)用監(jiān)控程序數(shù)據(jù)狀態(tài)采集模塊配置用于實(shí)現(xiàn)對(duì)系統(tǒng)調(diào)用的追蹤。20、在一些實(shí)施例中,系統(tǒng)層面采集模塊包括高性能計(jì)算程序運(yùn)行時(shí)耗費(fèi)資源度量采集模塊,高性能計(jì)算程序運(yùn)行時(shí)耗費(fèi)資源度量采集模塊配置成在程序運(yùn)行過程中,使用各種工具對(duì)程序運(yùn)行的情況進(jìn)行實(shí)時(shí)監(jiān)控,將程序在運(yùn)行過程中每時(shí)刻所占用的資源情況采集出來,經(jīng)歸納整理形成程序的運(yùn)行特征信息,占用的資源包括cpu和內(nèi)存。21、在一些實(shí)施例中,構(gòu)建時(shí)符號(hào)重命名程序數(shù)據(jù)狀態(tài)采集模塊配置成對(duì)io相關(guān)函數(shù)進(jìn)行插樁采集,io相關(guān)函數(shù)包括以下io函數(shù):write、read、connect、accept、open、close、recv、send、readv和writev。22、在一些實(shí)施例中,運(yùn)行時(shí)庫注入程序數(shù)據(jù)狀態(tài)采集模塊配置成,在gpp程序啟動(dòng)時(shí)將vtable->__write替換成帶有數(shù)據(jù)采集功能的函數(shù),從而實(shí)現(xiàn)在不修改代碼的前提下無縫記錄程序的所有日志輸出。23、在一些實(shí)施例中,運(yùn)行時(shí)庫注入程序數(shù)據(jù)狀態(tài)采集模塊配置成,通過mprotect系統(tǒng)調(diào)用修改虛函數(shù)表區(qū)域權(quán)限后再替換庫空間的虛函數(shù)表內(nèi)容。24、在一些實(shí)施例中,系統(tǒng)調(diào)用監(jiān)控程序數(shù)據(jù)狀態(tài)采集模塊通過ptrace功能實(shí)現(xiàn)對(duì)系統(tǒng)調(diào)用的追蹤,通過監(jiān)控每一個(gè)系統(tǒng)調(diào)用的結(jié)果來發(fā)現(xiàn)系統(tǒng)調(diào)用故障。25、在一些實(shí)施例中,高性能計(jì)算程序運(yùn)行時(shí)耗費(fèi)資源度量采集模塊配置成設(shè)計(jì)獨(dú)立的線程用于周期性地讀取/proc/<pid>/statm和/proc/<pid>/stat文件中的信息,并將信息解析后保存到數(shù)據(jù)庫中,實(shí)現(xiàn)對(duì)cpu占用情況和內(nèi)存占用情況的采集。26、在一些實(shí)施例中,數(shù)據(jù)傳輸和存儲(chǔ)模塊包括高性能計(jì)算程序狀態(tài)數(shù)據(jù)傳輸與存儲(chǔ)模塊,高性能計(jì)算程序狀態(tài)數(shù)據(jù)傳輸與存儲(chǔ)模塊包括流量采集規(guī)范、io錯(cuò)誤采集規(guī)范、任務(wù)狀態(tài)采集規(guī)范、日志采集規(guī)范以及節(jié)點(diǎn)狀態(tài)采集規(guī)范,各節(jié)點(diǎn)向數(shù)據(jù)庫發(fā)送采集數(shù)據(jù)時(shí)均應(yīng)遵循相關(guān)規(guī)范。27、在一些實(shí)施例中,高性能計(jì)算程序狀態(tài)數(shù)據(jù)傳輸與存儲(chǔ)模塊配置有兩級(jí)緩沖隊(duì)列。28、在一些實(shí)施例中,基于機(jī)器學(xué)習(xí)的故障分析與預(yù)測(cè)系統(tǒng)包括基于lightgbm的分類模塊,基于lightgbm的分類模塊配置成將經(jīng)標(biāo)準(zhǔn)化后的數(shù)據(jù)使用lightgbm算法進(jìn)行分類時(shí),使用網(wǎng)格搜索算法尋找最優(yōu)參數(shù),評(píng)價(jià)指標(biāo)為模型在測(cè)試集上的auc曲線和f1值。29、在一些實(shí)施例中,網(wǎng)格搜索算法選擇葉子數(shù)目、學(xué)習(xí)速率、基學(xué)習(xí)器數(shù)目、決策樹最大深度、數(shù)據(jù)采樣作為待調(diào)節(jié)超參數(shù)。30、在一些實(shí)施例中,基于lightgbm的分類模塊使用antarex數(shù)據(jù)集訓(xùn)練基于邏輯回歸的分類模型。31、在一些實(shí)施例中,基于機(jī)器學(xué)習(xí)的故障分析與預(yù)測(cè)系統(tǒng)包括基于時(shí)序數(shù)據(jù)的kmeans聚類模塊,基于時(shí)序數(shù)據(jù)的kmeans聚類模塊對(duì)從集群中采集得到的各節(jié)點(diǎn)資源使用情況進(jìn)行自動(dòng)聚類,從而試圖發(fā)現(xiàn)異常點(diǎn)。32、本發(fā)明的有益效果為:33、本發(fā)明的面向生產(chǎn)環(huán)境的大規(guī)模計(jì)算集群故障追蹤系統(tǒng),基于otf設(shè)計(jì)一套對(duì)高性能計(jì)算集群進(jìn)行鏈路追蹤和狀態(tài)采集的接口,該接口使用簡(jiǎn)單明確的api實(shí)現(xiàn)對(duì)集群中計(jì)算程序的各個(gè)方面數(shù)據(jù)進(jìn)行采集,具有易于理解易于使用的特點(diǎn);對(duì)運(yùn)行在大規(guī)模計(jì)算集群上的分布式高性能計(jì)算程序進(jìn)行自動(dòng)插樁,用戶無需編寫額外的代碼,即可分析得到程序節(jié)點(diǎn)間的調(diào)用和依賴關(guān)系,并根據(jù)采集得到的數(shù)據(jù)對(duì)集群中各個(gè)節(jié)點(diǎn)和程序的狀態(tài)進(jìn)行分析,方便用戶快速發(fā)現(xiàn)節(jié)點(diǎn)間狀態(tài)與故障;可以使用基于otf的高性能計(jì)算程序監(jiān)控接口和面向生產(chǎn)環(huán)境的高性能計(jì)算應(yīng)用程序監(jiān)控系統(tǒng)捕獲得到的數(shù)據(jù)進(jìn)行自動(dòng)故障分析與故障預(yù)測(cè),可以在檢測(cè)到大規(guī)模集群系統(tǒng)出現(xiàn)故障或運(yùn)行在集群上的應(yīng)用程序出現(xiàn)故障時(shí)及時(shí)以電話或郵件的方式通知相關(guān)運(yùn)維人員,并根據(jù)運(yùn)維人員的反饋對(duì)本次報(bào)警進(jìn)行標(biāo)記,用于訓(xùn)練模型得到更加準(zhǔn)確的分析結(jié)果。當(dāng)前第1頁12當(dāng)前第1頁12
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1