亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于與處理在網(wǎng)絡(luò)設(shè)備處接收到的分組相關(guān)聯(lián)的功率管理的技術(shù)的制作方法

文檔序號(hào):11637223閱讀:515來(lái)源:國(guó)知局
用于與處理在網(wǎng)絡(luò)設(shè)備處接收到的分組相關(guān)聯(lián)的功率管理的技術(shù)的制造方法與工藝

本文所描述的示例通常涉及網(wǎng)絡(luò)分組處理。



背景技術(shù):

數(shù)據(jù)平面開(kāi)發(fā)工具套件(dpdk)是一套軟件庫(kù)和驅(qū)動(dòng)程序,其可以用于基于處理器體系架構(gòu)(例如,處理器體系架構(gòu))來(lái)加速用于網(wǎng)絡(luò)計(jì)算平臺(tái)的用戶空間分組處理。dpdk已經(jīng)被部署在全球數(shù)據(jù)中心網(wǎng)絡(luò)中,用于支持高性能網(wǎng)絡(luò)分組處理應(yīng)用。這些網(wǎng)絡(luò)分組處理應(yīng)用可以包括但不限于防火墻、虛擬專(zhuān)用網(wǎng)(vpn)、網(wǎng)絡(luò)地址轉(zhuǎn)換(nat)、深度分組檢測(cè)(dpi)或負(fù)荷均衡器應(yīng)用。這些防火墻、vpn、nat、dpi或負(fù)荷均衡器應(yīng)用例如可以在標(biāo)準(zhǔn)x86服務(wù)器平臺(tái)上實(shí)現(xiàn),所述標(biāo)準(zhǔn)x86服務(wù)器平臺(tái)可以包括但不限于耦合至英特爾10千兆位/40千兆位(10g/40g)網(wǎng)絡(luò)接口卡(nic)的英特爾處理器。使用dpdk以支持高性能網(wǎng)絡(luò)分組處理應(yīng)用可以代替網(wǎng)絡(luò)設(shè)備中的至少一些昂貴且不那么靈活的實(shí)體部件。

附圖說(shuō)明

圖1展示了示例系統(tǒng)。

圖2展示了示例第一邏輯流程。

圖3展示了示例第一過(guò)程。

圖4展示了示例第二過(guò)程。

圖5展示了示例第三過(guò)程。

圖6展示了裝置的示例框圖。

圖7展示了示例第二邏輯流程。

圖8展示了示例第三邏輯流程。

圖9展示了存儲(chǔ)介質(zhì)的示例。

圖10展示了示例計(jì)算平臺(tái)。

具體實(shí)施方式

在某些示例中,實(shí)施用于高性能分組處理應(yīng)用的dpdk可以包括部署輪詢模式驅(qū)動(dòng)程序(pmd)以配置和/或操作nwi/o設(shè)備(例如,英特爾1g/10g/40gnic)。對(duì)于這些示例,部署所述pmd可以使得基于dpdk的網(wǎng)絡(luò)應(yīng)用在不觸發(fā)中斷的情況下,以最高或最大處理器/核頻率訪問(wèn)nwi/o設(shè)備資源(例如,接收(rx)和發(fā)送(tx)隊(duì)列),以便通過(guò)高性能和低延時(shí)的方式接收、處理和發(fā)送分組。然而,在數(shù)據(jù)中心網(wǎng)絡(luò)中,可能發(fā)生“潮汐效應(yīng)”這一眾所周知的現(xiàn)象。潮汐效應(yīng)可能是由多個(gè)時(shí)間段內(nèi)在不同地理區(qū)域發(fā)生的顯著網(wǎng)絡(luò)流量模式變化造成的。因此,在處理低或零網(wǎng)絡(luò)流量時(shí)期,在x86處理核上運(yùn)行的基于dpdk應(yīng)用的線程(“dpdk輪詢線程”)可能仍然忙于等待(例如,連續(xù)輪詢但不處理網(wǎng)絡(luò)分組)。等待網(wǎng)絡(luò)分組可能會(huì)浪費(fèi)相當(dāng)大量的功率和計(jì)算資源。

操作系統(tǒng)(os)功率管理子系統(tǒng)或模塊提供多種技術(shù)(主要是p狀態(tài)、c狀態(tài)和os內(nèi)核空間控制)以在峰值或低網(wǎng)絡(luò)流量期間調(diào)整處理器功率。在標(biāo)準(zhǔn)os(例如,linux或)中,os功率管理模塊可以通過(guò)定期采樣cpu使用率來(lái)確定分別用于使處理器或核進(jìn)入的適當(dāng)?shù)奶幚砥麟妷汉?或頻率、工作點(diǎn)(p狀態(tài))和處理器空閑狀態(tài)(c狀態(tài))。但是,由于os功率管理模塊不能確定dpdk輪詢線程是否真的在處理分組還是忙于等待,這種方法不適用于基于pmd的具有所述dpdk輪詢線程的分組處理應(yīng)用。os功率管理模塊不能確定dpdk輪詢線程的工作狀態(tài),這可能在確定處理器或核的恰當(dāng)功率狀態(tài)時(shí)造成問(wèn)題,所述處理器或核支持這些dpdk輪詢線程進(jìn)入,以便節(jié)省受“潮汐效應(yīng)”影響的數(shù)據(jù)中心網(wǎng)絡(luò)的功率。針對(duì)這些挑戰(zhàn),需要本文所描述的示例。

根據(jù)一些第一示例,與處理在nwi/o設(shè)備處接收到的分組相關(guān)聯(lián)的功率管理技術(shù)可以包括在dpdk輪詢線程的多次輪詢迭代期間,監(jiān)測(cè)接收到并保持在所述nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。這些第一示例還可以包括:基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定所述接收隊(duì)列的充滿程度,并且基于所述接收隊(duì)列的充滿程度增加趨勢(shì)計(jì)數(shù)。這些第一示例還可以包括基于所述趨勢(shì)計(jì)數(shù)是否超過(guò)趨勢(shì)計(jì)數(shù)閾值,向os功率管理模塊發(fā)送性能指示。所述性能指示能夠使所述os功率管理模塊提高執(zhí)行所述dpdk輪詢線程的處理元件的性能狀態(tài)。

根據(jù)一些第二示例,與處理在nw設(shè)備處接收到的分組相關(guān)聯(lián)的功率管理技術(shù)還可以包括在所述dpdk輪詢線程的多次輪詢迭代期間,監(jiān)測(cè)接收到并保持在所述nwi/o設(shè)備的所述接收隊(duì)列處的可用分組描述符。這些第二示例還可以包括基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定在所述接收隊(duì)列處接收到的用于每次輪詢迭代的分組數(shù)量,并且當(dāng)針對(duì)超過(guò)連續(xù)閾值的連續(xù)輪詢迭代次數(shù)接收到的分組數(shù)量為0時(shí),將空閑計(jì)數(shù)遞增1個(gè)計(jì)數(shù)。這些第二示例還可以包括基于所述空閑計(jì)數(shù)超過(guò)還是小于第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠第一或第二時(shí)間段之一。所述第二時(shí)間段可能比所述第一時(shí)間段更長(zhǎng)。

圖1展示了示例系統(tǒng)100。如圖1中所示,在某些示例中,系統(tǒng)100包括nwi/o設(shè)備110,所述nwi/o設(shè)備被布置為接收或發(fā)送包含在nw流量105中的分組。預(yù)流量負(fù)荷均衡器120能夠向接收(rx)隊(duì)列130-1至130-n分配分組,其中,“n”是大于1的任何正整數(shù)。對(duì)于這些示例,rx隊(duì)列130-1至130-n可以被布置為至少暫時(shí)保持接收到的分組,所述分組用于由相應(yīng)dpdk輪詢線程140-1至140-n處理。每個(gè)dpdk輪詢線程140-1至140-n能夠執(zhí)行至少部分網(wǎng)絡(luò)分組處理應(yīng)用,所述網(wǎng)絡(luò)分組處理應(yīng)用包括但不限于防火墻、vpn、nat、dpi或負(fù)荷均衡器應(yīng)用。每個(gè)dpdk輪詢線程140-1至140-n可以包括相應(yīng)輪詢模式驅(qū)動(dòng)程序142-1至142-n,以使得輪詢操作模式下rx隊(duì)列130-1至130-n能夠在沒(méi)有中斷的情況下進(jìn)行訪問(wèn),以接收、處理或發(fā)送在nw流量105處接收到的分組。

根據(jù)某些示例,如圖1中所示,系統(tǒng)100還可以包括dpdk功率管理組件150和os功率管理模塊160,所述dpdk功率管理組件被布置為在用戶空間101中運(yùn)行,所述os功率管理模塊被布置為在內(nèi)核空間102中運(yùn)行。如在下文更詳細(xì)描述的,dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征能夠監(jiān)測(cè)接收到并保持在rx隊(duì)列130-1至130-n處的可用分組描述符,用于由dpdk輪詢線程140-1至140-n處理。dpdk功率管理組件150的所述邏輯和/或特征還可以監(jiān)測(cè)dpdk輪詢線程140-1至140-n的睡眠或空閑次數(shù)。

在某些示例中,dpdk功率管理組件150的狀態(tài)算法154可以利用監(jiān)測(cè)到的信息來(lái)使dpdk輪詢線程140-1至140-n置于暫時(shí)睡眠狀態(tài),(通過(guò)單觸發(fā)(one-shot)rx中斷開(kāi)啟提示180)向nwi/o設(shè)備110發(fā)送中斷開(kāi)啟提示或消息,并且使輪詢模式變?yōu)橹袛嗖僮髂J?,或確保庫(kù)152發(fā)送c狀態(tài)(睡眠)或p狀態(tài)(性能)提示或指示。對(duì)于這些示例,如圖1中所示,可以將所述c狀態(tài)或p狀態(tài)提示發(fā)送至os功率管理模塊160的處理器元件(pe)空閑162或pe頻率164。os功率管理模塊160的元件然后可以基于所接收到的c狀態(tài)或p狀態(tài)提示,改變包含在一個(gè)或多個(gè)處理器170中的一個(gè)或多個(gè)pe172-1至172-n的c狀態(tài)或p狀態(tài)??梢愿鶕?jù)一種或多種處理器功率管理標(biāo)準(zhǔn)或規(guī)范(例如,高級(jí)配置與功率接口(acpi)規(guī)范修訂版5.1)來(lái)改變或控制c狀態(tài)或p狀態(tài),所述高級(jí)配置與功率接口規(guī)范由統(tǒng)一可擴(kuò)展固件接口論壇于2014年7月發(fā)布(“acpi”規(guī)范)。

根據(jù)某些示例,處理器170可以包括多核處理器,并且每個(gè)pe172-1至172-n可以是所述多核處理器的核和/或可以是由所述多核處理器的一個(gè)或多個(gè)核支持的虛擬機(jī)(vm)。此外,對(duì)于這些示例,dpdk輪詢線程140-1至140-n能夠由pe172-1至172-n執(zhí)行。處理器170可以包括各種類(lèi)型的可商購(gòu)的x86處理器,所述x86處理器包括但不限于處理器;以及英特爾core(2)corei3、corei5、corei7、xeon或xeon處理器。

