欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種CPU空閑時(shí)間的確定方法、裝置、電子設(shè)備及介質(zhì)與流程

文檔序號(hào):40603014發(fā)布日期:2025-01-07 20:43閱讀:5來(lái)源:國(guó)知局
一種CPU空閑時(shí)間的確定方法、裝置、電子設(shè)備及介質(zhì)與流程

本技術(shù)涉及通信,特別是涉及一種cpu空閑時(shí)間的確定方法、裝置、電子設(shè)備及介質(zhì)。


背景技術(shù):

1、當(dāng)前因特網(wǎng)和其他互聯(lián)網(wǎng)必須承載的通信量在持續(xù)增長(zhǎng),為了應(yīng)對(duì)這種增長(zhǎng),傳輸控制協(xié)議/網(wǎng)際協(xié)議(transmission?control?protocol/internet?protocol,tcp/ip)體系結(jié)構(gòu)發(fā)展了服務(wù)質(zhì)量(quality?of?service,qos)框架,以支持各種類(lèi)型的擁有各種服務(wù)質(zhì)量需求的通信量。數(shù)據(jù)平面是qos框架中的一個(gè)平面,能夠?qū)崿F(xiàn)通信過(guò)程中的隊(duì)列管理、排隊(duì)調(diào)度、擁塞避免等對(duì)數(shù)據(jù)流進(jìn)行操作的機(jī)制,對(duì)提高網(wǎng)絡(luò)通信的效率起著至關(guān)重要的作用。

2、對(duì)于網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)平面,在傳統(tǒng)方法中,網(wǎng)卡接收到數(shù)據(jù)幀時(shí),會(huì)通過(guò)直接存儲(chǔ)器訪問(wèn)(direct?memory?access,dma)將數(shù)據(jù)幀存入預(yù)先分配的內(nèi)核緩沖區(qū),然后網(wǎng)卡再更新接收描述符環(huán)(buffer?descriptor?ring)以表明有報(bào)文需要處理,接收描述符環(huán)是網(wǎng)卡與操作系統(tǒng)協(xié)商好的一塊內(nèi)存地址,用于描述報(bào)文的信息。然后網(wǎng)卡通過(guò)中斷通知提醒操作系統(tǒng),以使得操作系統(tǒng)基于更新后的接收描述符獲取并處理數(shù)據(jù)幀,操作系統(tǒng)的內(nèi)核需要經(jīng)過(guò)中斷上下文的切換來(lái)處理該數(shù)據(jù)幀,在此過(guò)程中涉及到的系統(tǒng)調(diào)用以及數(shù)據(jù)復(fù)制等操作都會(huì)帶來(lái)性能損耗。

3、為了降低性能損耗,出現(xiàn)了一種輪詢收發(fā)包的優(yōu)化方案,比如數(shù)據(jù)平面開(kāi)發(fā)工具包(data?plane?development?kit,dpdk)。采用dpdk,可以由cpu輪詢判斷是否存在需要處理的報(bào)文,不需要經(jīng)過(guò)中斷上下文切換,且能夠通過(guò)用戶空間的i/o技術(shù)(userspace?i/o,uio)和大頁(yè)內(nèi)存等方式能夠減少數(shù)據(jù)復(fù)制的開(kāi)銷(xiāo)。然而,采用輪詢判斷的方式會(huì)增加cpu的消耗,在沒(méi)有需要處理的報(bào)文時(shí),cpu依然在執(zhí)行輪詢動(dòng)作,并沒(méi)有對(duì)數(shù)據(jù)進(jìn)行處理,這種情況下相當(dāng)于cpu在進(jìn)行空轉(zhuǎn),然而cpu的利用率會(huì)被認(rèn)為是100%,即對(duì)cpu實(shí)際的利用率的評(píng)估不準(zhǔn)確,難以獲知cpu的實(shí)際空閑時(shí)間。


技術(shù)實(shí)現(xiàn)思路

1、本技術(shù)實(shí)施例的目的在于提供一種cpu空閑時(shí)間的確定方法、裝置、電子設(shè)備及介質(zhì),以準(zhǔn)確確定cpu的實(shí)際空閑。具體技術(shù)方案如下:

2、第一方面,本技術(shù)實(shí)施例提供一種cpu空閑時(shí)間的確定方法,包括:

3、在cpu的每個(gè)時(shí)鐘周期開(kāi)始時(shí),通過(guò)內(nèi)核判斷是否存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程;

