本技(ji)術涉及數據處理(li),尤其涉及一種數據壓縮方(fang)法及裝(zhuang)置(zhi)。
背景技術:
1、多(duo)個(ge)進(jin)(jin)程(cheng)(cheng)之間(jian)可能(neng)存在(zai)數據交(jiao)換(huan)。例如,對于(yu)隸屬于(yu)同(tong)一任務的(de)多(duo)個(ge)進(jin)(jin)程(cheng)(cheng)而言,這多(duo)個(ge)進(jin)(jin)程(cheng)(cheng)之間(jian)可能(neng)存在(zai)大量的(de)數據交(jiao)換(huan)。當前,可以通過消息傳遞接(jie)口(kou)(message?passinginterface,mpi)協議實現多(duo)個(ge)進(jin)(jin)程(cheng)(cheng)之間(jian)的(de)數據交(jiao)換(huan)。這種情況下,進(jin)(jin)程(cheng)(cheng)所執行的(de)程(cheng)(cheng)序(xu)是符合mpi協議的(de)程(cheng)(cheng)序(xu),簡稱mpi程(cheng)(cheng)序(xu)。
2、在(zai)對mpi程(cheng)序進(jin)(jin)(jin)行(xing)(xing)性(xing)能(neng)分(fen)析時,可(ke)以基于執(zhi)(zhi)行(xing)(xing)mpi程(cheng)序的(de)(de)各個(ge)進(jin)(jin)(jin)程(cheng)之間的(de)(de)通信(xin)記錄(lu)(lu)以及執(zhi)(zhi)行(xing)(xing)mpi程(cheng)序時節(jie)點的(de)(de)硬件性(xing)能(neng)數據(ju)進(jin)(jin)(jin)行(xing)(xing)性(xing)能(neng)分(fen)析。其(qi)中(zhong),進(jin)(jin)(jin)程(cheng)的(de)(de)通信(xin)記錄(lu)(lu)一(yi)般可(ke)以通過生(sheng)成(cheng)跟蹤(trace)日志得到(dao)。當進(jin)(jin)(jin)程(cheng)之間交換的(de)(de)數據(ju)規模較大時,進(jin)(jin)(jin)程(cheng)生(sheng)成(cheng)的(de)(de)trace日志的(de)(de)數量(liang)也比較大。因(yin)此(ci),服務端可(ke)以對進(jin)(jin)(jin)程(cheng)執(zhi)(zhi)行(xing)(xing)mpi程(cheng)序時生(sheng)成(cheng)的(de)(de)大量(liang)trace日志進(jin)(jin)(jin)行(xing)(xing)壓縮,然后將壓縮后的(de)(de)trace日志存(cun)儲或傳輸至本(ben)地(di)等待分(fen)析。這樣(yang),可(ke)以節(jie)省(sheng)本(ben)地(di)的(de)(de)存(cun)儲資源。
3、因(yin)而,如何提(ti)高對進程執(zhi)行mpi程序時(shi)生成(cheng)的trace日志進行壓(ya)縮時(shi)的壓(ya)縮率(lv),并(bing)降低壓(ya)縮時(shi)間,成(cheng)為亟(ji)待解決(jue)的問(wen)題。
技術實現思路
1、本技術提(ti)供了一種數據壓(ya)縮(suo)方法及(ji)裝置,該(gai)方法能夠提(ti)高對記錄(lu)有通信記錄(lu)的(de)跟蹤日志進行壓(ya)縮(suo)時(shi)(shi)的(de)壓(ya)縮(suo)率,并減少壓(ya)縮(suo)時(shi)(shi)間。
2、為達上述目的(de),本技術(shu)提供如下技術(shu)方案:
3、第(di)一(yi)(yi)(yi)(yi)(yi)方(fang)面,本(ben)技術(shu)提供(gong)了(le)一(yi)(yi)(yi)(yi)(yi)種數(shu)據(ju)壓縮方(fang)法。該方(fang)法包括(kuo)(kuo)(kuo):獲取第(di)一(yi)(yi)(yi)(yi)(yi)進(jin)程運行過程中(zhong)生成的第(di)一(yi)(yi)(yi)(yi)(yi)跟(gen)蹤trace日(ri)(ri)(ri)志(zhi)(zhi)(zhi),并根據(ju)第(di)一(yi)(yi)(yi)(yi)(yi)trace日(ri)(ri)(ri)志(zhi)(zhi)(zhi)中(zhong)的函(han)(han)數(shu)調(diao)用(yong)(yong)記錄(lu)(lu)(lu),構建第(di)一(yi)(yi)(yi)(yi)(yi)字(zi)典和第(di)一(yi)(yi)(yi)(yi)(yi)文(wen)(wen)(wen)法集(ji),以實(shi)現對第(di)一(yi)(yi)(yi)(yi)(yi)trace日(ri)(ri)(ri)志(zhi)(zhi)(zhi)中(zhong)函(han)(han)數(shu)調(diao)用(yong)(yong)記錄(lu)(lu)(lu)的壓縮。其中(zhong),第(di)一(yi)(yi)(yi)(yi)(yi)trace日(ri)(ri)(ri)志(zhi)(zhi)(zhi)包括(kuo)(kuo)(kuo)至(zhi)少(shao)一(yi)(yi)(yi)(yi)(yi)條日(ri)(ri)(ri)志(zhi)(zhi)(zhi)記錄(lu)(lu)(lu),第(di)一(yi)(yi)(yi)(yi)(yi)trace日(ri)(ri)(ri)志(zhi)(zhi)(zhi)中(zhong)的每條日(ri)(ri)(ri)志(zhi)(zhi)(zhi)記錄(lu)(lu)(lu)包括(kuo)(kuo)(kuo)第(di)一(yi)(yi)(yi)(yi)(yi)進(jin)程調(diao)用(yong)(yong)一(yi)(yi)(yi)(yi)(yi)個通信函(han)(han)數(shu)時的函(han)(han)數(shu)調(diao)用(yong)(yong)記錄(lu)(lu)(lu)。通信函(han)(han)數(shu)為進(jin)行通信的函(han)(han)數(shu)。第(di)一(yi)(yi)(yi)(yi)(yi)字(zi)典包括(kuo)(kuo)(kuo)至(zhi)少(shao)一(yi)(yi)(yi)(yi)(yi)個符號串,第(di)一(yi)(yi)(yi)(yi)(yi)文(wen)(wen)(wen)法集(ji)包括(kuo)(kuo)(kuo)至(zhi)少(shao)一(yi)(yi)(yi)(yi)(yi)個文(wen)(wen)(wen)法樹。對于(yu)第(di)一(yi)(yi)(yi)(yi)(yi)trace日(ri)(ri)(ri)志(zhi)(zhi)(zhi)中(zhong)任(ren)一(yi)(yi)(yi)(yi)(yi)日(ri)(ri)(ri)志(zhi)(zhi)(zhi)記錄(lu)(lu)(lu)所包括(kuo)(kuo)(kuo)的第(di)一(yi)(yi)(yi)(yi)(yi)函(han)(han)數(shu)調(diao)用(yong)(yong)記錄(lu)(lu)(lu),第(di)一(yi)(yi)(yi)(yi)(yi)字(zi)典中(zhong)的第(di)一(yi)(yi)(yi)(yi)(yi)符號串用(yong)(yong)于(yu)表征(zheng)第(di)一(yi)(yi)(yi)(yi)(yi)函(han)(han)數(shu)調(diao)用(yong)(yong)記錄(lu)(lu)(lu),第(di)一(yi)(yi)(yi)(yi)(yi)文(wen)(wen)(wen)法集(ji)中(zhong)的第(di)一(yi)(yi)(yi)(yi)(yi)文(wen)(wen)(wen)法樹用(yong)(yong)于(yu)表示第(di)一(yi)(yi)(yi)(yi)(yi)函(han)(han)數(shu)調(diao)用(yong)(yong)記錄(lu)(lu)(lu)中(zhong)的函(han)(han)數(shu)調(diao)用(yong)(yong)關(guan)系。
4、相比通(tong)用(yong)的(de)(de)(de)壓(ya)縮方法(fa),本(ben)(ben)技術(shu)方法(fa)考慮了trace日(ri)志(zhi)(zhi)中(zhong)函(han)數(shu)調(diao)用(yong)記錄(lu)(lu)的(de)(de)(de)數(shu)據特點,例如本(ben)(ben)技術(shu)通(tong)過構(gou)建(jian)表征(zheng)trace日(ri)志(zhi)(zhi)中(zhong)函(han)數(shu)調(diao)用(yong)記錄(lu)(lu)的(de)(de)(de)第一(yi)字典,以及構(gou)建(jian)表示函(han)數(shu)調(diao)用(yong)記錄(lu)(lu)中(zhong)函(han)數(shu)調(diao)用(yong)關系的(de)(de)(de)第一(yi)文法(fa)集,來實現對trace日(ri)志(zhi)(zhi)的(de)(de)(de)壓(ya)縮。因此,相較未考慮trace日(ri)志(zhi)(zhi)數(shu)據特點的(de)(de)(de)通(tong)用(yong)壓(ya)縮方法(fa),本(ben)(ben)技術(shu)所(suo)提供方法(fa)的(de)(de)(de)壓(ya)縮率高(gao),壓(ya)縮時間短(duan)。
5、在一種可(ke)能(neng)的設計方式中,上述通信(xin)函數包括mpi函數。
6、通過該可能的(de)設計,在當前廣泛應用(yong)了mpi協議的(de)高(gao)并發進程場景中(zhong),本技術(shu)方法(fa)能夠對該場景中(zhong)生成的(de)trace日志進行(xing)高(gao)壓縮(suo)率的(de)壓縮(suo)。
7、在另一(yi)(yi)(yi)(yi)(yi)種可能的(de)(de)(de)設計方(fang)式中,上述(shu)(shu)第(di)一(yi)(yi)(yi)(yi)(yi)字典還包括第(di)一(yi)(yi)(yi)(yi)(yi)描(miao)(miao)(miao)述(shu)(shu)信(xin)息(xi)(xi)集(ji),第(di)一(yi)(yi)(yi)(yi)(yi)描(miao)(miao)(miao)述(shu)(shu)信(xin)息(xi)(xi)集(ji)包括至(zhi)(zhi)少(shao)(shao)(shao)一(yi)(yi)(yi)(yi)(yi)條描(miao)(miao)(miao)述(shu)(shu)信(xin)息(xi)(xi),該至(zhi)(zhi)少(shao)(shao)(shao)一(yi)(yi)(yi)(yi)(yi)條描(miao)(miao)(miao)述(shu)(shu)信(xin)息(xi)(xi)包括用(yong)(yong)于描(miao)(miao)(miao)述(shu)(shu)第(di)一(yi)(yi)(yi)(yi)(yi)字典中每個符(fu)號串(chuan)(chuan)語義的(de)(de)(de)描(miao)(miao)(miao)述(shu)(shu)信(xin)息(xi)(xi)。當(dang)第(di)一(yi)(yi)(yi)(yi)(yi)trace日(ri)志中的(de)(de)(de)至(zhi)(zhi)少(shao)(shao)(shao)兩條日(ri)志記錄(lu)中的(de)(de)(de)函數調用(yong)(yong)記錄(lu)具有相同的(de)(de)(de)語義結構(gou)時,第(di)一(yi)(yi)(yi)(yi)(yi)字典中用(yong)(yong)于表征(zheng)至(zhi)(zhi)少(shao)(shao)(shao)兩條日(ri)志記錄(lu)中函數調用(yong)(yong)記錄(lu)的(de)(de)(de)符(fu)號串(chuan)(chuan),對應第(di)一(yi)(yi)(yi)(yi)(yi)描(miao)(miao)(miao)述(shu)(shu)信(xin)息(xi)(xi)集(ji)中的(de)(de)(de)一(yi)(yi)(yi)(yi)(yi)條描(miao)(miao)(miao)述(shu)(shu)信(xin)息(xi)(xi)。
8、通(tong)(tong)過(guo)該可(ke)能(neng)的(de)(de)(de)(de)設計,在同一進(jin)程在調(diao)用(yong)通(tong)(tong)信函(han)(han)數的(de)(de)(de)(de)過(guo)程中(zhong)(zhong),生(sheng)成(cheng)的(de)(de)(de)(de)多(duo)條日(ri)志(zhi)記(ji)錄(lu)(lu)(lu)(lu)中(zhong)(zhong)的(de)(de)(de)(de)函(han)(han)數調(diao)用(yong)記(ji)錄(lu)(lu)(lu)(lu)具有相(xiang)同或相(xiang)似(si)的(de)(de)(de)(de)語義,例如這些函(han)(han)數調(diao)用(yong)記(ji)錄(lu)(lu)(lu)(lu)中(zhong)(zhong)包括相(xiang)同或相(xiang)似(si)種類的(de)(de)(de)(de)參數。因而,用(yong)于表征多(duo)條日(ri)志(zhi)記(ji)錄(lu)(lu)(lu)(lu)中(zhong)(zhong)函(han)(han)數調(diao)用(yong)記(ji)錄(lu)(lu)(lu)(lu)的(de)(de)(de)(de)多(duo)個符號(hao)串的(de)(de)(de)(de)語義也可(ke)能(neng)是(shi)相(xiang)同的(de)(de)(de)(de)。這樣的(de)(de)(de)(de)話,通(tong)(tong)過(guo)令第一字(zi)典中(zhong)(zhong)表征多(duo)條日(ri)志(zhi)記(ji)錄(lu)(lu)(lu)(lu)中(zhong)(zhong)具有相(xiang)同語義的(de)(de)(de)(de)函(han)(han)數調(diao)用(yong)記(ji)錄(lu)(lu)(lu)(lu)的(de)(de)(de)(de)多(duo)個符號(hao)串,對(dui)應(ying)第一描述(shu)信息集中(zhong)(zhong)的(de)(de)(de)(de)一條描述(shu)信息,能(neng)夠進(jin)一步提高(gao)對(dui)trace日(ri)志(zhi)中(zhong)(zhong)函(han)(han)數調(diao)用(yong)記(ji)錄(lu)(lu)(lu)(lu)的(de)(de)(de)(de)壓縮率。
9、在另(ling)一種可(ke)能的(de)(de)設計(ji)方式中(zhong),當(dang)上述(shu)(shu)(shu)的(de)(de)第(di)(di)一進(jin)(jin)(jin)程為目(mu)標(biao)應用的(de)(de)一個進(jin)(jin)(jin)程,目(mu)標(biao)應用還包括第(di)(di)二(er)(er)進(jin)(jin)(jin)程,且對第(di)(di)二(er)(er)進(jin)(jin)(jin)程運行(xing)(xing)過程中(zhong)生(sheng)成的(de)(de)第(di)(di)二(er)(er)trace日志中(zhong)的(de)(de)函數調用記(ji)錄進(jin)(jin)(jin)行(xing)(xing)壓縮后(hou),得到包括第(di)(di)二(er)(er)描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)集(ji)(ji)的(de)(de)第(di)(di)二(er)(er)字典。則上述(shu)(shu)(shu)方法還包括:當(dang)確定第(di)(di)一描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)集(ji)(ji)和第(di)(di)二(er)(er)描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)集(ji)(ji)中(zhong)不(bu)同描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)的(de)(de)數量超(chao)過閾值時,根據(ju)第(di)(di)一描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)集(ji)(ji)和第(di)(di)二(er)(er)描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)集(ji)(ji)中(zhong)不(bu)同描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)的(de)(de)文本相似度,對第(di)(di)一描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)集(ji)(ji)和第(di)(di)二(er)(er)描(miao)述(shu)(shu)(shu)信(xin)(xin)息(xi)(xi)(xi)集(ji)(ji)進(jin)(jin)(jin)行(xing)(xing)壓縮。
10、當(dang)目標應(ying)用包括多(duo)個進(jin)(jin)程(cheng)時(shi),通過該可能的設計,能夠在對該多(duo)個進(jin)(jin)程(cheng)所(suo)(suo)生(sheng)成(cheng)的trace日志進(jin)(jin)行壓(ya)縮(suo)時(shi),對多(duo)個進(jin)(jin)程(cheng)對應(ying)的字典中中數量較多(duo)的不同描(miao)述信息進(jin)(jin)行去冗余(或理解為去重)的壓(ya)縮(suo)處理,這樣能夠進(jin)(jin)一步提(ti)高對該多(duo)個進(jin)(jin)程(cheng)所(suo)(suo)生(sheng)成(cheng)的trace日志進(jin)(jin)行壓(ya)縮(suo)時(shi)的壓(ya)縮(suo)率。
11、在另(ling)一種可能的(de)設計方式中(zhong),上(shang)述(shu)方法還包括:當確(que)定(ding)第(di)一描(miao)(miao)(miao)述(shu)信(xin)(xin)息集(ji)和第(di)二描(miao)(miao)(miao)述(shu)信(xin)(xin)息集(ji)中(zhong)不同描(miao)(miao)(miao)述(shu)信(xin)(xin)息的(de)數(shu)量小(xiao)于閾值時,合并第(di)一描(miao)(miao)(miao)述(shu)信(xin)(xin)息集(ji)和第(di)二描(miao)(miao)(miao)述(shu)信(xin)(xin)息集(ji)。
12、當目標應(ying)用包括多個(ge)(ge)進程時,在對(dui)該多個(ge)(ge)進程所(suo)(suo)生(sheng)成的(de)(de)(de)trace日志(zhi)進行壓(ya)縮(suo)時,如果多個(ge)(ge)進程對(dui)應(ying)的(de)(de)(de)字(zi)典中不同描述信息的(de)(de)(de)數(shu)量較少,則通過該可(ke)能的(de)(de)(de)設計(ji),可(ke)以直(zhi)接對(dui)多個(ge)(ge)進程的(de)(de)(de)多個(ge)(ge)描述信息集進行簡(jian)單的(de)(de)(de)合并操作,這樣能夠在一(yi)定程度(du)上節省對(dui)該多個(ge)(ge)進程所(suo)(suo)生(sheng)成的(de)(de)(de)trace日志(zhi)進行壓(ya)縮(suo)時的(de)(de)(de)壓(ya)縮(suo)時長。
13、在另一(yi)種可能的(de)(de)(de)設計方(fang)式(shi)中(zhong)(zhong),當(dang)上述第(di)(di)(di)一(yi)進(jin)程(cheng)(cheng)為目標(biao)應用(yong)(yong)的(de)(de)(de)一(yi)個進(jin)程(cheng)(cheng),目標(biao)應用(yong)(yong)還包括第(di)(di)(di)二(er)(er)進(jin)程(cheng)(cheng),且對(dui)第(di)(di)(di)二(er)(er)進(jin)程(cheng)(cheng)運行(xing)過程(cheng)(cheng)中(zhong)(zhong)生成的(de)(de)(de)第(di)(di)(di)二(er)(er)trace日志中(zhong)(zhong)的(de)(de)(de)函數調用(yong)(yong)記(ji)錄進(jin)行(xing)壓縮后,還得到(dao)第(di)(di)(di)二(er)(er)文法(fa)集(ji)。則上述方(fang)法(fa)還包括:根(gen)據第(di)(di)(di)一(yi)進(jin)程(cheng)(cheng)和(he)(he)第(di)(di)(di)二(er)(er)進(jin)程(cheng)(cheng)之(zhi)間函數的(de)(de)(de)通(tong)信,合并第(di)(di)(di)一(yi)文法(fa)集(ji)和(he)(he)第(di)(di)(di)二(er)(er)文法(fa)集(ji)。
14、當(dang)目(mu)標(biao)應(ying)用(yong)包括多個(ge)進(jin)(jin)程(cheng)時(shi),通過該可能的(de)(de)設計,能夠(gou)將多個(ge)進(jin)(jin)程(cheng)對應(ying)的(de)(de)多個(ge)文法集進(jin)(jin)行(xing)(xing)合(he)并(bing),從(cong)而進(jin)(jin)一步提高了對多個(ge)進(jin)(jin)程(cheng)所(suo)生成的(de)(de)trace日(ri)志進(jin)(jin)行(xing)(xing)壓縮時(shi)的(de)(de)壓縮率(lv)。
15、在另一種可能(neng)的(de)設計方式中,上述(shu)第一trace日志(zhi)中的(de)每條(tiao)日志(zhi)記錄還包(bao)括(kuo)時(shi)間(jian)數據,該時(shi)間(jian)數據包(bao)括(kuo)調用通信函(han)數的(de)起始時(shi)間(jian)和調用時(shi)長(chang)。上述(shu)方法(fa)還包(bao)括(kuo):根據第一trace日志(zhi)中相(xiang)同的(de)調用時(shi)長(chang),對第一trace日志(zhi)中的(de)時(shi)間(jian)數據進行壓(ya)縮。
16、通(tong)(tong)過該可能的(de)設計,相比(bi)一般在日志記(ji)(ji)錄(lu)(lu)中記(ji)(ji)錄(lu)(lu)函(han)數(shu)調用(yong)(yong)起止(zhi)時間(jian)的(de)方式,本技術(shu)通(tong)(tong)過開始(shi)調用(yong)(yong)函(han)數(shu)的(de)時間(jian)和(he)調用(yong)(yong)時長(chang)(即(ji)函(han)數(shu)的(de)運行(xing)時長(chang)),來表征(zheng)函(han)數(shu)調用(yong)(yong)起止(zhi)時間(jian)。進而,由于通(tong)(tong)信函(han)數(shu)的(de)運行(xing)時長(chang)一般比(bi)較相近或相同,因而本技術(shu)記(ji)(ji)錄(lu)(lu)的(de)時間(jian)數(shu)據(ju)中可能存在大(da)量的(de)重復(fu)時長(chang),這種(zhong)情況下對時間(jian)數(shu)據(ju)進行(xing)壓(ya)縮時,壓(ya)縮率高。
17、在另一種可能的設計方式中(zhong)(zhong)(zhong),當(dang)上(shang)述(shu)第(di)(di)(di)一進程(cheng)在節點中(zhong)(zhong)(zhong)占用的硬件(jian)(jian)資(zi)源為第(di)(di)(di)一硬件(jian)(jian)資(zi)源時,上(shang)述(shu)方法還包(bao)括:獲(huo)取第(di)(di)(di)一數(shu)(shu)(shu)(shu)據(ju)集(ji),第(di)(di)(di)一數(shu)(shu)(shu)(shu)據(ju)集(ji)包(bao)括第(di)(di)(di)一進程(cheng)運行過程(cheng)中(zhong)(zhong)(zhong)第(di)(di)(di)一硬件(jian)(jian)資(zi)源在多個時刻的性能數(shu)(shu)(shu)(shu)據(ju)。通過與(yu)每(mei)個聚類(lei)范(fan)(fan)圍對(dui)應的預設值(zhi)(zhi),表征第(di)(di)(di)一數(shu)(shu)(shu)(shu)據(ju)集(ji)中(zhong)(zhong)(zhong)位于每(mei)個聚類(lei)范(fan)(fan)圍內(nei)的數(shu)(shu)(shu)(shu)據(ju),以得(de)到對(dui)第(di)(di)(di)一數(shu)(shu)(shu)(shu)據(ju)集(ji)進行壓縮后的第(di)(di)(di)二(er)數(shu)(shu)(shu)(shu)據(ju)集(ji)。其中(zhong)(zhong)(zhong),每(mei)個聚類(lei)范(fan)(fan)圍內(nei)的數(shu)(shu)(shu)(shu)據(ju)差值(zhi)(zhi)小(xiao)于等于預設誤(wu)差,不(bu)同(tong)聚類(lei)范(fan)(fan)圍對(dui)應不(bu)同(tong)的預設值(zhi)(zhi)。
18、通過(guo)該(gai)可(ke)能(neng)的(de)設(she)計,對于進(jin)程(cheng)運行過(guo)程(cheng)中所占(zhan)硬件資源(yuan)的(de)性能(neng)數(shu)據:第(di)(di)一(yi)數(shu)據集(ji),當以每個聚類范圍對應的(de)預(yu)設(she)值表(biao)征第(di)(di)一(yi)數(shu)據集(ji)中的(de)數(shu)據時,第(di)(di)一(yi)數(shu)據集(ji)中會存(cun)在大量相(xiang)同的(de)字符(fu),這種情況下對第(di)(di)一(yi)數(shu)據集(ji)進(jin)行壓縮(suo)時,壓縮(suo)率高(gao)。
19、在另一(yi)種可能(neng)的設計方式中(zhong),上述的性能(neng)數(shu)據包括以下(xia)至少一(yi)種:每個(ge)周期(qi)的指令數(shu)(instructions?per?cycle,ipc)、緩(huan)存未命(ming)中(zhong)率(cache?miss?rate,cmr)、緩(huan)存命(ming)中(zhong)率(cache?hit?rate,chr)以及分(fen)支(zhi)預測失誤率(branch?misprediction?rate,bmr)。
20、在(zai)另(ling)一(yi)(yi)種可能的(de)(de)(de)(de)設(she)(she)計方式中(zhong)(zhong),當第(di)(di)(di)(di)一(yi)(yi)進程(cheng)(cheng)為(wei)目標(biao)應用(yong)(yong)的(de)(de)(de)(de)一(yi)(yi)個(ge)進程(cheng)(cheng),目標(biao)應用(yong)(yong)還包括(kuo)第(di)(di)(di)(di)二(er)(er)進程(cheng)(cheng),第(di)(di)(di)(di)二(er)(er)進程(cheng)(cheng)在(zai)節點中(zhong)(zhong)占用(yong)(yong)的(de)(de)(de)(de)硬(ying)(ying)件資(zi)源為(wei)第(di)(di)(di)(di)二(er)(er)硬(ying)(ying)件資(zi)源,第(di)(di)(di)(di)三數據(ju)(ju)(ju)集(ji)(ji)(ji)(ji)包括(kuo)第(di)(di)(di)(di)二(er)(er)進程(cheng)(cheng)運行過程(cheng)(cheng)中(zhong)(zhong)第(di)(di)(di)(di)二(er)(er)硬(ying)(ying)件資(zi)源在(zai)多個(ge)時刻的(de)(de)(de)(de)性能數據(ju)(ju)(ju),以及通過每(mei)個(ge)聚類范圍對應的(de)(de)(de)(de)預設(she)(she)值(zhi)對第(di)(di)(di)(di)三數據(ju)(ju)(ju)集(ji)(ji)(ji)(ji)壓縮后得到第(di)(di)(di)(di)四(si)數據(ju)(ju)(ju)集(ji)(ji)(ji)(ji)。上(shang)述方法還包括(kuo):通過與每(mei)個(ge)聚類設(she)(she)范圍對應的(de)(de)(de)(de)預設(she)(she)值(zhi),表(biao)征第(di)(di)(di)(di)二(er)(er)數據(ju)(ju)(ju)集(ji)(ji)(ji)(ji)和第(di)(di)(di)(di)四(si)數據(ju)(ju)(ju)集(ji)(ji)(ji)(ji)中(zhong)(zhong)位于每(mei)個(ge)聚類范圍內的(de)(de)(de)(de)數據(ju)(ju)(ju),以實現(xian)對第(di)(di)(di)(di)二(er)(er)數據(ju)(ju)(ju)集(ji)(ji)(ji)(ji)和第(di)(di)(di)(di)四(si)數據(ju)(ju)(ju)集(ji)(ji)(ji)(ji)的(de)(de)(de)(de)壓縮。
21、通過(guo)該可能的設計(ji),可以對多個(ge)進(jin)程運行過(guo)程中各(ge)自(zi)所占硬(ying)(ying)件資源的性能數據進(jin)行進(jin)一步壓(ya)縮,從而進(jin)一步提高了對多個(ge)進(jin)程運行過(guo)程中各(ge)自(zi)所占硬(ying)(ying)件資源的性能數據進(jin)行壓(ya)縮時的壓(ya)縮率。
22、在另一種可能(neng)的(de)設(she)計(ji)方(fang)式中,上(shang)述的(de)第(di)(di)一進(jin)程(cheng)和(he)上(shang)述的(de)第(di)(di)二(er)進(jin)程(cheng)運行(xing)于(yu)不同節點中。
23、通(tong)過該可能的(de)設(she)計,本技術(shu)方法適(shi)用于多(duo)個進程運行于集群的(de)場(chang)景。
24、第二方面(mian),本技術提供了一種數據壓縮裝置。
25、在(zai)(zai)一(yi)種可(ke)能(neng)(neng)(neng)的(de)設計方(fang)(fang)(fang)(fang)式中,該數(shu)據壓(ya)縮(suo)裝(zhuang)置(zhi)(zhi)用于執行(xing)上(shang)述第(di)(di)一(yi)方(fang)(fang)(fang)(fang)面提(ti)(ti)供的(de)任一(yi)種方(fang)(fang)(fang)(fang)法。本技(ji)(ji)術可(ke)以(yi)(yi)(yi)根據上(shang)述第(di)(di)一(yi)方(fang)(fang)(fang)(fang)面提(ti)(ti)供的(de)任一(yi)種方(fang)(fang)(fang)(fang)法,對該數(shu)據壓(ya)縮(suo)裝(zhuang)置(zhi)(zhi)進行(xing)功(gong)(gong)(gong)能(neng)(neng)(neng)模塊(kuai)的(de)劃分。例如(ru),可(ke)以(yi)(yi)(yi)對應(ying)各(ge)(ge)個(ge)功(gong)(gong)(gong)能(neng)(neng)(neng)劃分各(ge)(ge)個(ge)功(gong)(gong)(gong)能(neng)(neng)(neng)模塊(kuai),也(ye)可(ke)以(yi)(yi)(yi)將兩(liang)個(ge)或兩(liang)個(ge)以(yi)(yi)(yi)上(shang)的(de)功(gong)(gong)(gong)能(neng)(neng)(neng)集成在(zai)(zai)一(yi)個(ge)處理模塊(kuai)中。示(shi)例性的(de),本技(ji)(ji)術可(ke)以(yi)(yi)(yi)按(an)照功(gong)(gong)(gong)能(neng)(neng)(neng)將該數(shu)據壓(ya)縮(suo)裝(zhuang)置(zhi)(zhi)劃分為(wei)獲取單元和處理單元等。上(shang)述劃分的(de)各(ge)(ge)個(ge)功(gong)(gong)(gong)能(neng)(neng)(neng)模塊(kuai)執行(xing)的(de)可(ke)能(neng)(neng)(neng)的(de)技(ji)(ji)術方(fang)(fang)(fang)(fang)案(an)和有益效果的(de)描述均(jun)可(ke)以(yi)(yi)(yi)參考上(shang)述第(di)(di)一(yi)方(fang)(fang)(fang)(fang)面或其相應(ying)的(de)可(ke)能(neng)(neng)(neng)的(de)設計提(ti)(ti)供的(de)技(ji)(ji)術方(fang)(fang)(fang)(fang)案(an),此處不再贅(zhui)述。
26、在另一(yi)(yi)種(zhong)可(ke)能(neng)的設計中,該數據壓縮裝置(zhi)包(bao)括:存(cun)儲(chu)器(qi)(qi)、通(tong)信接(jie)口和一(yi)(yi)個(ge)或(huo)(huo)多個(ge)處(chu)理(li)器(qi)(qi),該一(yi)(yi)個(ge)或(huo)(huo)多個(ge)處(chu)理(li)器(qi)(qi)通(tong)過通(tong)信接(jie)口接(jie)收或(huo)(huo)發送數據,該一(yi)(yi)個(ge)或(huo)(huo)多個(ge)處(chu)理(li)器(qi)(qi)被配(pei)置(zhi)為(wei)讀取存(cun)儲(chu)在存(cun)儲(chu)器(qi)(qi)中的程(cheng)序(xu)指(zhi)令,以(yi)執行如第一(yi)(yi)方面(mian)及(ji)其任(ren)一(yi)(yi)種(zhong)可(ke)能(neng)的設計方式提供的任(ren)一(yi)(yi)種(zhong)方法。
27、第(di)三方(fang)面,本技術提供了一(yi)(yi)種(zhong)(zhong)計(ji)算(suan)(suan)機可讀(du)存儲介質,該計(ji)算(suan)(suan)機可讀(du)存儲介質包(bao)括程序指(zhi)令,當程序指(zhi)令在計(ji)算(suan)(suan)機或(huo)處理(li)器上運行(xing)時(shi),使得計(ji)算(suan)(suan)機或(huo)處理(li)器執行(xing)第(di)一(yi)(yi)方(fang)面中的(de)任一(yi)(yi)種(zhong)(zhong)可能的(de)實現方(fang)式提供的(de)任一(yi)(yi)種(zhong)(zhong)方(fang)法。
28、第(di)四方(fang)面(mian),本技術提供了一種計算機程序產品,當其(qi)在(zai)數(shu)據壓(ya)縮裝(zhuang)置上運行時(shi),使(shi)得第(di)一方(fang)面(mian)中(zhong)的任一種可能的實現方(fang)式提供的任一種方(fang)法被執行。
29、第五方(fang)面,本技(ji)術提供(gong)了一種(zhong)芯(xin)片系統(tong),包括:處理器(qi),處理器(qi)用于從(cong)存儲(chu)器(qi)中(zhong)調用并運(yun)行該存儲(chu)器(qi)中(zhong)存儲(chu)的計算機程序,執行第一方(fang)面中(zhong)的實現方(fang)式提供(gong)的任一種(zhong)方(fang)法(fa)。
30、可以理解的(de)(de)是,上述提(ti)供的(de)(de)任一種裝置、計算(suan)機(ji)存(cun)儲介質、計算(suan)機(ji)程序產品或芯片系統等均可以應(ying)(ying)用于(yu)上文所提(ti)供的(de)(de)對(dui)(dui)應(ying)(ying)的(de)(de)方法(fa),因此,其所能達到的(de)(de)有(you)益效(xiao)果可參(can)考對(dui)(dui)應(ying)(ying)的(de)(de)方法(fa)中的(de)(de)有(you)益效(xiao)果,此處不再贅述。
31、在本技(ji)術(shu)中(zhong),上述數(shu)據壓縮裝置的(de)名字(zi)對設(she)備或(huo)功(gong)能(neng)模塊(kuai)本身不(bu)構成限(xian)定,在實(shi)際實(shi)現(xian)中(zhong),這些設(she)備或(huo)功(gong)能(neng)模塊(kuai)可以以其他名稱出現(xian)。只要各個設(she)備或(huo)功(gong)能(neng)模塊(kuai)的(de)功(gong)能(neng)和本技(ji)術(shu)類似,屬于本技(ji)術(shu)權利(li)要求及其等同技(ji)術(shu)的(de)范(fan)圍之(zhi)內(nei)。