根據(jù)某些示例,新api(napi)可以是用于內(nèi)核空間102(例如,linux內(nèi)核)的中斷抑制技術(shù),以支持由dpdk輪詢線程140-1至140-n進(jìn)行的分組處理。napi通常被設(shè)計(jì)為通過(guò)引進(jìn)os和nic或nwi/o驅(qū)動(dòng)程式的輪詢模式能力來(lái)改進(jìn)高速網(wǎng)絡(luò)的性能。通過(guò)利用napi,nwi/o驅(qū)動(dòng)程式能夠默認(rèn)以中斷驅(qū)動(dòng)模式來(lái)工作,并且僅當(dāng)傳入分組流量超過(guò)某一閾值時(shí)才切換為輪詢模式。napi允許頻繁的模式切換,而這是網(wǎng)絡(luò)終端端點(diǎn)(例如,服務(wù)器或個(gè)人電腦)廣為接受的,這是因?yàn)檫@些網(wǎng)絡(luò)終端端點(diǎn)可能沒(méi)有嚴(yán)格的低延時(shí)和抖動(dòng)要求。但是,某些類(lèi)型的網(wǎng)絡(luò)設(shè)備(例如,交換機(jī)、路由器和l4-l7網(wǎng)絡(luò)家電)可能要按照嚴(yán)格的延時(shí)、抖動(dòng)和分組丟失要求進(jìn)行運(yùn)作。對(duì)于這些類(lèi)型的網(wǎng)絡(luò)設(shè)備,頻繁的模式切換、服務(wù)中斷和喚醒暫停、中止或睡眠的線程在處理器資源和延遲命中方面代價(jià)較高。對(duì)于如數(shù)據(jù)中心網(wǎng)絡(luò)般部署的網(wǎng)絡(luò)設(shè)備來(lái)說(shuō),這些處理器資源和延遲命中可能是不可接受的。

根據(jù)某些示例,dpdk輪詢線程140-1至140-n的輪詢模式驅(qū)動(dòng)程序142-1至142-n可以被設(shè)計(jì)或布置為默認(rèn)以輪詢模式來(lái)工作。如在下文更多描述的,當(dāng)dpdk功率管理組件150檢測(cè)到趨向越來(lái)越低的網(wǎng)絡(luò)流量時(shí),dpdk功率管理組件150可以使dpdk輪詢線程140-1至140-n睡眠一個(gè)或多個(gè)時(shí)間段,并且還可以向os功率管理模塊160發(fā)送提示?;谒鎏崾荆琽s功率管理模塊160可以使pe172-1至172-n按比例減小處理器頻率或轉(zhuǎn)變到空閑或睡眠狀態(tài)以節(jié)省功率。此外,當(dāng)dpdk功率管理組件150對(duì)于某個(gè)持續(xù)時(shí)間閾值沒(méi)有檢測(cè)到流量時(shí),輪詢模式驅(qū)動(dòng)程序142-1至142-n可以從默認(rèn)輪詢模式切換至中斷模式。以此方式,在處理分組時(shí),dpdk輪詢線程140-1主要在輪詢模式環(huán)境下工作,以更好滿足性能要求,并且因此可以避免頻繁的模式切換。

圖2展示了示例第一邏輯流程。如圖2中所示,所述示例第一邏輯流程包括邏輯流程200。根據(jù)某些示例,邏輯流程200可以用于與處理在nw設(shè)備(例如,位于數(shù)據(jù)中心)處接收到的分組相關(guān)聯(lián)的功率管理。對(duì)于這些示例,圖1中所示系統(tǒng)100的至少一些組件能夠?qū)嵤┎糠诌壿嬃鞒?00。然而,示例邏輯流程200不限于使用圖1所示或描述的系統(tǒng)100的組件。

在某些示例中,如圖2中所示,可以初始化202dpdk功率管理組件。對(duì)于這些示例,dpdk輪詢線程(例如,dpdk輪詢線程140-1)可以開(kāi)始連續(xù)循環(huán)輪詢來(lái)自nwi/o設(shè)備的rx隊(duì)列(例如,rx隊(duì)列130-1)的分組。如在下文更多描述的,除非被置于睡眠或發(fā)布中斷,所述循環(huán)可以是連續(xù)的。對(duì)于每次輪詢迭代(例如,每1-2微妙(μs))204,可以由dpdk功率管理組件獲得保持在所述rx隊(duì)列處的所使用的和自由的分組描述符的數(shù)量。如果針對(duì)給定輪詢迭代已經(jīng)接收到0個(gè)分組206,可以將接收到0個(gè)分組時(shí)的迭代次數(shù)與連續(xù)數(shù)量閾值(例如,5次迭代)進(jìn)行比較208。在某些示例中,如果沒(méi)有超過(guò)所述連續(xù)數(shù)閾值,所述邏輯流程移動(dòng)回至204。

根據(jù)某些示例,在210中,基于收到0個(gè)分組時(shí)的迭代次數(shù),可以將‘空閑’計(jì)數(shù)增加1。在212,確定‘空閑’計(jì)數(shù)是否低于或小于threshold_1。在214,如果所述‘空閑’計(jì)數(shù)小于threshold_1,所述dpdk輪詢線程可以由所述dpdk功率管理組件置于短期(例如,幾微妙)睡眠。在216,如果所述‘空閑’計(jì)數(shù)小于threshold_2,所述dpdk輪詢線程可以被置于相對(duì)長(zhǎng)期(例如,幾十微妙)睡眠。

在某些示例中,短睡眠時(shí)間段可以是幾微妙的短的睡眠時(shí)間段,以相對(duì)于連續(xù)自旋循環(huán)而降低功耗。從而使所述dpdk輪詢線程在尚不可識(shí)別的流量趨勢(shì)期間避免昂貴的上下文切換。相對(duì)長(zhǎng)睡眠時(shí)間段可以是在已經(jīng)識(shí)別較低流量趨勢(shì)時(shí)。在這種情況下,所述dpdk功率管理組件可以使所述dpdk輪詢線程睡眠更長(zhǎng)時(shí)間段,并且還可以向os功率管理模塊發(fā)送長(zhǎng)睡眠指示或c狀態(tài)提示。所述os功率管理模塊然后可以使支持所述dpdk輪詢線程的pe進(jìn)入acpic1功率狀態(tài)。當(dāng)新nw流量到達(dá)時(shí),這種c1功率狀態(tài)可以仍然確保所述pe快速供電至c0功率狀態(tài)。此外,當(dāng)新nw流量未到達(dá),將所述‘空閑’計(jì)數(shù)重置為0。

根據(jù)某些示例,與threshold_2相比,threshold_1可以低幾倍,以在所述rx隊(duì)列處0個(gè)分組的相對(duì)短時(shí)間段后,使所述dpdk輪詢線程睡眠。然而,如果所述‘空閑’計(jì)數(shù)超過(guò)threshold_2,可啟用單觸發(fā)rx中斷220。一旦存在由所述nwi/o所接收的傳入分組,觸發(fā)所述單觸發(fā)rx中斷222,所述單觸發(fā)rx中斷可以使中止的dpdk輪詢線程從中斷模式切換回輪詢模式。所述空閑計(jì)數(shù)超過(guò)threshold_2可以指示較慢或無(wú)網(wǎng)絡(luò)流量時(shí)間段。此外,中止所述dpdk輪詢線程可以使得所述os功率管理模塊能夠令執(zhí)行所述dpdk輪詢線程的pe置于比c1狀態(tài)更深度的低功率使用c狀態(tài)。事實(shí)上,所述dpdk輪詢線程現(xiàn)在可以在中斷模式下運(yùn)行,所述中斷模式響應(yīng)于再次接收到網(wǎng)絡(luò)流量切而換回輪詢模式。

在某些示例中,如果在所述rx隊(duì)列處接收到分組,可以確定所述rx隊(duì)列的充滿程度。例如,如果所述rx隊(duì)列為幾乎空(例如,占全滿的25%至50%)224,可將‘趨勢(shì)’計(jì)數(shù)增加較小數(shù)字226。如果所述rx隊(duì)列為半滿(例如,51%至75%)234,可將所述‘趨勢(shì)’計(jì)數(shù)增加大數(shù)字236。此外,在228,當(dāng)所述‘趨勢(shì)’計(jì)數(shù)超過(guò)趨勢(shì)計(jì)數(shù)閾值,所述dpdk功率管理組件可以向所述os功率管理模塊發(fā)送性能指示或p狀態(tài)提示。所述性能指示可以使所述os功率管理模塊提高操作頻率230,或提高執(zhí)行所述dpdp輪詢線程的所述pe的acpip狀態(tài)。所述‘趨勢(shì)’計(jì)數(shù)可以被設(shè)置為使得能夠檢測(cè)網(wǎng)絡(luò)流量的逐漸增加,并且可以逐漸提高pe的p狀態(tài),以在處理接收到的分組232時(shí)平衡節(jié)能和性能。

根據(jù)某些示例,如果所述rx隊(duì)列為幾乎全滿(例如,占全滿的超過(guò)76%)238,在240,可以將所述rx隊(duì)列為幾乎全滿時(shí)的連續(xù)輪詢迭代次數(shù)與連續(xù)閾值(例如,5次輪詢迭代)進(jìn)行比較。對(duì)于這些示例,當(dāng)超過(guò)所述連續(xù)閾值時(shí),所述dpdk功率管理組件可以向所述os功率管理模塊發(fā)送高性能指示或高p狀態(tài)提示。所述高性能指示可以使所述os功率管理模塊將操作頻率按比例提高至最高操作頻率242,或?qū)?zhí)行所述dpdk輪詢線程的所述pe的acpip狀態(tài)提高至最高性能p狀態(tài)。按比例提高至最高性能p狀態(tài)可以允許所述os功率管理模塊快速應(yīng)對(duì)高網(wǎng)絡(luò)流量負(fù)荷,并且因此在處理接收到的分組232時(shí),將執(zhí)行所述dpdk輪詢線程的所述pe從節(jié)能和性能的平衡切換至純基于性能的工作狀態(tài)。

在某些示例中,所述dpdk功率管理組件定期監(jiān)測(cè)所述dpdk輪詢線程睡眠的時(shí)間量。對(duì)于這些示例,在244,所述dpdk功率管理組件可以初始化定期定時(shí)器,所述定期定時(shí)器可以開(kāi)啟定時(shí)器間隔,針對(duì)所述定時(shí)器間隔可以對(duì)所述dpdk輪詢線程的睡眠進(jìn)行監(jiān)測(cè)。在246中,定時(shí)器期滿后,所述dpdk功率管理組件可以確定所述dpdk輪詢線程是否被置于超過(guò)25%輪詢迭代的睡眠中。如上文所提及的,基于‘空閑’計(jì)數(shù)是否小于threshold_1或threshold_2,所述dpdk輪詢線程可能已經(jīng)被多次置于睡眠中。在252,如果發(fā)現(xiàn)所述dpdk輪詢被置于超過(guò)25%的睡眠中,則所述dpdk功率管理組件可以向所述os功率管理模塊發(fā)送性能指示或p狀態(tài)提示。所述性能指示可以致使所述os功率管理模塊令執(zhí)行所述dpdk輪詢線程的所述pe具有降低或減小的操作頻率。換言之,可以將所述pe的acpip狀態(tài)降低至較低性能的p狀態(tài)。