4、若是,則通過(guò)所述內(nèi)核從共享內(nèi)存中獲取所述輪詢?nèi)蝿?wù)的標(biāo)記值,所述共享內(nèi)存為用戶態(tài)與內(nèi)核態(tài)共享的物理內(nèi)存,在所述輪詢?nèi)蝿?wù)的輪詢結(jié)果為不存在需要處理的報(bào)文的情況下,所述標(biāo)記值為空轉(zhuǎn)標(biāo)記;

5、若所述標(biāo)記值為空轉(zhuǎn)標(biāo)記,則通過(guò)所述內(nèi)核將當(dāng)前時(shí)鐘周期記錄為所述cpu的空閑時(shí)間。

6、在一種可能的實(shí)現(xiàn)方式中,在所述通過(guò)所述內(nèi)核從共享內(nèi)存中獲取所述輪詢?nèi)蝿?wù)的標(biāo)記值之后,所述方法還包括:

7、若所述標(biāo)記值不是空轉(zhuǎn)標(biāo)記,則通過(guò)所述內(nèi)核將當(dāng)前時(shí)鐘周期記錄為所述cpu的執(zhí)行時(shí)間。

8、在一種可能的實(shí)現(xiàn)方式中,所述通過(guò)內(nèi)核判斷是否存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程,包括:

9、通過(guò)所述內(nèi)核判斷所述共享內(nèi)存中是否存在輪詢?nèi)蝿?wù)標(biāo)記;

10、若是,則確定存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程;

11、若否,則確定不存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程。

12、在一種可能的實(shí)現(xiàn)方式中,所述方法還包括:

13、當(dāng)啟動(dòng)所述輪詢?nèi)蝿?wù)的進(jìn)程時(shí),通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程在所述共享內(nèi)存中設(shè)置輪詢?nèi)蝿?wù)標(biāo)記;

14、若所述輪詢?nèi)蝿?wù)的輪詢結(jié)果為不存在需要處理的報(bào)文,則通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程判斷所述共享內(nèi)存中的標(biāo)記值是否為空轉(zhuǎn)標(biāo)記,若否,則將所述共享內(nèi)存中的標(biāo)記值設(shè)置為空轉(zhuǎn)標(biāo)記;

15、若所述輪詢?nèi)蝿?wù)的輪詢結(jié)果為存在需要處理的報(bào)文,則通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程判斷所述共享內(nèi)存中的標(biāo)記值是否為空轉(zhuǎn)標(biāo)記,若是,則取消所述空轉(zhuǎn)標(biāo)記。

16、在一種可能的實(shí)現(xiàn)方式中,所述方法還包括:

17、當(dāng)啟動(dòng)所述輪詢?nèi)蝿?wù)的進(jìn)程時(shí),通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程向所述內(nèi)核申請(qǐng)所述共享內(nèi)存。

18、第二方面,本技術(shù)實(shí)施例提供一種cpu空閑時(shí)間的確定裝置,包括:

19、第一判斷模塊,用于在cpu的每個(gè)時(shí)鐘周期開(kāi)始時(shí),通過(guò)內(nèi)核判斷是否存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程;

20、獲取模塊,用于若所述第一判斷模塊的判斷結(jié)果為是,則通過(guò)所述內(nèi)核從共享內(nèi)存中獲取所述輪詢?nèi)蝿?wù)的標(biāo)記值,所述共享內(nèi)存為用戶態(tài)與內(nèi)核態(tài)共享的物理內(nèi)存,在所述輪詢?nèi)蝿?wù)的輪詢結(jié)果為不存在需要處理的報(bào)文的情況下,所述標(biāo)記值為空轉(zhuǎn)標(biāo)記;

21、記錄模塊,用于若所述標(biāo)記值為空轉(zhuǎn)標(biāo)記,則通過(guò)所述內(nèi)核將當(dāng)前時(shí)鐘周期記錄為所述cpu的空閑時(shí)間。

22、在一種可能的實(shí)現(xiàn)方式中,所述記錄模塊,還用于若所述標(biāo)記值不是空轉(zhuǎn)標(biāo)記,則通過(guò)所述內(nèi)核將當(dāng)前時(shí)鐘周期記錄為所述cpu的執(zhí)行時(shí)間。