根據(jù)某些示例,在250,如果所述dpdk輪詢線程沒(méi)有睡眠超過(guò)25%輪詢迭代,所述dpdk功率管理組件可以確定所述時(shí)間間隔期間接收到的分組的平均每次迭代分組數(shù)是否超過(guò)預(yù)期平均每次迭代分組數(shù)閾值。在252,當(dāng)?shù)陀谒鲩撝禃r(shí),所述dpdk功率管理組件可以向所述os功率管理模塊發(fā)送性能指示或p狀態(tài)提示。響應(yīng)于超過(guò)25%的睡眠或接收到比預(yù)期更少的分組而使pe降低其p狀態(tài)可以是基于監(jiān)測(cè)到的信息來(lái)緩降性能狀態(tài)以節(jié)能的一種方式,所述信息指示網(wǎng)絡(luò)流量或至少來(lái)自網(wǎng)絡(luò)流量的分組的處理正在減少。

圖3展示了示例第一過(guò)程300。如圖3中所示,所述第一過(guò)程包括過(guò)程300。根據(jù)某些示例,過(guò)程300可以展示系統(tǒng)100的不同元件可以如何實(shí)施如上文圖2中所描述的邏輯流程200的各部分,尤其是那些涉及dpdk功率管理組件(pmc)采取的睡眠、空閑或中斷動(dòng)作的部分。對(duì)于這些示例,圖1中所示系統(tǒng)100的至少一些組件可能與過(guò)程300相關(guān)。然而,示例過(guò)程300不限于使用圖1所示或描述的系統(tǒng)100的組件來(lái)實(shí)現(xiàn)。

在過(guò)程3.1處開(kāi)始(rx分組),可以由nwi/o設(shè)備110接收分組,并將其至少暫時(shí)置于rx隊(duì)列130處。

移動(dòng)至過(guò)程3.2(輪詢和處理),當(dāng)分組被接收在rx隊(duì)列130處時(shí),dpdk輪詢線程140能夠輪詢r(jià)x隊(duì)列130并處理所述分組。

移動(dòng)至過(guò)程3.3(監(jiān)測(cè)接收到的可用分組描述符),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于在dpdk輪詢線程140的多次輪詢迭代期間,監(jiān)測(cè)接收到并保持在rx隊(duì)列130處的可用分組描述符。

移動(dòng)至過(guò)程3.4(對(duì)于>連續(xù)閾值,0個(gè)分組),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于針對(duì)超過(guò)連續(xù)閾值的連續(xù)輪詢迭代次數(shù)(例如,5次輪詢迭代),確定是否已經(jīng)收到0個(gè)分組。

移動(dòng)至過(guò)程3.5(增加空閑計(jì)數(shù)),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于當(dāng)超過(guò)所述連續(xù)閾值時(shí),將空閑計(jì)數(shù)遞增1個(gè)計(jì)數(shù)。

移動(dòng)至過(guò)程3.6a(短期睡眠),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于當(dāng)發(fā)現(xiàn)遞增空閑計(jì)數(shù)小于第一空閑計(jì)數(shù)閾值(例如,threshold_1)時(shí),將dpdk輪詢線程140置于短期(例如,幾微秒)睡眠。然后所述過(guò)程可以結(jié)束。

移動(dòng)至過(guò)程3.6b處的第一備選方案(長(zhǎng)期睡眠),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于當(dāng)發(fā)現(xiàn)遞增空閑計(jì)數(shù)大于所述第一空閑計(jì)數(shù)閾值但小于第二空閑計(jì)數(shù)閾值(例如,threshold_2)時(shí),將dpdk輪詢線程140置于相對(duì)長(zhǎng)睡眠時(shí)間段(例如,幾十微秒)。

移動(dòng)至過(guò)程3.7b(長(zhǎng)睡眠指示),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于向os功率管理模塊(pmm)160發(fā)送長(zhǎng)睡眠指示,以指示dpdk輪詢線程140被置于長(zhǎng)睡眠時(shí)間段睡眠。

移動(dòng)至過(guò)程3.8b(長(zhǎng)期睡眠模式),os功率管理模塊160可以使pe172被置于睡眠模式,所述睡眠模式持續(xù)最長(zhǎng)達(dá)所述長(zhǎng)睡眠時(shí)間段。在某些示例中,所述睡眠模式可以包括acpic1功率狀態(tài)。然后,針對(duì)此第一備選方案,所述過(guò)程可以結(jié)束。

移動(dòng)至過(guò)程3.6c處的第二備選方案(開(kāi)啟單觸發(fā)rx中斷),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于基于所述空閑計(jì)數(shù)超過(guò)所述第二空閑計(jì)數(shù)閾值(例如,threshold_2),向nwi/o設(shè)備110發(fā)送中斷開(kāi)啟提示或消息。

移動(dòng)至過(guò)程3.7c(切換至中斷模式),輪詢模式驅(qū)動(dòng)程序142可以從以輪詢模式與nwi/o設(shè)備110一起工作切換至中斷模式。這種模式切換還可能使dpdk輪詢線程140中止。

移動(dòng)至過(guò)程3.8c(rx分組),網(wǎng)絡(luò)流量105現(xiàn)在可以包括用于由dpdk線程140處理的分組。

移動(dòng)至過(guò)程3.9c(切換至輪詢模式),輪詢模式驅(qū)動(dòng)程序142可以切換回以所述輪詢模式與nwi/o設(shè)備110一起工作,并且然后,針對(duì)此第二備選方案,所述過(guò)程可以結(jié)束。

圖4展示了示例第二過(guò)程400。如圖4中所示,所述第二過(guò)程包括過(guò)程400。與過(guò)程300相似,過(guò)程400可以展示系統(tǒng)100的不同元件可以如何實(shí)施如上文圖2中所描述的邏輯流程200的各部分,尤其是那些涉及監(jiān)測(cè)dpdk輪詢線程的睡眠百分比或用于確定是否降低pe172性能狀態(tài)的平均每次迭代分組數(shù)的部分。對(duì)于這些示例,圖1中所示系統(tǒng)100的至少一些組件可能與過(guò)程400相關(guān)。然而,示例過(guò)程400不限于使用圖1所示或描述的系統(tǒng)100的組件來(lái)實(shí)現(xiàn)。

在過(guò)程4.1處開(kāi)始(初始化定時(shí)器),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于初始化或啟動(dòng)具有定時(shí)器間隔的定時(shí)器。在某些示例中,所述定時(shí)器間隔可以是大約100毫秒(ms)。

移動(dòng)至過(guò)程4.2(監(jiān)測(cè)活動(dòng)以確定睡眠百分比),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于監(jiān)測(cè)dpdk輪詢線程140已經(jīng)被置于睡眠的頻率。

移動(dòng)至過(guò)程4.3(定時(shí)器期滿),所述定時(shí)器在所述定時(shí)器間隔后期滿。

移動(dòng)至過(guò)程4.4a(性能指示(睡眠百分比)),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于確定在所述定時(shí)器間隔期間,dpdk輪詢線程140是否睡眠超過(guò)百分比閾值的時(shí)間百分比。在某些示例中,dpdk功率管理組件150可以在dpdk輪詢線程140睡眠百分比大于或超過(guò)所述百分比閾值(例如,大于25%)時(shí),向os功率管理模塊160發(fā)送性能指示。

移動(dòng)至過(guò)程4.5a(較低性能狀態(tài)),os功率管理模塊160可以使pe172降低其性能狀態(tài)或p狀態(tài)。然后所述過(guò)程可以結(jié)束。

移動(dòng)至過(guò)程4.4b處的第一備選方案(性能指示(分組平均)),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于確定平均每次迭代分組數(shù)是否大于或小于分組平均閾值。在某些示例中,dpdk功率管理組件150可以在所述平均每次迭代分組數(shù)低于所述分組平均閾值時(shí),向os功率管理模塊160發(fā)送性能指示。

移動(dòng)至過(guò)程4.5b(較低性能狀態(tài)),os功率管理模塊160可以使pe172降低其性能狀態(tài)或p狀態(tài)。然后,針對(duì)此第一備選方案,所述過(guò)程可以結(jié)束。

圖5展示了示例第三過(guò)程500。如圖5中所示,所述第三過(guò)程包括過(guò)程500。根據(jù)某些示例,過(guò)程500可以展示系統(tǒng)100的不同元件可以如何實(shí)施如上文圖2中所描述的邏輯流程200的各部分,尤其是那些涉及監(jiān)測(cè)rx隊(duì)列充滿度以確定是否或何時(shí)提高pe性能的部分。對(duì)于這些示例,圖1中所示系統(tǒng)100的至少一些組件可能與過(guò)程500相關(guān)。然而,示例過(guò)程500不限于使用圖1所示或描述的系統(tǒng)100的組件來(lái)實(shí)現(xiàn)。

在過(guò)程5.1處開(kāi)始(rx分組),可以由nwi/o設(shè)備110接收分組,并將其至少暫時(shí)置于rx隊(duì)列130處。

移動(dòng)至過(guò)程5.2(輪詢和處理),當(dāng)分組被接收在rx隊(duì)列130處時(shí),dpdk輪詢線程140能夠輪詢r(jià)x隊(duì)列130并所述分組。

移動(dòng)至過(guò)程5.3(監(jiān)測(cè)接收到的可用分組描述符),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于在dpdk輪詢線程140的多次輪詢迭代期間,監(jiān)測(cè)接收到并保持在rx隊(duì)列130處的可用分組描述符。

移動(dòng)至過(guò)程5.4(確定rx隊(duì)列充滿度),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于基于每次輪詢迭代后保持在rx隊(duì)列130處的可用分組描述符,確定rx隊(duì)列130的充滿度。

移動(dòng)至過(guò)程5.5(增加趨勢(shì)計(jì)數(shù)),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于基于如上文對(duì)于圖2所示邏輯流程200所描述的、所確定的rx隊(duì)列130的充滿程度,將趨勢(shì)計(jì)數(shù)增加單個(gè)計(jì)數(shù)或較大計(jì)數(shù)。

移動(dòng)至過(guò)程5.6a(性能指示),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于基于所述增加的趨勢(shì)計(jì)數(shù)超過(guò)趨勢(shì)計(jì)數(shù)閾值,向os功率管理模塊160發(fā)送性能指示。

移動(dòng)至過(guò)程5.7a(將操作頻率提高一級(jí)),os功率管理模塊160可以提高pe172的性能狀態(tài)或p狀態(tài)。在某些示例中,可以將pe172的性能狀態(tài)提高一級(jí)或單個(gè)p狀態(tài),這將在執(zhí)行dpdk輪詢線程140時(shí),使pe172的操作頻率提高。然后所述過(guò)程可以結(jié)束。

移動(dòng)至過(guò)程5.6b處的第一備選方案(高性能指示),dpdk功率管理組件150可以包括邏輯和/或特征,所述邏輯和/或特征用于響應(yīng)于rx隊(duì)列130已被確定為幾乎全滿時(shí)(例如,大于75%)的連續(xù)輪詢迭代次數(shù),向os功率管理模塊160發(fā)送高性能指示。

移動(dòng)至過(guò)程5.7b(將操作頻率提高至最大),os功率管理模塊160可以將pe172的性能狀態(tài)或p狀態(tài)提高至最高或最大p狀態(tài)。在某些示例中,將pe172提高至最高或最大p狀態(tài)致使在執(zhí)行dpdk輪詢線程140時(shí),pe172被提高至其最高或最大操作頻率。然后,針對(duì)此第一備選方案,所述過(guò)程可以結(jié)束。

圖6展示了裝置600的示例框圖。盡管圖6中所示的裝置600在某個(gè)拓?fù)渲芯哂杏邢迶?shù)量的元件,但是可以認(rèn)識(shí)到裝置600可以按給定的實(shí)現(xiàn)方式所期望的在替換拓?fù)渲邪ɑ蚨嗷蛏俚脑?/p>

根據(jù)某些示例,裝置600可以由電路620支持,所述電路保持在可以被部署在數(shù)據(jù)中心的計(jì)算平臺(tái)或網(wǎng)絡(luò)設(shè)備處。電路620可以被布置為執(zhí)行一個(gè)或多個(gè)軟件或固件實(shí)現(xiàn)的模塊或部件622-a。值得注意的是本文中所使用的“a”、“b”和“c”以及類(lèi)似標(biāo)號(hào)意欲指代任意正整數(shù)的變量。因此,例如,如果一種實(shí)現(xiàn)方式將值設(shè)置為a=6,則組件622-a的軟件或固件的完整集合可以包括組件622-1、622-2、622-3、622-4、622-5或622-6。所呈現(xiàn)的示例并不局限于本上下文中,并且貫穿全文中所使用的不同變量可以代表相同或不同整數(shù)值。此外,這些“組件”可以是存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的軟件/固件,并且雖然所述組件在圖6中被呈現(xiàn)為離散框,這并不限制這些組件要存儲(chǔ)在不同的計(jì)算機(jī)可讀介質(zhì)組件中(例如,單獨(dú)的存儲(chǔ)器等)。

根據(jù)某些示例,電路620可以包括處理器、處理器電路系統(tǒng)或處理器電路。電路620可以是各種可商購(gòu)的處理器中的任一種,包括但不限于處理器;以及英特爾core(2)corei3、corei5、corei7、xeon或xeon處理器。根據(jù)某些示例,電路620還可以包括專(zhuān)用集成電路(asic),并且至少一些部件622-a可以實(shí)現(xiàn)為asic的硬件元件。

在某些示例中,裝置600可以包括隊(duì)列組件622-1。隊(duì)列組件622-1可以由電路620執(zhí)行,用于在dpdk輪詢線程的多次輪詢迭代期間,監(jiān)測(cè)接收到的保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。所述接收到的可用分組描述符可以包括在接收到的可用分組描述符610中,并且可以由隊(duì)列組件622-1保持在rx隊(duì)列信息623-a中(例如,在數(shù)據(jù)結(jié)構(gòu)(例如查找表(lut))中)。隊(duì)列組件622-1可能能夠基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定所述接收隊(duì)列的充滿程度。還可以將所述充滿程度保持在rx隊(duì)列信息623-a中。

在某些示例中,隊(duì)列組件622-1還可以基于包含在rx隊(duì)列信息623-a中的信息,確定在所述接收隊(duì)列處接收到的用于每次輪詢迭代的分組數(shù)量。

根據(jù)某些示例,裝置600還可以包括遞增組件622-2。遞增組件622-2可以由電路620執(zhí)行,用于基于每次輪詢迭代后所述接收隊(duì)列的充滿程度增加趨勢(shì)計(jì)數(shù)。對(duì)于這些示例,所述趨勢(shì)計(jì)數(shù)可以由遞增組件622-2保持在趨勢(shì)計(jì)數(shù)624-b中(例如,在lut中)。遞增組件622-2還可以在隊(duì)列組件622-1已經(jīng)確定針對(duì)超過(guò)連續(xù)閾值的連續(xù)輪詢迭代次數(shù)接收到0個(gè)分組時(shí),將空閑計(jì)數(shù)增加至少1個(gè)計(jì)數(shù)。所述空閑計(jì)數(shù)可以由遞增組件622-2保持在空閑計(jì)數(shù)625-c中(例如,在lut中)。

在某些示例中,裝置600還可以包括性能組件622-3。性能組件622-3可以由電路620執(zhí)行,用于基于所述趨勢(shì)計(jì)數(shù)是否超過(guò)趨勢(shì)計(jì)數(shù)閾值,向os功率管理模塊發(fā)送性能指示640。性能指示640能夠使所述os功率管理模塊提高執(zhí)行所述dpdk輪詢線程的處理元件的性能狀態(tài)。對(duì)于這些示例,所述趨勢(shì)計(jì)數(shù)閾值可以由性能組件622-3保持在趨勢(shì)計(jì)數(shù)閾值626-d中(例如,在lut中)。

根據(jù)某些示例,性能組件622-3可以響應(yīng)于所述接收隊(duì)列由隊(duì)列組件622-1被確定為幾乎全滿時(shí)連續(xù)輪詢迭代次數(shù)超過(guò)連續(xù)閾值,向所述os功率管理模塊發(fā)送高性能指示645。高性能指示645能夠使所述os功率管理模塊通過(guò)使所述處理元件的操作頻率提高至最高操作頻率,將所述處理元件的性能狀態(tài)提高至最高性能狀態(tài)。對(duì)于這些示例,所述連續(xù)閾值可以由性能組件622-3保持在連續(xù)閾值627-e中(例如,在lut中)。

在某些示例中,裝置600還可以包括睡眠組件622-4。睡眠組件622-4可以由電路620執(zhí)行,用于基于由遞增組件增加的并保持在空閑計(jì)數(shù)625-c中的所述空閑計(jì)數(shù)超過(guò)還是小于由睡眠組件622-4保持在空閑計(jì)數(shù)閾值630-h中(例如,在lut中)的第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠第一或第二時(shí)間段之一。對(duì)于這些示例,所述第二時(shí)間段可能比所述第一時(shí)間段更長(zhǎng)。睡眠615可以包括使所述dpdk輪詢線程睡眠的指示或命令。

根據(jù)某些示例,睡眠組件622-4可以基于所述空閑計(jì)數(shù)超過(guò)所述第一空閑計(jì)數(shù)閾值,使dpdk輪詢線程睡眠第二時(shí)間段,并且用于向所述os功率管理模塊發(fā)送長(zhǎng)睡眠指示650。長(zhǎng)睡眠指示650能夠使所述os功率管理模塊令執(zhí)行所述dpdk輪詢線程的處理元件置于睡眠模式,所述睡眠模式持續(xù)最長(zhǎng)達(dá)所述第二時(shí)間段。

根據(jù)某些示例,裝置600還可以包括中斷控制組件622-5。中斷控制組件622-4可以由電路620執(zhí)行,用于基于由遞增組件622-2增加的所述空閑計(jì)數(shù)是否超過(guò)由睡眠組件622-5用空閑計(jì)數(shù)閾值630-h保持的第二空閑計(jì)數(shù)閾值,向所述nwi/o設(shè)備發(fā)送消息以啟用單觸發(fā)rx中斷。對(duì)于這些示例,可以在單觸發(fā)rx中斷635中包括消息。

根據(jù)某些示例,裝置600還可以包括定時(shí)器組件622-6。定時(shí)器組件622-6可以由電路620執(zhí)行,用于啟動(dòng)具有定時(shí)器間隔的定時(shí)器,所述定時(shí)器間隔由定時(shí)器組件622-6保持在定時(shí)器間隔632-j中(例如,在lut中)。

在某些示例中,睡眠組件622-4可以響應(yīng)于由定時(shí)器組件622-6啟動(dòng)的定時(shí)器期滿,確定所述dpkk輪詢線程在所述定時(shí)器間隔期間睡眠時(shí)的迭代百分比。所述百分比可以由睡眠組件622-4用睡眠信息631-i保持。對(duì)于這些示例,性能組件622-3可以基于所述百分比是否大于百分比閾值,向所述os功率管理模塊發(fā)送性能指示640。性能指示640能夠使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括減小所述處理元件的操作頻率或減小所述處理元件的工作電壓。用于此確定的所述百分比閾值可以由性能組件622-3用百分比閾值628-f保持(例如,在lut中)。

根據(jù)某些示例,隊(duì)列組件622-1可以響應(yīng)于由定時(shí)器組件622-6啟動(dòng)的定時(shí)器期滿,確定所述時(shí)間隔期間用于在所述接收隊(duì)列處接收到的分組的平均每次迭代分組數(shù)。由隊(duì)列組件622-1確定的所述平均每次迭代分組數(shù)可以用rx隊(duì)列信息623-a保持。對(duì)于這些示例,性能組件622-3可以基于所述平均每次迭代分組數(shù)是否大于分組平均閾值,向所述os功率管理模塊發(fā)送性能指示640。性能指示640可能能夠使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括減小所述處理元件的操作頻率。所述分組平均閾值可以由性能組件622-3用分組閾值629-g保持(例如,在lut中)。

裝置600的各種組件和實(shí)現(xiàn)設(shè)備600的裝置、節(jié)點(diǎn)或邏輯服務(wù)器可以通過(guò)各種類(lèi)型的通信媒介通信地相互耦合以協(xié)調(diào)操作。這種協(xié)調(diào)可以涉及信息的單向或雙向交換。例如,組件可以以在通信介質(zhì)上傳達(dá)的信號(hào)的形式來(lái)傳達(dá)信息。該信息可以被實(shí)現(xiàn)為分配給各信號(hào)線的信號(hào)。在這種分配中,每個(gè)消息都是信號(hào)。然而,另外的實(shí)施例可以替代地采用數(shù)據(jù)消息。這樣的數(shù)據(jù)消息可以跨各種連接發(fā)送。示例連接包括并行接口、串行接口、以及總線接口。

在此包括的是代表用于執(zhí)行所披露的架構(gòu)的新穎方面的示例方法的邏輯流程集。然而,出于簡(jiǎn)化說(shuō)明的目的,在此所示的一種或多種方法被示為和描述為一系列動(dòng)作,本領(lǐng)域技術(shù)人員將理解和意識(shí)到這些方法不局限于動(dòng)作的順序。某些動(dòng)作可以(根據(jù)自己)與在此所示和描述的其他動(dòng)作以不同的順序和/或同時(shí)發(fā)生。例如,本領(lǐng)域技術(shù)人員將理解和意識(shí)到,可以將方法交替地表示為一系列相互聯(lián)系的狀態(tài)或事件,如采用狀態(tài)圖。而且,并不是方法中所展示的所有動(dòng)作都會(huì)是新穎實(shí)現(xiàn)方式所需要的。

可以采用軟件、固件、和/或硬件實(shí)現(xiàn)邏輯流程。在軟件和固件實(shí)施例中,可以由存儲(chǔ)在至少一個(gè)非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)或機(jī)器可讀介質(zhì)(如光學(xué)、磁性或半導(dǎo)體存儲(chǔ)設(shè)備)上的計(jì)算機(jī)可執(zhí)行指令實(shí)現(xiàn)邏輯流程。實(shí)施例并不局限于本上下文中。