23、在一種可能的實(shí)現(xiàn)方式中,所述第一判斷模塊,具體用于:

24、通過(guò)所述內(nèi)核判斷所述共享內(nèi)存中是否存在輪詢?nèi)蝿?wù)標(biāo)記;

25、若是,則確定存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程;

26、若否,則確定不存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程。

27、在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:

28、設(shè)置模塊,用于當(dāng)啟動(dòng)所述輪詢?nèi)蝿?wù)的進(jìn)程時(shí),通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程在所述共享內(nèi)存中設(shè)置輪詢?nèi)蝿?wù)標(biāo)記;

29、第二判斷模塊,用于若所述輪詢?nèi)蝿?wù)的輪詢結(jié)果為不存在需要處理的報(bào)文,則通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程判斷所述共享內(nèi)存中的標(biāo)記值是否為空轉(zhuǎn)標(biāo)記;

30、所述設(shè)置模塊,還用于若所述第二判斷模塊的判斷結(jié)果為否,則將所述共享內(nèi)存中的標(biāo)記值設(shè)置為空轉(zhuǎn)標(biāo)記;

31、第三判斷模塊,用于若所述輪詢?nèi)蝿?wù)的輪詢結(jié)果為存在需要處理的報(bào)文,則通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程判斷所述共享內(nèi)存中的標(biāo)記值是否為空轉(zhuǎn)標(biāo)記;

32、所述設(shè)置模塊,還用于若所述第三判斷模塊的判斷結(jié)果為是,則取消所述空轉(zhuǎn)標(biāo)記。

33、在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:

34、申請(qǐng)模塊,用于當(dāng)啟動(dòng)所述輪詢?nèi)蝿?wù)的進(jìn)程時(shí),通過(guò)所述輪詢?nèi)蝿?wù)的進(jìn)程向所述內(nèi)核申請(qǐng)所述共享內(nèi)存。

35、第三方面,本技術(shù)實(shí)施例還提供一種電子設(shè)備,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過(guò)通信總線完成相互間的通信;

36、存儲(chǔ)器,用于存放計(jì)算機(jī)程序;

37、處理器,用于執(zhí)行存儲(chǔ)器上所存放的程序時(shí),實(shí)現(xiàn)上述第一方面所述的方法。

38、第四方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的方法。

39、第五方面,本技術(shù)實(shí)施例提供一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述第一方面所述的方法。

40、采用上述技術(shù)方案,在cpu的每個(gè)時(shí)鐘周期,若存在正在運(yùn)行的輪詢?nèi)蝿?wù)的進(jìn)程,則可通過(guò)內(nèi)核從共享內(nèi)存中獲取該輪詢?nèi)蝿?wù)的標(biāo)記值,由于該共享內(nèi)存是用戶態(tài)與內(nèi)核態(tài)共享的,因此無(wú)需通過(guò)中斷的方式通知內(nèi)核,不會(huì)存在中斷上下文的切換,進(jìn)而不會(huì)因此帶來(lái)性能損耗。而且,若內(nèi)核獲取到的標(biāo)記值為空轉(zhuǎn)標(biāo)記,則說(shuō)明當(dāng)前輪詢?nèi)蝿?wù)的輪詢結(jié)果為不存在需要處理的報(bào)文,即cpu在當(dāng)前時(shí)鐘周期內(nèi)處于空轉(zhuǎn)狀態(tài),進(jìn)而將當(dāng)前時(shí)鐘周期記錄為cpu的空閑時(shí)間,如此,可以將cpu空轉(zhuǎn)的時(shí)間準(zhǔn)確地記錄為空閑時(shí)間,能夠準(zhǔn)確得到cpu的實(shí)際空閑時(shí)間。

41、當(dāng)然,實(shí)施本技術(shù)的任一產(chǎn)品或方法并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
宜丰县| 如东县| 石首市| 通江县| 华容县| 临汾市| 英德市| 海丰县| 吐鲁番市| 勐海县| 叙永县| 宾川县| 张北县| 三都| 连州市| 镇原县| 浦北县| 宣化县| 镇雄县| 晋城| 江山市| 雅江县| 衡水市| 崇明县| 海南省| 白城市| 定陶县| 建昌县| 唐山市| 墨竹工卡县| 新竹县| 施甸县| 大荔县| 玉田县| 乌兰县| 噶尔县| 汤原县| 铜陵市| 伊川县| 镇远县| 合阳县|