圖7展示了示例第二邏輯流程。如圖7中所示,所述示例第二邏輯流程包括邏輯流程700。邏輯流程700可以代表由在此所描述的一種或多種邏輯、特征、或設(shè)備(如裝置600)執(zhí)行的操作的部分或所有。更具體地,邏輯流程700可以由至少隊(duì)列組件622-1、遞增組件622-2或性能組件622-3來(lái)實(shí)現(xiàn)。

根據(jù)某些示例,在框702處的邏輯流程700可以在dpdk輪詢線程的多次輪詢迭代期間,監(jiān)測(cè)接收到的保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。對(duì)于這些示例,隊(duì)列組件622-1可以監(jiān)測(cè)所述接收隊(duì)列。

在某些示例中,在框704處的邏輯流程700可以基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定所述接收隊(duì)列的充滿程度。對(duì)于這些示例,隊(duì)列組件622-1可以確定所述充滿程度。

根據(jù)某些示例,在框706處的邏輯流程700可以基于所述接收隊(duì)列的充滿程度增加趨勢(shì)計(jì)數(shù)。對(duì)于這些示例,遞增組件622-2可以增加所述趨勢(shì)計(jì)數(shù)。

在某些示例中,在框708處的邏輯流程700可以基于所述趨勢(shì)計(jì)數(shù)是否超過(guò)趨勢(shì)計(jì)數(shù)閾值,向os功率管理模塊發(fā)送性能指示,所述性能指示能夠使所述os功率管理模塊提高執(zhí)行所述dpdk輪詢線程的處理元件的性能狀態(tài)。對(duì)于這些示例,性能組件622-3可以發(fā)送所述性能指示。

圖8展示了示例第三邏輯流程。如圖8中所示,所述示例第三邏輯流程包括邏輯流程800。邏輯流程800可以代表由在此所描述的一種或多種邏輯、特征、或設(shè)備(如裝置600)執(zhí)行的操作的部分或所有。更具體地,邏輯流程800可以由至少隊(duì)列組件622-1、遞增組件622-2或睡眠組件622-4來(lái)實(shí)現(xiàn)。

根據(jù)某些示例,在框802處的邏輯流程800可以在dpdk輪詢線程的多次輪詢迭代期間,監(jiān)測(cè)接收到并保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。對(duì)于這些示例,隊(duì)列組件622-1可以監(jiān)測(cè)所述接收隊(duì)列。

在某些示例中,在框804處的邏輯流程800可以基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定在所述接收隊(duì)列處接收到的用于每次輪詢迭代的分組數(shù)量。對(duì)于這些示例,隊(duì)列組件622-1可以確定在所述接收隊(duì)列處接收到的分組數(shù)量。

根據(jù)某些示例,在框806處的邏輯流程800可以在針對(duì)超過(guò)連續(xù)閾值的連續(xù)輪詢迭代次數(shù)接收到的分組數(shù)量為0時(shí),將空閑計(jì)數(shù)遞增1個(gè)計(jì)數(shù)。對(duì)于這些示例,遞增組件622-2可以增加所述趨勢(shì)計(jì)數(shù)。

在某些示例中,在框808處的邏輯流程800可以基于所述空閑計(jì)數(shù)超過(guò)還是小于第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠第一或第二時(shí)間段之一,所述第二時(shí)間段比所述第一時(shí)間段長(zhǎng)。對(duì)于這些示例,睡眠組件622-4可以使所述dpdk輪詢線程睡眠。

圖9展示了示例存儲(chǔ)介質(zhì)900。如圖9中所示,第一存儲(chǔ)介質(zhì)包括存儲(chǔ)介質(zhì)900。存儲(chǔ)介質(zhì)900可以包括制品。在某些示例中,存儲(chǔ)介質(zhì)900可以包括任何非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)或機(jī)器可讀介質(zhì),如光學(xué)、磁性或半導(dǎo)體存儲(chǔ)裝置。存儲(chǔ)介質(zhì)900可存儲(chǔ)各種類(lèi)型的計(jì)算機(jī)可執(zhí)行指令,如用于實(shí)施邏輯流程700或邏輯流程800的指令。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或機(jī)器可讀存儲(chǔ)介質(zhì)的示例可以包括能夠存儲(chǔ)電子數(shù)據(jù)的任何有形介質(zhì),包括易失性存儲(chǔ)器或非易失性存儲(chǔ)器、可移除或非可移除存儲(chǔ)器、可擦除或非可擦除存儲(chǔ)器、可寫(xiě)入或可重寫(xiě)存儲(chǔ)器等。計(jì)算機(jī)可執(zhí)行指令的示例可以包括任何適當(dāng)類(lèi)型的代碼,如源代碼、編譯代碼、翻譯碼、可執(zhí)行代碼、靜態(tài)代碼、動(dòng)態(tài)代碼、面向?qū)ο蟠a、可視代碼等。示例并不局限于本上下文中。

圖10展示了示例計(jì)算平臺(tái)1000。在某些示例中,如圖10中所示,計(jì)算平臺(tái)1000可以包括處理組件1040、其他平臺(tái)組件1050或通信接口1060。根據(jù)某些示例,計(jì)算平臺(tái)1000可以容宿功率/性能管理元件(例如,dpdk功率管理組件和os功率管理模塊),所述功率/性能管理元件為具有dpdk輪詢線程的系統(tǒng)(例如圖1中的系統(tǒng)100)提供功率/性能管理功能。計(jì)算平臺(tái)1000可以是單個(gè)物理網(wǎng)絡(luò)設(shè)備,也可以是包括分離物理組件或元件組合的合成邏輯網(wǎng)絡(luò)設(shè)備,所述物理組件或元件由部署在數(shù)據(jù)中心的可配置計(jì)算資源共享池組成。

根據(jù)某些示例,處理組件1040可以執(zhí)行裝置600和/或存儲(chǔ)介質(zhì)900的處理操作或邏輯。處理組件1040可以包括各種硬件元件、軟件元件、或兩者的組合。硬件元件的示例可以包括:設(shè)備、邏輯設(shè)備、組件、處理器、微處理器、電路、處理器電路、電路元件(例如,晶體管、電阻器、電容器、電感器等)、集成電路、專(zhuān)用集成電路(asic)、可編程邏輯器件(pld)、數(shù)字信號(hào)處理器(dsp)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、存儲(chǔ)單元、邏輯門(mén)、寄存器、半導(dǎo)體器件、芯片、微芯片、芯片組等。軟件元件的示例可以包括:軟件組件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、設(shè)備驅(qū)動(dòng)程序、系統(tǒng)程序、軟件開(kāi)發(fā)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、過(guò)程、軟件接口、應(yīng)用程序接口(api)、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)、或其任意組合。確定是否是使用硬件元件和/或軟件元件來(lái)實(shí)現(xiàn)示例可以根據(jù)多個(gè)因數(shù)而變化,如針對(duì)給定的示例所預(yù)期的,如預(yù)期的計(jì)算速率、功率電平、耐熱性、處理周期預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲(chǔ)器資源、數(shù)據(jù)總線速度以及其他設(shè)計(jì)或性能約束。

在某些示例中,其他平臺(tái)組件1050可以包括通用計(jì)算元件,例如,一個(gè)或多個(gè)處理器、多核處理器、協(xié)處理器、存儲(chǔ)單元、芯片組、控制器、外圍設(shè)備、接口、振蕩器、定時(shí)設(shè)備、視頻卡、音頻卡,多媒體輸入/輸出(i/o)部件(例如,數(shù)字顯示器)、功率等。存儲(chǔ)器單元的示例可以包括但不限于各種類(lèi)型的一個(gè)或多個(gè)更高速存儲(chǔ)器單元形式的計(jì)算機(jī)可讀和機(jī)器可讀存儲(chǔ)介質(zhì),例如,只讀存儲(chǔ)器(rom)、隨機(jī)存取存儲(chǔ)器(ram)、動(dòng)態(tài)ram(dram)、雙倍數(shù)據(jù)速率dram(ddram)、同步dram(sdram)、靜態(tài)ram(sram)、可編程rom(prom)、可擦除可編程rom(eprom)、電可擦除可編程rom(eeprom)、快閃存儲(chǔ)器、聚合體存儲(chǔ)器(如鐵電聚合物存儲(chǔ)器)、雙向存儲(chǔ)器、相變或鐵電存儲(chǔ)器、硅氧氮氧硅(sonos)存儲(chǔ)器、磁性或光學(xué)卡、設(shè)備陣列(如獨(dú)立磁盤(pán)冗余陣列(raid))驅(qū)動(dòng)、固態(tài)存儲(chǔ)器驅(qū)動(dòng)(例如,usb存儲(chǔ)器)、固態(tài)驅(qū)動(dòng)(ssd)和適用于存儲(chǔ)信息的任何其他類(lèi)型的存儲(chǔ)介質(zhì)。

在某些示例中,通信接口1060可以包括用于支持通信接口的邏輯和/或特征。對(duì)于這些示例,通信接口1060可以包括一個(gè)或多個(gè)通信接口,所述一個(gè)或多個(gè)通信接口根據(jù)各通信協(xié)議或標(biāo)準(zhǔn)運(yùn)行從而通過(guò)直接或網(wǎng)絡(luò)通信連接通信。通過(guò)使用一個(gè)或多個(gè)工業(yè)標(biāo)準(zhǔn)(包括子孫和變體)中所描述的通信協(xié)議或標(biāo)準(zhǔn)而發(fā)生,如與pci規(guī)范相關(guān)聯(lián)的標(biāo)準(zhǔn),可以產(chǎn)生直接通信。通過(guò)使用如在ieee所頒布的一條或多條以太網(wǎng)標(biāo)準(zhǔn)中所描述的那些通信協(xié)議或標(biāo)準(zhǔn),可以產(chǎn)生網(wǎng)絡(luò)通信。例如,一種這樣的以太網(wǎng)標(biāo)準(zhǔn)可以包括ieee802.3。網(wǎng)絡(luò)通信還可以根據(jù)一種或多種openflow規(guī)范(如openflow硬件抽象api規(guī)范)而產(chǎn)生。網(wǎng)絡(luò)通信還可以根據(jù)無(wú)限寬帶技術(shù)架構(gòu)規(guī)范或tcp/ip協(xié)議而產(chǎn)生。

如上所述,可以在單個(gè)網(wǎng)絡(luò)設(shè)備或由分離物理組件或元件組成的邏輯網(wǎng)絡(luò)設(shè)備中實(shí)現(xiàn)計(jì)算平臺(tái)1000,所述物理組件或元件由可配置計(jì)算資源共享池組成。因此,按照物理或邏輯網(wǎng)絡(luò)設(shè)備的適當(dāng)需求,本文所描述的計(jì)算平臺(tái)1000的功能和/或特定配置可包含在計(jì)算平臺(tái)1000的各種實(shí)施例中或者在其中省略。

計(jì)算平臺(tái)1000的組件和特征可以使用分立電路、專(zhuān)用集成電路(asic)、邏輯門(mén)、和/或單芯片架構(gòu)的任意組合來(lái)實(shí)現(xiàn)。進(jìn)一步地,計(jì)算平臺(tái)1000的特征可以使用微控制器、可編程邏輯陣列、和/或微處理器、或者它們的任意組合來(lái)實(shí)現(xiàn)(如果合適的話)。應(yīng)注意,硬件、固件和/或軟件元件在此可以被共同地或單獨(dú)地稱(chēng)為“邏輯”或“電路”。

應(yīng)當(dāng)理解的是,圖10的框圖中所示的示例性計(jì)算平臺(tái)1000可以代表許多潛在實(shí)現(xiàn)方式的一個(gè)功能描述性示例。相應(yīng)地,對(duì)附圖中所描繪的框功能的劃分、省略或包括并不意味著在實(shí)施例中將必須劃分、省略、或包括用于實(shí)現(xiàn)這些功能的硬件部件、電路、軟件和/或元件。

可以由至少一個(gè)機(jī)器可讀介質(zhì)上所存儲(chǔ)的表屬性指令實(shí)現(xiàn)至少一個(gè)示例的一個(gè)或多個(gè)方面,所述指令代表處理器內(nèi)的各種邏輯,當(dāng)被機(jī)器、計(jì)算設(shè)備或系統(tǒng)讀取時(shí)所述指令致使所述機(jī)器、計(jì)算設(shè)備或系統(tǒng)制作用于實(shí)現(xiàn)在此所描述的技術(shù)的邏輯。此類(lèi)表示(稱(chēng)為“ip核”)可以被存儲(chǔ)在有形的機(jī)器可讀介質(zhì)上并提供給各顧客或制造設(shè)施以加載至實(shí)際制作所述邏輯或處理器的制作機(jī)器中。

可以使用硬件元件、軟件元件、或兩者的組合來(lái)實(shí)現(xiàn)各個(gè)示例。在某些示例中,硬件元件可以包括:設(shè)備、組件、處理器、微處理器、電路、電路元件(例如,晶體管、電阻器、電容器、電感器等)、集成電路、專(zhuān)用集成電路(asic)、可編程邏輯器件(pld)、數(shù)字信號(hào)處理器(dsp)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、存儲(chǔ)單元、邏輯門(mén)、寄存器、半導(dǎo)體器件、芯片、微芯片、芯片組等。在某些示例中,軟件元件可包括軟件組件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、系統(tǒng)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、規(guī)程、軟件接口、應(yīng)用程序接口(api)、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)或其任何組合。確定是否使用硬件元件和/或軟件元件來(lái)實(shí)現(xiàn)示例可以根據(jù)多個(gè)因數(shù)而變化,如針對(duì)給定的實(shí)現(xiàn)方式所預(yù)期的,如預(yù)期的計(jì)算速率、功率電平、耐熱性、處理周期預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲(chǔ)器資源、數(shù)據(jù)總線速度以及其他設(shè)計(jì)或性能約束。

某些示例可以包括制品或者至少一個(gè)計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以包括用于存儲(chǔ)邏輯的非瞬態(tài)存儲(chǔ)介質(zhì)。在某些示例中,非暫時(shí)性存儲(chǔ)介質(zhì)可包括能夠存儲(chǔ)電子數(shù)據(jù)的一個(gè)或多個(gè)類(lèi)型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其包括易失性存儲(chǔ)器或非易失性存儲(chǔ)器、可移動(dòng)或不可移動(dòng)存儲(chǔ)器、可擦除或不可擦除存儲(chǔ)器、可寫(xiě)或可重寫(xiě)存儲(chǔ)器等。在某些示例中,所述邏輯可以包括各種軟件元件,如軟件組件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、系統(tǒng)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、過(guò)程、軟件接口、api、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)、或其任意組合。

根據(jù)某些示例,計(jì)算機(jī)可讀介質(zhì)可以包括用于存儲(chǔ)或保持指令的非瞬態(tài)介質(zhì),所述指令當(dāng)被機(jī)器、計(jì)算設(shè)備或系統(tǒng)執(zhí)行時(shí)致使所述機(jī)器、計(jì)算設(shè)備或系統(tǒng)執(zhí)行根據(jù)所描述的示例的方法和/或操作。所述指令可以包括任何適當(dāng)類(lèi)型的代碼,如源代碼、編譯代碼、翻譯碼、可執(zhí)行代碼、靜態(tài)代碼、動(dòng)態(tài)代碼等??梢愿鶕?jù)預(yù)先定義的計(jì)算機(jī)語(yǔ)言、形式或語(yǔ)法實(shí)現(xiàn)所述指令,用于指導(dǎo)機(jī)器、計(jì)算設(shè)備或系統(tǒng)執(zhí)行某種功能。可以使用任何適當(dāng)?shù)母呒?jí)、低級(jí)、面向?qū)ο?、可視、編譯和/或翻譯編程語(yǔ)言實(shí)現(xiàn)所述指令。

一些示例可使用表述“在一個(gè)示例中”和“一個(gè)示例”及其派生詞來(lái)描述。這些術(shù)語(yǔ)意味著與示例相聯(lián)系地描述的具體特征、結(jié)構(gòu)或者特性被包含在至少一個(gè)示例中。短語(yǔ)“在一個(gè)示例中”在本說(shuō)明書(shū)中各地方的出現(xiàn)不一定全都引用相同的示例。

一些示例可以使用表述“耦接”以及“連接”及其派生詞來(lái)描述。這些術(shù)語(yǔ)并不必旨在作為彼此的同義詞。例如,使用術(shù)語(yǔ)“連接”和/或“耦接”描述可以表明兩個(gè)或更多元件以直接物理的或電氣的方式與彼此接觸。然而,術(shù)語(yǔ)“耦合”還可意指兩個(gè)或以上元件彼此不直接接觸,但仍彼此共同協(xié)作或交互。

以下示例屬于在此所披露的技術(shù)的附加示例。

示例1。示例裝置可以包括電路,所述電路在主機(jī)計(jì)算平臺(tái)處;以及隊(duì)列組件,所述隊(duì)列組件由所述電路執(zhí)行,用于對(duì)于dpdk輪詢線程的多次輪詢迭代監(jiān)測(cè)接收到的保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。所述隊(duì)列組件可以基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符來(lái)確定所述接收隊(duì)列的充滿程度。所述裝置還可以包括遞增組件,所述遞增組件由所述電路執(zhí)行,用于基于每次輪詢迭代后所述接收隊(duì)列的充滿程度來(lái)增加趨勢(shì)計(jì)數(shù)。所述裝置還可以包括性能組件,所述性能組件可以由電路執(zhí)行,用于基于所述趨勢(shì)計(jì)數(shù)是否超過(guò)趨勢(shì)計(jì)數(shù)閾值而向os功率管理模塊發(fā)送性能指示。所述性能指示能夠使所述os功率管理模塊提高執(zhí)行所述dpdk輪詢線程的處理元件的性能狀態(tài)。

示例2。如示例1所述的裝置,所述os功率管理模塊可以提高所述處理元件的性能狀態(tài)包括所述os功率管理模塊能夠使所述處理元件的操作頻率提高。

示例3。如示例1所述的裝置,由所述隊(duì)列組件確定的所述充滿程度包括以下一者:幾乎空、半滿或幾乎全滿。

示例4。如示例3所述的裝置,當(dāng)所述充滿程度由所述隊(duì)列組件確定為幾乎空時(shí),所述遞增組件可以將所述趨勢(shì)計(jì)數(shù)增加了較小數(shù)字,或者當(dāng)所述充滿程度由所述隊(duì)列組件確定為半滿時(shí),所述遞增組件可以將所述趨勢(shì)計(jì)數(shù)增加了大數(shù)字,所述大數(shù)字是所述較小數(shù)字的約100倍。

示例5。示例3所述的裝置還可以包括所述性能組件,所述性能組件響應(yīng)于所述接收隊(duì)列由所述隊(duì)列組件確定為幾乎全滿時(shí)的連續(xù)輪詢迭代次數(shù)超過(guò)連續(xù)閾值,向所述os功率管理模塊發(fā)送高性能指示。所述高性能指示能夠使所述os功率管理模塊通過(guò)使所述處理元件的操作頻率提高至最高操作頻率,將所述處理元件的性能狀態(tài)提高至最高性能狀態(tài)。

示例5-1。如示例3所述的裝置,幾乎空可以是25%至50%滿,半滿可以是51%至75%滿,并且?guī)缀跞珴M可以是超過(guò)75%滿。

示例6。如示例1所述的裝置,所述os功率管理模塊能夠根據(jù)一種或多種工業(yè)標(biāo)準(zhǔn)提高所述處理元件的性能狀態(tài),所述工業(yè)標(biāo)準(zhǔn)包括acpi規(guī)范修訂版5.0。對(duì)于這些示例,所述os功率管理模塊能夠提高所述處理元件的性能狀態(tài)以進(jìn)入pn-1性能狀態(tài),其中,“n”表示導(dǎo)致所述處理元件的最低操作頻率的最低性能狀態(tài)。

示例7。示例1所述的裝置還可以包括所述隊(duì)列組件,所述隊(duì)列組件用于基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定在所述接收隊(duì)列處接收到的用于每次輪詢迭代的分組數(shù)量。所述遞增組件可以在當(dāng)針對(duì)超過(guò)連續(xù)閾值的連續(xù)輪詢迭代次數(shù)接收到的分組數(shù)量為0時(shí),將空閑計(jì)數(shù)遞增1個(gè)計(jì)數(shù)。所述裝置還可以包括睡眠組件,所述睡眠組件由所述電路執(zhí)行,用于基于所述空閑計(jì)數(shù)超過(guò)還是小于第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠第一或第二時(shí)間段之一。對(duì)于這些示例,所述第二時(shí)間段可能比所述第一時(shí)間段更長(zhǎng)。

示例8。示例7所述的裝置還可以包括中斷控制組件,所述中斷控制組件由所述電路執(zhí)行,用于基于所述空閑計(jì)數(shù)是否超過(guò)第二空閑計(jì)數(shù)閾值,向所述nwi/o設(shè)備發(fā)送中斷開(kāi)啟消息以啟用單觸發(fā)rx中斷。

示例9。如示例7所述的裝置,所述睡眠組件可以基于所述空閑計(jì)數(shù)超過(guò)所述第一空閑計(jì)數(shù)閾值,使dpdk輪詢線程睡眠達(dá)第二時(shí)間段,并且用于向所述os功率管理模塊發(fā)送長(zhǎng)睡眠指示。所述長(zhǎng)睡眠指示能夠使得所述os功率管理模塊使執(zhí)行所述dpdk輪詢線程的處理元件置于睡眠模式達(dá)最長(zhǎng)達(dá)所述第二時(shí)間段。

示例10。示例9所述的設(shè)備還可以包括定時(shí)器組件,所述定時(shí)器組件由所述電路執(zhí)行,用于啟動(dòng)具有定時(shí)器間隔的定時(shí)器。所述睡眠組件可以響應(yīng)于所述定時(shí)器期滿,確定所述dpdk輪詢線程在所述定時(shí)器間隔期間睡眠時(shí)的迭代百分比。所述性能組件可以基于所述百分比是否大于百分比閾值,向所述os功率管理模塊發(fā)送性能指示。所述性能指示可能能夠使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括:減小所述處理元件的操作頻率或減小所述處理元件的工作電壓。

示例11。示例9所述的裝置還可以包括定時(shí)器組件,所述定時(shí)器組件由所述電路執(zhí)行,用于啟動(dòng)具有定時(shí)器間隔的定時(shí)器。所述隊(duì)列組件可以響應(yīng)于所述定時(shí)器期滿,確定所述定時(shí)器間隔期間用于在所述接收隊(duì)列處接收到的分組的平均每次迭代分組數(shù)。所述性能組件可以基于所述平均每次迭代分組數(shù)是否小于分組平均閾值,向所述os功率管理模塊發(fā)送性能指示。所述性能指示能夠使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括:減小所述處理元件的操作頻率。

示例12。如示例9所述的裝置,所述os功率管理模塊能夠根據(jù)一種或多種工業(yè)標(biāo)準(zhǔn)將所述處理元件置于睡眠模式,所述工業(yè)標(biāo)準(zhǔn)包括acpi規(guī)范修訂版5.0。對(duì)于這些示例,所述os功率管理模塊可以使所述處理元件進(jìn)入至少c1處理器功率狀態(tài),以響應(yīng)于所述睡眠指示將所述處理元件置于睡眠模式。

示例13。如示例7所述的裝置,所述連續(xù)閾值可以是5次迭代,并且大約每1微秒發(fā)生一次輪詢迭代。

示例14。如示例13所述的裝置,所述睡眠指示指示所述空閑計(jì)數(shù)小于所述第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠達(dá)第一時(shí)間段。對(duì)于這些示例,所述第一時(shí)間段持續(xù)大約5次輪詢迭代。

示例15。如示例13所述的裝置,所述睡眠指示指示所述空閑計(jì)數(shù)超過(guò)所述第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠達(dá)第二時(shí)間段。對(duì)于這些示例,所述第二時(shí)間段持續(xù)大約50次輪詢迭代。

示例16。如示例1所述的裝置,所述處理元件可以包括以下一者:多核處理器的核;或由所述多核處理器的一個(gè)或多個(gè)核支持的虛擬機(jī)。

示例17。如示例1所述的裝置,所述dpdk輪詢線程能夠執(zhí)行網(wǎng)絡(luò)分組處理應(yīng)用以處理由所述nwi/o設(shè)備接收到的分組。所述網(wǎng)絡(luò)分組處理應(yīng)用包括以下一者:防火墻應(yīng)用、vpn應(yīng)用、nat應(yīng)用、dpi應(yīng)用或負(fù)荷均衡器應(yīng)用。

示例18。如示例1所述的裝置還可以包括耦合至所述電路的數(shù)字顯示器,用于呈現(xiàn)用戶界面視圖。

示例19。示例方法可以包括:對(duì)于dpdk輪詢線程的多次輪詢迭代監(jiān)測(cè)接收到的保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。所述方法還可以包括:基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定所述接收隊(duì)列的充滿程度。所述方法還可以包括:基于所述接收隊(duì)列的充滿程度增加趨勢(shì)計(jì)數(shù)。所述方法還可以包括:基于所述趨勢(shì)計(jì)數(shù)是否超過(guò)趨勢(shì)計(jì)數(shù)閾值,向os功率管理模塊發(fā)送性能指示。所述性能指示能夠使所述os功率管理模塊提高執(zhí)行所述dpdk輪詢線程的處理元件的性能狀態(tài)。

示例20。如示例19所述的方法,所述os功率管理模塊用于提高所述處理元件的性能狀態(tài)包括所述os功率管理模塊能夠使所述處理元件的操作頻率提高。

示例21。如示例19所述的方法,所述充滿程度包括以下一者:幾乎空、半滿或幾乎全滿。

示例22。如示例21所述的方法,當(dāng)所述充滿程度為幾乎空時(shí),將所述趨勢(shì)計(jì)數(shù)增加較小數(shù)字,或者當(dāng)所述充滿程度為半滿時(shí),將所述趨勢(shì)計(jì)數(shù)增加大數(shù)字。對(duì)于這些示例,所述大數(shù)字可以是所述較小數(shù)字的約100倍。

示例23。示例21所述的方法還可以包括:響應(yīng)于所述接收隊(duì)列被確定為幾乎全滿時(shí)的連續(xù)輪詢迭代次數(shù)超過(guò)連續(xù)閾值,向所述os功率管理模塊發(fā)送高性能指示。所述高性能指示能夠使所述os功率管理模塊通過(guò)將所述處理元件的操作頻率提高至最高操作頻率,將所述處理元件的性能狀態(tài)提高至最高性能狀態(tài)。

示例24。如示例21所述的方法,幾乎空可以是25%至50%滿,半滿可以是51%至75%滿,并且?guī)缀跞珴M可以是超過(guò)75%滿。

示例25。如示例19所述的方法,所述os功率管理模塊能夠根據(jù)一種或多種工業(yè)標(biāo)準(zhǔn)提高所述處理元件的性能狀態(tài),所述工業(yè)標(biāo)準(zhǔn)包括acpi規(guī)范修訂版5.0。對(duì)于這些示例,所述os功率管理模塊能夠提高所述處理元件的性能狀態(tài)以進(jìn)入pn-1性能狀態(tài),其中,“n”表示導(dǎo)致所述處理元件的最低操作頻率的最低性能狀態(tài)。

示例26。如示例17所述的方法,所述處理元件可以包括以下一者:多核處理器的核;或由所述多核處理器的一個(gè)或多個(gè)核支持的虛擬機(jī)。

示例27。如示例19所述的方法,所述dpdk輪詢線程能夠執(zhí)行網(wǎng)絡(luò)分組處理應(yīng)用以處理由所述nwi/o設(shè)備接收到的分組。所述網(wǎng)絡(luò)分組處理應(yīng)用包括以下一者:防火墻應(yīng)用、vpn應(yīng)用、nat應(yīng)用、dpi應(yīng)用或負(fù)荷均衡器應(yīng)用。

示例28。示例至少一個(gè)機(jī)器可讀介質(zhì)可以包括多條指令,所述指令響應(yīng)于被系統(tǒng)執(zhí)行致使所述系統(tǒng)實(shí)施根據(jù)示例19至27中任意一項(xiàng)所述的方法。

示例29。裝置可以包括用于執(zhí)行示例19至27中任一項(xiàng)所述的方法的裝置。

示例30。示例至少一種機(jī)器可讀介質(zhì)可以包括多條指令,所述多條指令響應(yīng)于在主機(jī)計(jì)算平臺(tái)處的系統(tǒng)上被執(zhí)行而使所述系統(tǒng)對(duì)于dpdk輪詢線程的多次輪詢迭代監(jiān)測(cè)接收到的保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。所述指令還可以使所述系統(tǒng)基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定所述接收隊(duì)列的充滿程度。所述指令還可以使所述系統(tǒng)基于所述接收隊(duì)列的充滿程度增加趨勢(shì)計(jì)數(shù),以及基于所述趨勢(shì)計(jì)數(shù)是否超過(guò)趨勢(shì)計(jì)數(shù)閾值,向os功率管理模塊發(fā)送性能指示。所述性能指示能夠使所述os功率管理模塊提高執(zhí)行所述dpdk輪詢線程的處理元件的性能狀態(tài)。

示例31。如示例30所述的至少一種機(jī)器可讀介質(zhì),所述os功率管理模塊用于提高所述處理元件的性能狀態(tài)可以包括所述os功率管理模塊能夠使所述處理元件的操作頻率提高。

示例32。如示例30所述的至少一種機(jī)器可讀介質(zhì),所述充滿程度包括以下一者:幾乎空、半滿或幾乎全滿。

示例33。如示例32所述的至少一種機(jī)器可讀介質(zhì),所述指令可以使所述系統(tǒng)在所述充滿程度為幾乎空時(shí),將所述趨勢(shì)計(jì)數(shù)增加較小數(shù)字,或者當(dāng)所述充滿程度為半滿時(shí),將所述趨勢(shì)計(jì)數(shù)增加大數(shù)字。對(duì)于這些示例,所述大數(shù)字可以是所述較小數(shù)字的約100倍。

示例34。如示例32所述的至少一種機(jī)器可讀介質(zhì),所述指令可以進(jìn)一步使所述系統(tǒng)響應(yīng)于所述接收隊(duì)列被確定為幾乎全滿時(shí)的連續(xù)輪詢迭代次數(shù)超過(guò)連續(xù)閾值,向所述os功率管理模塊發(fā)送高性能指示。對(duì)于這些示例,所述高性能指示能夠使所述os功率管理模塊通過(guò)將所述處理元件的操作頻率提高至最高操作頻率,將所述處理元件的性能狀態(tài)提高至最高性能狀態(tài)。

示例35。如示例32所述的至少一種機(jī)器可讀介質(zhì),幾乎空可以是25%至50%滿,半滿可以是51%至75%滿,以及幾乎全滿可以是超過(guò)75%滿。

示例36。如示例30所述的至少一種機(jī)器可讀介質(zhì),所述os功率管理模塊能夠根據(jù)一種或多種工業(yè)標(biāo)準(zhǔn)提高所述處理元件的性能狀態(tài),所述工業(yè)標(biāo)準(zhǔn)包括acpi規(guī)范修訂版5.0。所述os功率管理模塊能夠提高所述處理元件的性能狀態(tài)以進(jìn)入pn-1性能狀態(tài),其中,“n”表示導(dǎo)致所述處理元件的最低操作頻率的最低性能狀態(tài)。

示例37。如示例30所述的至少一種機(jī)器可讀介質(zhì),所述處理元件可以包括以下一者:多核處理器的核;或由所述多核處理器的一個(gè)或多個(gè)核支持的虛擬機(jī)。

示例38。如示例30所述的至少一種機(jī)器可讀介質(zhì),所述dpdk輪詢線程能夠執(zhí)行網(wǎng)絡(luò)分組處理應(yīng)用以處理由所述nwi/o設(shè)備接收到的分組。所述網(wǎng)絡(luò)分組處理應(yīng)用包括以下一者:防火墻應(yīng)用、vpn應(yīng)用、nat應(yīng)用、dpi應(yīng)用或負(fù)荷均衡器應(yīng)用。

示例39。示例方法可以包括:對(duì)于dpdk輪詢線程的多次輪詢迭代監(jiān)測(cè)接收到的保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。所述方法還可以包括:基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定在所述接收隊(duì)列處接收到的用于每次輪詢迭代的分組數(shù)量。所述方法還可以包括:如果針對(duì)超過(guò)連續(xù)閾值的連續(xù)數(shù)量的輪詢迭代接收到的分組數(shù)量為0,則將空閑計(jì)數(shù)遞增1個(gè)計(jì)數(shù)。所述方法還可以包括基于所述空閑計(jì)數(shù)超過(guò)還是小于第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠達(dá)第一或第二時(shí)間段之一。所述第二時(shí)間段可能比所述第一時(shí)間段更長(zhǎng)。

示例40。示例39所述的方法還可以包括向所述nwi/o設(shè)備發(fā)送中斷開(kāi)啟提示,并且基于所述空閑計(jì)數(shù)超過(guò)第二空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程中止。

示例41。示例39所述的方法還可以包括基于所述空閑計(jì)數(shù)超過(guò)所述第一空閑計(jì)數(shù)閾值,所述dpdk輪詢線程睡眠達(dá)第二時(shí)間段。所述方法還可以包括:向os功率管理模塊發(fā)送長(zhǎng)睡眠指示。所述長(zhǎng)睡眠指示能夠使所述os功率管理模塊令執(zhí)行所述dpdk輪詢線程的處理元件置于睡眠模式達(dá)長(zhǎng)達(dá)所述第二時(shí)間段。

示例42。示例41所述的方法還可以包括:?jiǎn)?dòng)具有定時(shí)器間隔的定時(shí)器。所述方法還可以包括:響應(yīng)于所述定時(shí)器期滿,確定所述dpdk輪詢線程在所述定時(shí)器間隔期間睡眠時(shí)的迭代百分比。所述方法還可以包括:基于所述百分比是否大于百分比閾值,向所述os功率管理模塊發(fā)送性能指示。所述性能指示能夠使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括減小所述處理元件的操作頻率或減小所述處理元件的工作電壓。

示例43。示例41所述的方法還可以包括:?jiǎn)?dòng)具有定時(shí)器間隔的定時(shí)器。所述方法還可以包括:響應(yīng)于所述定時(shí)器期滿,確定所述定時(shí)器間隔期間用于在所述接收隊(duì)列處接收到的分組的平均每次迭代分組數(shù)。所述方法還可以包括:基于所述平均每次迭代分組數(shù)是否小于分組平均閾值,向所述os功率管理模塊發(fā)送性能指示。所述性能指示可以使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括:減小所述處理元件的操作頻率。

示例44。如示例41所述的方法,所述os功率管理模塊能夠根據(jù)一種或多種工業(yè)標(biāo)準(zhǔn)將所述處理元件置于睡眠模式,所述工業(yè)標(biāo)準(zhǔn)包括acpi規(guī)范修訂版5.0。對(duì)于這些示例,所述os功率管理模塊可以使所述處理元件進(jìn)入至少c1處理器功率狀態(tài),以響應(yīng)于所述睡眠指示將所述處理元件置于睡眠模式。

示例45。如示例41所述的方法,所述處理元件可以是以下一者:多核處理器的核;或由所述多核處理器的一個(gè)或多個(gè)核支持的虛擬機(jī)。

示例46。如示例39所述的方法,所述連續(xù)閾值可以是5次迭代,并且大約每1微秒發(fā)生一次輪詢迭代。

示例47。如示例46所述的方法,所述睡眠指示可以指示所述空閑計(jì)數(shù)小于所述第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠達(dá)第一時(shí)間段。所述第一時(shí)間段持續(xù)大約5次輪詢迭代。

示例48。如示例46所述的方法,所述睡眠指示可以指示所述空閑計(jì)數(shù)超過(guò)所述第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠達(dá)第二時(shí)間段。所述第二時(shí)間段持續(xù)大約50次輪詢迭代。

示例49。如示例39所述的方法,所述dpdk輪詢線程能夠執(zhí)行網(wǎng)絡(luò)分組處理應(yīng)用以處理由所述nwi/o設(shè)備接收到的分組。所述網(wǎng)絡(luò)分組處理應(yīng)用包括以下一者:防火墻應(yīng)用、vpn應(yīng)用、nat應(yīng)用、dpi應(yīng)用或負(fù)荷均衡器應(yīng)用。

示例50。示例至少一個(gè)機(jī)器可讀介質(zhì)可以包括多條指令,所述指令響應(yīng)于被在主機(jī)計(jì)算平臺(tái)處的系統(tǒng)執(zhí)行致使所述系統(tǒng)實(shí)施根據(jù)示例39至49中任意一項(xiàng)所述的方法。

示例51。示例裝置可以包括用于執(zhí)行示例39至49中任一項(xiàng)所述的方法的器件。

示例52。示例至少一種機(jī)器可讀介質(zhì)可以包括多條指令,所述指令響應(yīng)于被執(zhí)行在主機(jī)計(jì)算平臺(tái)處的系統(tǒng)上,可以使所述系統(tǒng)對(duì)于dpdk輪詢線程的多次輪詢迭代監(jiān)測(cè)接收到的保持在nwi/o設(shè)備的接收隊(duì)列處的可用分組描述符。所述指令還可以使所述系統(tǒng)基于每次輪詢迭代后保持在所述接收隊(duì)列處的可用分組描述符,確定在所述接收隊(duì)列處接收到的用于每次輪詢迭代的分組數(shù)量。所述指令還可以使所述系統(tǒng)在當(dāng)針對(duì)超過(guò)連續(xù)閾值的連續(xù)輪詢迭代次數(shù)接收到的分組數(shù)量為0時(shí),將空閑計(jì)數(shù)遞增1個(gè)計(jì)數(shù)。所述指令還可以使所述系統(tǒng)基于所述空閑計(jì)數(shù)超過(guò)還是小于第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠第一或第二時(shí)間段之一。所述第二時(shí)間段可能比所述第一時(shí)間段長(zhǎng)。

示例53。如示例52所述的至少一種機(jī)器可讀介質(zhì),所述指令可以進(jìn)一步使所述系統(tǒng)向所述nwi/o設(shè)備發(fā)送中斷開(kāi)啟提示,并且基于所述空閑計(jì)數(shù)超過(guò)第二空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程中止。

示例54。如示例52所述的至少一種機(jī)器可讀介質(zhì),基于所述空閑計(jì)數(shù)超過(guò)所述第一空閑計(jì)數(shù)閾值,所述dpdk輪詢線程睡眠達(dá)第二時(shí)間段。所述指令可以進(jìn)一步使所述系統(tǒng)向os功率管理模塊發(fā)送長(zhǎng)睡眠指示。所述長(zhǎng)睡眠指示能夠使所述os功率管理模塊令執(zhí)行所述dpdk輪詢線程的處理元件置于睡眠模式達(dá)長(zhǎng)達(dá)所述第二時(shí)間段。

示例55。如示例54所述的至少一種機(jī)器可讀介質(zhì),所述指令可以進(jìn)一步使所述系統(tǒng)啟動(dòng)具有定時(shí)器間隔的定時(shí)器,以及響應(yīng)于所述定時(shí)器期滿,確定所述dpdk輪詢線程在所述定時(shí)器間隔期間睡眠時(shí)的迭代百分比。所述指令還可以使所述系統(tǒng)基于所述百分比是否大于百分比閾值,向所述os功率管理模塊發(fā)送性能指示。所述性能指示能夠使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括:減小所述處理元件的操作頻率或減小所述處理元件的工作電壓。

示例56。如示例54所述的至少一種機(jī)器可讀介質(zhì),所述指令可以進(jìn)一步使所述系統(tǒng)啟動(dòng)具有定時(shí)器間隔的定時(shí)器,以及響應(yīng)于所述定時(shí)器期滿,確定所述定時(shí)器間隔期間用于在所述接收隊(duì)列處接收到的分組的平均每次迭代分組數(shù)。所述指令還可以使所述系統(tǒng)基于所述平均每次迭代分組數(shù)是否小于分組平均閾值,向所述os功率管理模塊發(fā)送性能指示。所述性能指示可以使所述os功率管理模塊降低所述處理元件的性能狀態(tài),所述降低所述處理元件的性能狀態(tài)包括:減小所述處理元件的操作頻率。

示例57。如示例54所述的至少一種機(jī)器可讀介質(zhì),所述os功率管理模塊能夠根據(jù)一種或多種工業(yè)標(biāo)準(zhǔn)將所述處理元件置于睡眠模式,所述工業(yè)標(biāo)準(zhǔn)包括acpi規(guī)范修訂版5.0。所述os功率管理模塊可以使所述處理元件進(jìn)入至少c1處理器功率狀態(tài),以響應(yīng)于所述睡眠指示將所述處理元件置于睡眠模式。

示例58。如示例54所述的至少一種機(jī)器可讀介質(zhì),所述處理元件可以包括以下一者:多核處理器的核;或由所述多核處理器的一個(gè)或多個(gè)核支持的虛擬機(jī)。

示例59。如示例51所述的至少一種機(jī)器可讀介質(zhì),所述連續(xù)閾值可以包括5次迭代,并且大約每1微秒發(fā)生一次輪詢迭代。

示例60。如示例59所述的至少一種機(jī)器可讀介質(zhì),所述睡眠指示可以指示所述空閑計(jì)數(shù)小于所述第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠達(dá)第一時(shí)間段。所述第一時(shí)間段持續(xù)大約5次輪詢迭代。

示例61。如示例59所述的至少一種機(jī)器可讀介質(zhì),所述睡眠指示可以指示所述空閑計(jì)數(shù)超過(guò)所述第一空閑計(jì)數(shù)閾值,使所述dpdk輪詢線程睡眠達(dá)第二時(shí)間段。所述第二時(shí)間段持續(xù)大約50次輪詢迭代。

示例62。如示例52所述的至少一種機(jī)器可讀介質(zhì),所述dpdk輪詢線程能夠執(zhí)行網(wǎng)絡(luò)分組處理應(yīng)用以處理由所述nwi/o設(shè)備接收到的分組。所述網(wǎng)絡(luò)分組處理應(yīng)用包括以下一者防火墻應(yīng)用、vpn應(yīng)用、nat應(yīng)用、dpi應(yīng)用或負(fù)荷均衡器應(yīng)用。

強(qiáng)調(diào)的是,提供了公開(kāi)的摘要是為了符合37c.f.r.第1.72(b)章,要求將允許讀者快速確定技術(shù)公開(kāi)的性質(zhì)的摘要?;谄鋵⒉槐挥糜诮忉尰蛘呦拗茩?quán)利要求書(shū)的范圍或者含義的理解提交所述摘要。此外,在前一個(gè)詳細(xì)描述中,可以看到,出于將本披露連成一體的目的而將各種特征一起組合在單個(gè)示例中。本披露的方法并不被解釋為反映以下意圖:所要求保護(hù)的示例需要比每項(xiàng)權(quán)利要求中明確表述的特征更多的特征。而是被解釋為:以下的權(quán)利要求書(shū)反映了本發(fā)明的主題在于比單個(gè)披露的示例的全部特征少。因此,以下的權(quán)利要求書(shū)據(jù)此被并入詳細(xì)的說(shuō)明書(shū)中,其中,每項(xiàng)權(quán)利要求獨(dú)立自主地作為單獨(dú)的示例。在所附權(quán)利要求書(shū)中,術(shù)語(yǔ)“包括(including)”和“其中(inwhich)”分別用作對(duì)應(yīng)術(shù)語(yǔ)“包含(comprising)”和“其中(wherein)”的易懂的英語(yǔ)等價(jià)詞。另外,術(shù)語(yǔ)“第一”、“第二”、“第三”等僅被用作標(biāo)簽,而不意圖對(duì)它們的目標(biāo)強(qiáng)加數(shù)值要求。

雖然已經(jīng)使用特定于結(jié)構(gòu)特征和/或方法行為的語(yǔ)言描述了主題,將理解的是,所附權(quán)利要求書(shū)中所定義的主題不一定限于上文所述的特定特征或行為。相反,上文所描述的特定特征和行為被作為實(shí)現(xiàn)權(quán)利要求書(shū)的示例形式而公開(kāi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1