TW202301842A - 具有可自動調整成本參數的非線性流量整形器 - Google Patents
具有可自動調整成本參數的非線性流量整形器 Download PDFInfo
- Publication number
- TW202301842A TW202301842A TW111114629A TW111114629A TW202301842A TW 202301842 A TW202301842 A TW 202301842A TW 111114629 A TW111114629 A TW 111114629A TW 111114629 A TW111114629 A TW 111114629A TW 202301842 A TW202301842 A TW 202301842A
- Authority
- TW
- Taiwan
- Prior art keywords
- cost
- delivery
- packet
- budget
- network
- Prior art date
Links
- 238000007493 shaping process Methods 0.000 claims abstract description 89
- 230000005540 biological transmission Effects 0.000 claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 46
- 238000012546 transfer Methods 0.000 claims abstract description 40
- 238000012384 transportation and delivery Methods 0.000 claims description 306
- 238000012544 monitoring process Methods 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 29
- 230000004048 modification Effects 0.000 claims description 2
- 238000012986 modification Methods 0.000 claims description 2
- 230000007423 decrease Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 10
- 230000003247 decreasing effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002459 sustained effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1403—Architecture for metering, charging or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1432—Metric aspects
- H04L12/1435—Metric aspects volume-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1485—Tariff-related aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/81—Dynamic pricing, e.g. change of tariff during call
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/82—Criteria or parameters used for performing billing operations
- H04M15/8214—Data or packet based
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種流量整形電路調節藉由傳輸資源代表客戶端將封包傳遞到網路(例如,晶片上網路)中。基於當前預算值來選擇性賦能或去能封包傳遞。回應於將封包傳遞到網路中,基於封包傳遞成本來修改預算值。監測將封包傳遞到網路中的速率。基於封包傳遞的速率來產生成本調整信號。回應於成本調整信號來修改封包傳遞成本,用於考慮將後續封包傳遞到網路中。成本調整信號可指示增加或減少封包傳遞成本及/或預算極限,其兩者皆從包含基於相應封包傳遞成本值排序的記錄的成本表讀取。封包傳遞成本及/或預算極限係可配置的。
Description
本揭示係關於具有可自動調整成本參數的非線性流量整形器。
網路流量整形器可節流客戶端(例如,處理器、封裝排程器、發送器等)在網路(諸如IP網路、乙太網路、或晶片上網路)上發送資訊的速率。可控制速率以試圖避免擁塞。在一些網路中,可將網路擁塞狀態、或流控制資訊可提供給發送器用於決定何時節流流量。然而,在其他網路中,擁塞或流控制資訊對於提供流量整形目的可能係不可用的或不切實際的。例如,在具有數十或數百的同時存取網格的客戶端的基於網格的網路中,向發送器提供關於網路擁塞狀態的反饋可能係不切實際的,因為在網格中偵測及分配此資訊的成本可能過高,並且可能無法確保此資訊的相關性(例如,當網路中的擁塞狀態在可以利用資訊之前改變時)。
提供此發明內容來以簡化形式介紹將在下文實施方式中進一步描述的概念選擇。此發明內容不意欲識別要求保護的標的的關鍵特徵或必要特徵,亦不意欲用於限制要求保護的標的的範疇。
本文描述了方法、系統、及儲存用於執行方法的代碼的電腦可讀取媒體。在一個態樣中,一種用於整形流量的方法在流量整形電路中執行,該流量包含藉由傳輸資源代表客戶端傳遞到網路(例如,晶片上網路)中的封包。方法包含基於預算值選擇性賦能或去能藉由傳輸資源將封包傳遞到網路中。回應於藉由傳輸資源將封包傳遞到網路中,可基於封包傳遞成本來修改預算值。可監測藉由傳輸資源執行的將封包傳遞到網路中的速率。可基於藉由傳輸資源將封包傳遞到網路中的速率來產生成本調整信號。可回應於成本調整信號而修改封包傳遞成本,用於藉由傳輸資源將後續封包傳遞到網路中。
實施例的進一步特徵及優點以及各個實施例的結構及操作在下文參考附圖詳細描述。注意到,方法及系統不限於本文描述的具體實施例。此種實施例在本文中僅出於說明目的而提供。基於本文含有的教示,額外實施例將為相關領域中的技藝人士顯而易見。
I.序言
本說明書及附圖揭示了整合所揭示實施例的特徵的一或多個實施例。實施例的範疇不僅限於本文揭示的態樣。所揭示的實施例僅僅例示意欲範疇,並且亦涵蓋所揭示實施例的經修改版本。實施例藉由隨附的申請專利範圍定義。
在說明書中提及「一個實施例(one embodiment)」、「一實施例(an embodiment)」、「一示例實施例(an example embodiment)」等指示所描述的實施例可包括特定特徵、結構、或特性,但每一個實施例可不一定包括特定特徵、結構、或特性。此外,此種片語不一定指相同實施例。另外,當結合一實施例描述特定特徵、結構或特性時,提議無論是否明確描述,結合其他實施例實現此種特徵、結構或特性將在本領域技藝人士的知識內。
此外,應當理解,本文使用的空間描述(例如,「之上」、「之下」、「向上」、「向左」、「向右」、「向下」、「頂部」、「底部」、「垂直」、「位準」等)係僅出於說明目的,並且本文描述的結構的實際實施方式可以任何定向或方式來空間佈置。
在論述中,除非另外聲明,否則修飾本揭示的實施例的一或多個特徵的條件或關係特性的形容詞(諸如「實質上」及「約)」將被理解為意味著將條件或特性定義為在對於其意欲的申請案的實施例的操作可接受的容差內。
如下描述數個示例性實施例。注意到,本文提供的任何部分/子部分標題不意欲為限制性。在此文件全文中描述實施例,並且可在任何部分/子部分下包括任何類型的實施例。此外,在任何部分/子部分中揭示的實施例可以任何方式與在相同部分/子部分及/或不同部分/子部分中描述的任何其他實施例相結合。
II.示例實施例
本揭示係關於整形傳輸到網路(諸如晶片上網路)中的流量以致力於自適應地減少網路上的擁塞。大體上,流量整形器可節流來自客戶端(例如,CPU核心、處理引擎、記憶體控制器、快取記憶體、週邊部件互連快速(peripheral component interconnect express; PCIE)橋接器、封包排程器等)的資料在網路上發送的速率。大體上,在一些流量整形系統中,流量擁塞或流控制資訊可從外部節點接收,使得可基於外部條件來調適傳輸速率。然而,在其他系統中,擁塞或流控制資訊對於用於流量整形目的可能係不可用的或不切實際的。例如,在具有同時地存取網格的數十或數百客戶端的基於網格的網路中,由於偵測及分配此類資訊的高成本,提供擁塞狀態反饋來用於流量控制可能係不切實際的。此外,此種資訊的相關性在其可用於流量流控制時可能無法保證。在此種情況下,可能期望實施本文揭示的流量整形器來改變其行為,具有對自我監測及節流的高度可配置性。
流量整形器可利用基於信用的系統,其中整形器維護交易預算,並且隨著封包傳遞發生,預算藉由封包傳遞的成本(例如,封包傳遞成本或交易成本)減少。例如,封包傳遞成本可與具體傳輸的長度或請求交易的客戶端與其同級點相比的相對權重成比例。只要預算高於某個閾值(例如,一個交易的成本),就允許客戶端傳遞封包。預算可藉由添加傳遞信用來補充,並且預算可限制在某一上限值處。
在本揭示中,描述了具有可程式設計特徵的流量整形電路(亦即,流量整形器)。流量整形器允許自動且動態地修改整形器參數(例如,封包傳遞成本及預算極限等等),該等整形器參數可有效地節流將封包傳遞到網路中的速率。整形器可包含具有複數個記錄的成本表,其中每個記錄可包括用於將封包傳遞到網路中的相應成本值、及/或用於賦能及去能封包傳遞的相應預算極限(例如,最大預算位準)。每個成本表記錄可藉由動態讀取指標來索引,該動態讀取指標可增加或減少以改變藉由流量整形電路利用的當前參數集合。除了成本及預算極限之外,每個表記錄可儲存參數,該等參數用於監測傳輸活動速率並且指示讀取指標應當何時增加到下一較高表記錄(例如,儲存較高成本或相同成本),或用於指示不活動(例如,閒置循環)以導致讀取指標減小到下一較低表記錄(例如,儲存較低或相同成本)。在一個實施例中,遞增讀取指標(例如,增加成本)可藉由超過在數個(N個)時鐘循環中傳輸的封包的數量(M)來管理。遞減讀取指標(例如,降低成本)可基於針對一些數量(P)的時鐘循環(例如,不具有封包傳輸的時鐘循環)為閒置的來管理。M、N、及P均可儲存在成本表記錄內。可排序表記錄。在一個實例中,可基於增加的相對成本來排序表記錄。讀取指標可能不在表的邊界處環繞,並且初始讀取指標值可能係可配置的。
與封包傳遞的成本無關,在一些實施例中,流量整形電路可利用時段計時器及時段信用來隨著時間向預算添加信用。時段計時器及時段信用輸入可能係可程式設計的。在一些實施例中,具有網路中的全域(儘管可能陳舊)擁塞量測的擁塞控制器可用於修改時段時間及時段信用以減少整個網路結構(例如,網格結構)中的客戶端傳輸。
使用成本表及指標值的自動(例如,可程式設計)增加或減少以改變封包傳遞的成本可允許請求資料傳遞的客戶端在懲罰客戶端並且減小其傳遞速率(例如,藉由增加每個傳輸的成本)之前在每個封包傳遞成本位準下的某個短脈衝位準。利用全網格實施方式,相同網路鏈路可由數個客戶端共享,因此流量的持續短脈衝應當很可能藉由網路入徑阻礙。由此,此流量整形器的非線性行為在減少流量擁塞方面可能係高效的。
用於在網路中動態地整形封包流量的實施例可以各種方式實施。例如,第1圖係根據示例實施例的包含用於動態地調節到晶片上網路中的傳輸的流量整形電路的系統100的方塊圖。如第1圖所示,系統100包含複數個流量整形電路102、複數個客戶端104、複數個傳輸資源106、複數個網路入徑108、晶片上網路110、複數個節點112、及複數個網路鏈路114。每個網路入徑108包含流量整形電路102及傳輸資源106,諸如先進先出佇列或緩衝器。如下詳細描述系統100。
在一些實施例中,系統100可包含晶片上系統(system on chip; SOC),該晶片上系統包含晶片上網路110。晶片上網路110可經配置為在SOC內的部件之間路由流量。在一些實施例中,SOC可包含CPU並且可在電子裝置內實施,諸如計算及/或通訊裝置(例如,SOC可包含資料中心處理器)。儘管關於第1圖描述的網路被稱為晶片上網路110,但包含流量整形電路102的本揭示可在任何適宜類型的網路中實施,例如,IP網路、乙太網路、無線網路、晶片上網路等。此外,系統100可在下列中實施:SOC、桌上型電腦或個人電腦、行動計算裝置(例如,Microsoft®Surface®裝置、個人數位助理(personal digital assistant; PDA)、膝上型電腦、筆記本電腦、平板電腦(諸如Apple iPad™)、小筆電等)、行動電話(例如,蜂巢電話、智慧電話(諸如Apple iPhone),實施Google® Android™作業系統的電話;Microsoft® Windows電話等)、可穿戴計算裝置(例如,頭戴式裝置,包括智慧玻璃,諸如藉由Oculus VR、LLC的Google® Glass™、Oculus Rift®等)、遊戲控制台/系統(例如,Nintendo Switch®等)、應用、機上盒等。
晶片上網路110可包含經由複數個鏈路114通訊地耦接的複數個節點112,該等鏈路為在SOC內的複數個客戶端之中的通訊提供互連。每個節點112可包含經配置為將輸入鏈路114的集合耦接到輸出鏈路114的集合的內部連接。儘管晶片上網路110在第1圖中圖示為網格網路的類型,本揭示不限於任何具體網路拓撲。例如,流量整形電路102可係網路不可知的,並且可在具有任何適宜的網路拓撲(例如,二維、n維、n立方、或k元n立方網格、星形、線性、環形、樹形等)的網路中實施。晶片上網路110可包含在多個客戶端之間的受限或過訂閱互連。例如,若每一個客戶端102嘗試同時向彼此發送訊息,網路可能不能夠跟上流量處理,此可導致網路擁塞。在一些實施例中,耦接到晶片上網路110的複數個客戶端可利用電路(諸如流量整形電路102)調節其自身的封包傳遞。大體而言,流量整形電路102經配置為管理網路中的流量,其中客戶端可能係渴望的並且可以淹沒網路。例如,不斷嘗試將流量注入網路中的單個客戶端的封包傳遞的持續短脈衝可能使網路過飽和。結合客戶端實施的流量整形電路102可節流客戶端到晶片上網路110中的傳輸並且減少封包傳遞的過量短脈衝。
每個客戶端104可包含經配置為經由傳輸資源106及晶片上網路110將封包傳遞到複數個類似或各種類型的客戶端的裝置或節點,該等客戶端亦可耦接到晶片上網路110。如第1圖所示,可能存在共享傳輸資源106並且藉由單個流量整形電路102管理的複數個客戶端104。在一些實施例中,客戶端104可包含處理引擎(例如,CPU核心)或提供用於傳輸的資料的實體,諸如記憶體控制器或快取記憶體(例如,L2快取記憶體、L3快取記憶體、L4快取記憶體)、PCIE橋接器等。例如,客戶端104可提供資料用於將在晶片上網路110上傳輸到另一客戶端的命令、或可請求該資料,或可提供資料本身用於經由傳輸資源106來傳輸。
傳輸資源106可通訊地耦接到客戶端104及流量整形電路102,並且可包含任何適宜的邏輯、電路系統、介面及/或代碼,該邏輯、電路系統、介面及/或代碼可配置以將客戶端104連接到晶片上網路110,例如,經由網路入徑108,並且控制客戶端104到耦接到晶片上網路110的另一客戶端的封包傳輸。在一些實例中,傳輸資源106可包含用於儲存訊息的先進先出佇列或緩衝器,直到網路接受該等訊息。傳輸資源106亦可包含用於選擇路由路徑或以其他方式調適或分類訊息用於在晶片上網路110上傳輸的電路。
網路入徑108可包含從傳輸資源106到晶片上網路110中的一或多個節點112及/或一或多個鏈路114的通訊鏈路。封包傳遞可包含從客戶端104到耦接到晶片上網路110的另一客戶端的資料傳輸(例如,傳輸單元或訊息)。封包傳遞可被稱為傳遞、交易、或傳輸。在一些實施例中,耦接到晶片上網路110的每個客戶端104可具有其自身的網路入徑108及整形電路系統102。或者,網路入徑108及整形電路102可耦接到多個客戶端104並且支援多個客戶端104的通訊,其中傳遞成本函數可針對每個客戶端或客戶端類型調整。
基於來自傳輸側量測的反饋而非來自網路或接收器側的反饋(例如,擁塞通知、往返延遲等),流量整形電路102可經配置為藉由調整傳遞封包相對於預算的成本(及其他流量控制參數)來控制將封包傳遞到晶片上網路110中的時序、或速率。大體上,流量整形電路102可設置在客戶端與路由器之間的網路的入徑處或係入徑的一部分,並且可節流藉由渴望客戶端的網路存取,該等渴望客戶端可以其他方式消耗過多的網路資源。換言之,流量整形電路102可經配置為做出關於何時及/或可以什麼速率代表客戶端104傳輸封包以控制在晶片上網路110上的流量的量的決策。
流量整形電路102可以各種方式操作以執行其功能。例如,第2圖係根據示例實施例的用於藉由動態地調整封包傳遞成本及/或預算參數來控制封包傳遞速率的方法的流程圖200。在一實施例中,流量整形電路102可根據流程圖200操作。如下參考第1圖、第3圖、及第7圖描述流程圖200。
第3圖係根據示例實施例的示出藉由動態地調整傳遞成本及/或預算參數的流量整形電路執行的功能的系統300的方塊圖。例如,系統300包含流量整形電路102、客戶端104、傳輸資源106、網路入徑108、傳遞賦能邏輯310、流量監測邏輯312、成本調整控制器314、及流量閘控邏輯316。系統300進一步包含傳遞賦能322、傳遞通知324、成本調整信號326、封包傳遞成本328、成本表330、封包傳遞信用332、預算信用循環334、預算極限336、傳遞速率閾值338、及閒置時間閾值340。
第7圖係根據示例實施例的包含動態地調整封包傳遞成本及/或預算極限參數的流量整形電路的系統700的方塊圖。系統700尤其包含流量整形電路102、客戶端104、傳輸資源106、傳遞賦能邏輯310、流量監測邏輯312、成本調整控制器314、及流量閘控邏輯316。系統700進一步包含傳遞賦能322、傳遞通知324、成本調整信號326A及326B、封包傳遞成本328、成本表330、封包傳遞信用332、預算信用循環334、預算極限336、傳遞計數閾值502、傳遞循環計數閾值504、及閒置時間閾值340。亦在系統700中圖示了多工器712、多工器714、預算暫存器716、閒置循環計數器720、封包傳遞計數器722、及傳遞循環計數器724。
在一些實施例中,系統300及700可在系統100內實施。出於說明的目的,如下關於第2圖的流程圖200詳細描述系統300及700。
流程圖200開始於步驟202。在步驟202中,決定了藉由傳輸資源代表客戶端將封包傳遞到晶片上網路中的封包傳遞成本及/或預算極限。傳遞賦能邏輯310可經配置為儲存及決定預算值320。預算值320可用於決定是否賦能封包傳遞。例如,若預算值320下降得過低,則可去能封包傳遞。對於傳遞到晶片上網路110上的每個封包,封包傳遞成本328的值可從預算值320扣除(例如,可將封包傳遞成本328儲存為負值)。此外,一或多個封包傳遞信用332可在預算信用循環334處添加到預算值320,該預算值可藉由傳遞賦能邏輯310接收作為時序信號(例如,可程式設計時段計時器可輸出預算信用循環334)。在一些情況中,信用及成本均可並發地應用於預算值320(例如,封包傳遞信用332的減去封包傳遞成本328的值可添加到預算值320)。在一些實施例中,預算值320可限制在預算極限336處,使得若將封包傳遞信用332的量添加到預算值320導致預算值320大於預算極限320,則預算極限320可儲存為預算值320,而不將封包傳遞信用332的值添加到預算。複數個封包傳遞成本328的值及/或複數個預算極限336的值可儲存在成本表330中,並且可藉由從成本表330讀取記錄來決定用於封包傳遞成本328及/或預算極限336的在傳遞賦能邏輯310中利用的當前值。
在步驟204中,監測藉由傳輸資源傳遞封包的速率。例如,代表客戶端104的傳輸資源106可經配置為將封包傳輸到網路入徑108及晶片上網路110上。流量閘控邏輯316可經配置為促進在客戶端104與傳輸資源106之間用於每個封包傳輸的交握,並且可在每次確認封包傳遞時向傳遞監測邏輯312提供傳遞通知324。流量監測邏輯312可經配置為基於傳遞通知324的信號來決定封包傳遞的速率及/或傳輸資源106的閒置週期。
在步驟206中,基於封包傳遞的監測速率來針對藉由傳輸資源106執行的後續封包傳遞修改封包傳遞成本及/或預算極限。例如,流量監測邏輯312可經配置為基於傳遞通知信號324來分析封包傳遞的速率,並且取決於速率,流量監測邏輯312可將成本調整信號326(或第7圖的成本調整信號326A)傳輸到成本調整控制器314。在此方面,若量測的封包傳遞速率超過傳遞速率閾值338(關於第4圖、第5圖、及第7圖更詳細描述),則流量監測邏輯312可傳輸成本調整信號326(或326A)。成本調整控制器314可經配置為基於成本調整信號326來修改封包傳遞成本328的值及/或預算極限336的值(關於第4圖及第5圖更詳細描述)。當針對藉由傳輸資源106的一或多個後續封包傳遞調整預算值320時,可應用修改的封包傳遞成本328的值及/或預算極限336的值。以此方式,若封包傳遞成本328增加,則傳遞封包的速率可減小,使得預算320隨著每次封包傳遞應用較大成本而更快地耗盡。替代地或此外,若預算極限336減小,則傳遞封包的速率可減小,由於此亦可藉由將預算值限制在與用於先前傳遞者相比較低的位準下來導致預算320更迅速耗盡。換言之,歸因於提升封包傳遞成本328及/或降低預算極限336,隨著暫時去能封包傳遞,更經常地隨著時間去能,封包傳遞速率可減小(或節流)。因此,客戶端104的封包傳遞的持續短脈衝可經調節以避免過飽和晶片上網路110,其中流量整形電路102回應於在傳輸資源106中發生的封包傳遞的短脈衝而自調整(例如,在不知道晶片上網路110的剩餘部分如何處理流量的情況下)。
成本調整控制器314可以各種方式操作以執行其功能。例如,第4圖係根據示例實施例的包含成本調整控制器的系統400的方塊圖,該成本調整控制器具有用於儲存整形封包傳輸速率的參數的成本表。此外,第5圖係根據示例實施例的包含第4圖的成本表及用於整形封包傳輸速率的儲存參數的系統500的方塊圖。
在一些實施例中,系統400及500可在系統100、300、及/或700內實施。出於說明目的,如下詳細描述系統400及500。
在一些實施例中,系統400可包含成本調整控制器314、傳遞賦能邏輯310、及流量監測邏輯312。成本調整控制器314可包含成本表330及成本表讀取指標產生器412。成本表330可包含複數個記錄,包含記錄420、記錄422、記錄424、記錄426、記錄428、及記錄430,該等記錄可稱為記錄420-430。
在一些實施例中,系統500可包含成本表330及記錄420-430。記錄420-430可各自包含參數的相應集合,其中參數的每個相應集合可包含封包傳遞成本328、預算極限336、傳遞速率閾值338、及閒置時間閾值340的一或多個。可以各種方式表示傳遞速率閾值338。例如,在一些實施例中,傳遞速率閾值338可包含用於計數及時間段的單獨參數,其中每個單獨參數可儲存在成本表330中作為傳遞計數閾值502及傳遞循環計數閾值504。
儘管六個索引記錄420-430在成本表330中顯示並且五個參數328、336、502、504、及340在每個索引記錄中顯示,在一些實施例中,成本表330可包含參數的較少或較多記錄,並且成本表330的每個記錄可包含較少或較多的參數。
在一些實施例中,記錄420-430可以指定次序在成本表330中儲存及/或索引。例如,可基於其相應封包傳遞成本的值來排序記錄420-430。成本表讀取指標產生器412可經配置為基於成本調整信號326(例如,針對較高成本的326A及針對較低成本的326B)的指示及用於修改封包傳遞成本的記錄420-430的次序來從成本表330選擇性地輸出較高封包傳遞成本或較低封包傳遞成本。在一些實施例中,最低記錄索引(例如,記錄420)可儲存最低傳遞成本328的值,並且隨著索引(或指標位址)增加(例如,從記錄420到430),每個連續記錄可儲存增加的傳遞成本328的值。以此方式,封包傳遞成本328可藉由遞增或遞減藉由成本表讀取指標產生器412產生的指標位址來增加或減少。成本調整信號326可指示是遞增還是遞減指標位址。參見第7圖,在一些實施例中,成本調整信號326可包含兩個單獨信號326A及326B,其中326A指示指標位址應當遞增(例如,以指向較高封包傳遞成本值)並且326B指示指標位址應當遞減(例如,以指向較低封包傳遞成本值)。然而,本揭示不限於排序成本表330中的記錄的任何具體方式、或利用來自成本表讀取指標產生器412的讀取指標來選擇特定封包傳遞成本328的任何具體方式。
在一些實施例中,在成本表330中的記錄可基於預算極限336的值排序或分類,使得成本調整信號326可直接指示預算極限336應當增加還是減少以整形客戶端104的封包傳遞速率,用於將後續封包傳遞到晶片上網路110中。
成本調整控制器314可經配置為從成本表330的記錄輸出參數值,該等參數值由成本表讀取指標產生器412指向,用於賦能封包傳遞並且產生成本調整信號326(例如,326A及326B)。例如,成本調整控制器314可讀取所選記錄,並且將對應的封包傳遞成本328的值及/或預算極限336的值傳輸到傳遞賦能邏輯310。相同記錄的對應的傳遞速率閾值338的值(或傳遞計數閾值502及傳遞循環計數閾值504的值)及閒置時間閾值340的值(下文更詳細描述)可傳輸到流量監測邏輯312,用於監測封包傳輸速率及傳輸資源106可閒置的時間長度。
在一些實施例中,在成本表330中儲存的參數的值可能係可配置的(例如,封包傳遞成本328、預算極限336、傳遞速率閾值338(或傳遞計數閾值502及傳遞循環計數閾值504)、及閒置時間閾值)。參見第7圖中的實例,當參數值及/或集合值信號基於成本表配置及狀態暫存器(configuration and status register; CSR)來接收時,在由成本表讀取指標產生器412指向的記錄處,封包傳遞成本328的值、預算極限336、閒置時間閾值340、傳遞計數閾值502、傳遞循環計數閾值504的值、及閒置時間閾值340可在成本表330中配置。
流量整形電路102可以各種方式操作以執行其功能。例如,第6圖係根據示例實施例的用於動態地調節到晶片上網路中的傳輸的方法的流程圖600。流程圖600可作為流程圖200(第2圖)的部分執行,諸如開始於步驟202。在一實施例中,流量整形電路102可根據流程圖600操作。流程圖600如下參考第1圖、第3圖、第4圖、第5圖、及第7圖描述。
流程圖600包括步驟602。在步驟602中,藉由傳輸資源將封包傳遞到晶片上網路中可基於預算值來選擇性賦能或去能。如上文描述,預算值320可用於決定是否賦能封包傳遞,使得若預算值320下降得過低,則可去能封包傳遞(因此,停止或減慢網路流量)。預算值320可減小達傳遞到晶片上網路110上的每個封包的當前傳遞成本326的值,並且可在每個預算信用循環334處與封包傳遞信用332一起增加。若兩種條件並發地發生,則信用及成本兩者可應用於預算值320。此外,預算值320可限制在預算極限336處,該預算極限可係每個封包傳遞成本位準可配置的。在預算極限336處限制預算值320可提供用於配置允許用於客戶端104的短脈衝容差的位準。當預算值320可能不用於數個循環並且隨後突然引起高需求工作時,此舉可能係有用的。藉由提供可配置預算極限336,傳輸短脈衝可使用在流量整形電路102中提供的較少數量的整形資源限制。
在一個實施例中,預算值320可累加並且儲存在預算暫存器716中,該預算暫存器可包含一或多個D正反器(例如,參見第7圖)。儘管在第7圖的實例中圖示僅一個預算暫存器716,可能存在儲存預算值320的複數個預算暫存器716。從預算暫存器716輸出的最高有效位元(most significant bit; MSB)可指示是否賦能傳遞(例如,零MSB可指示未賦能傳遞,並且為一的MSB可指示賦能傳遞)。在此實例中,若存在儲存預算值320的七個D正反器,則MSB可指示針對預算值64-127賦能封包傳遞,並且針對63或更低的預算值去能。然而,如上文描述,儲存為預算值320的值可在高端上藉由預算極限336限制,使得在此實例中,可賦能封包傳遞,其中預算值320從64到預算極限336的當前值變化。儘管如此,本揭示不限於預算值320的任何具體範圍、或預算值320的儲存裝置的任何具體類型。
如上文描述,成本表330可儲存複數個封包傳遞成本328的值及/或複數個預算極限336的值,其中在用於封包傳遞成本328及/或預算極限336的傳遞賦能邏輯310中利用的當前值可基於成本調整信號326藉由從成本表330讀取記錄來決定。預算值320可由於各個事件而更新。參見第7圖所示的實例,回應於接收預算信用循環334的時序信號,多工器712可經配置為選擇封包傳遞信用332作為來自多工器的輸出。在一些實施例中,預算信用循環334的時間間隔及/或封包傳遞信用332的信用值可能係可程式設計的(例如,經由配置及狀態暫存器(CSR))。回應於接收封包傳遞通知324的信號,多工器712可經配置為選擇當前傳遞成本328的值作為多工器輸出,該值可由成本表讀取指標產生器412的讀取指標指向。回應於接收並發的預算信用循環334的輸出及封包傳遞通知324,多工器712可經配置為選擇封包傳遞信用332的值減去當前傳遞成本328的值作為多工器輸出。此外,在缺乏預算信用循環334的輸出及封包傳遞通知324兩者的情況下,多工器712可經配置為選擇零作為多工器輸出。多工器712的輸出可添加到當前預算值320,並且若多工器712的輸出及當前預算值320的總和大於預算極限336,則多工器714可經配置為選擇預算極限336作為多工器輸出,該多工器輸出可作為新預算值320鍵入預算暫存器716(例如,D正反器)中。若多工器712的輸出及當前預算值320的總和不大於預算極限336,則多工器714可經配置為選擇多工器712的輸出及當前預算值320的總和作為多工器714的輸出,該總和可作為新預算值320鍵入預算暫存器716(例如,D正反器)中。
在第7圖所示的實例中,傳遞賦能322的值亦可取決於是否賦能流量整形電路102以執行其功能。例如,若整形器賦能輸入信號係低的,指示去能流量整形電路102,則傳遞賦能322將保持為高的,使得藉由客戶端104及傳輸資源106的封包傳遞保持賦能,而不藉由流量整形電路102調節。另一方面,若整形器賦能輸入信號為高的,指示將流量整形電路102賦能為起作用,則傳遞賦能322的輸出可取決於預算值320的MSB。
在步驟604中,回應於藉由傳輸資源將封包傳遞到晶片上網路中,預算值可基於封包傳遞成本來修改。例如,如上文描述,流量閘控邏輯316可經配置為促進在客戶端104與傳輸資源106之間的交握,用於將封包傳遞到晶片上網路110中。在第7圖所示的實例中,客戶端104可指示有效資料何時可用於傳遞,並且作為回應,流量閘控邏輯316可在傳遞賦能322指示賦能封包傳遞的情況下將資料就緒情況通訊到傳輸資源106。此外,傳輸資源106可指示其何時就緒(例如,資源就緒)以將封包傳遞到晶片上網路110的網路入徑108上。流量閘控邏輯316可經配置為在資料就緒情況及資源就緒情況皆為高的情況下輸出封包傳遞通知324。封包傳遞通知324可指示包含有效資料的封包已經傳輸到網路入徑108上及/或傳遞到晶片上網路110中。如上文描述,封包傳遞通知324可發送到傳遞賦能邏輯310並且可導致預算值330減小達來自成本表330的當前選擇的封包傳遞成本328,該封包傳遞成本可由成本表讀取指標產生器412的讀取指標指向。
在步驟606中,可監測藉由傳輸資源執行的將封包傳遞到晶片上網路中的速率。例如,如上文描述,流量監測邏輯312可經配置為基於傳遞通知324的信號來決定封包傳遞的速率及/或傳輸資源106的閒置週期。在第7圖所示的實例中,傳遞監測邏輯312可包含封包傳遞計數器722及傳遞循環計數器724,並且可基於成本表讀取指標產生器412的當前讀取指標值來從成本表330的記錄接收傳遞速率閾值338。在一些實施例中,傳遞速率閾值可包含傳遞計數閾值502及傳遞循環閾值504。封包傳遞計數器722可經配置為每次從流量閘控邏輯316接收封包傳遞通知324的信號時遞增。傳遞循環計數器724可經配置為計數傳遞時鐘循環,直到其到達傳遞循環閾值504或直到計數器回應於封包傳遞通知324而清除。在清除之後,傳遞循環計數器724可再次開始計數。
傳遞監測邏輯312可包含閒置循環計數器720並且基於成本表讀取指標產生器412的當前讀取指標值來從成本表330的記錄接收傳遞循環閾值504。閒置循環計數器720可經配置為在每個傳遞時鐘循環處遞增,同時傳輸資源106保持閒置或等待將下一封包傳遞到網路入徑108上。當將封包傳遞到網路入徑108上(例如,基於接收封包傳遞通知324)時,可清除(或重置)閒置循環計數器720。
在步驟608中,成本調整信號可基於藉由傳輸資源將封包傳遞到晶片上網路中的速率來產生。在第7圖的實例中,流量監測邏輯312可經配置將來自封包傳遞計數器722的當前封包傳遞計數與來自成本表330的當前傳遞計數閾值502進行比較,並且若在傳遞循環計數器724的計數匹配傳遞循環閾值504之前傳遞計數722變得等於傳遞計數閾值502,則流量監測邏輯312可經配置為將成本調整信號326或326A傳輸到表讀取指標產生器412(例如,用於遞增成本表讀取指標產生器412的讀取指標)。此外,流量監測邏輯312可經配置為將傳遞循環計數器724的計數值與來自成本表330的當前傳遞循環閾值504進行比較,並且若在來自封包傳遞計數器722的封包傳遞計數變得等於傳遞計數閾值502之前傳遞循環計數器724的計數變得等於傳遞循環閾值504,則流量監測邏輯312可經配置為清除(例如,重置)封包傳遞計數器722及傳遞循環計數器724,並且再次開始計數封包傳遞(例如,封包傳遞通知324)及傳遞時鐘循環,而不產生成本調整信號326(例如,維持從成本表讀取指標產生器412輸出的相同讀取指標)。
此外,流量監測邏輯312可經配置為將閒置循環計數器720的當前計數與來自成本表330的當前閒置時間閾值340進行比較,並且若當前閒置循環計數720變得等於閒置時間閾值340,則流量監測邏輯312可經配置為將成本調整信號326或成本調整信號326B傳輸到成本表讀取指標產生器412(例如,用於遞減成本表讀取指標產生器412的讀取指標)。在一些實施例中,可實施其他成本減小機制。例如,流量監測邏輯312可經配置為將封包傳遞速率與低傳遞速率閾值進行比較以決定何時傳輸成本調整信號326,用於遞減成本表讀取指標產生器的讀取指標以降低封包傳遞成本328。
在步驟610中,封包傳遞成本可回應於成本調整信號而修改,用於藉由傳輸資源將後續封包傳遞到晶片上網路中。例如,當前封包傳遞成本328可藉由從成本表330讀取較高或較低封包傳遞成本328來修改,用於傳遞賦能邏輯310中。如上文描述,在第7圖的實例中,回應於在傳遞循環計數器724的計數匹配傳遞循環閾值504之前傳遞計數器722的計數值變得等於傳遞計數閾值502,流量監測邏輯312可將成本調整信號326或326A傳輸到表讀取指標產生器412。因此,此成本調整信號326或326A可指示成本表讀取指標產生器412的讀取指標應當遞增,此可導致從成本表330讀取較高封包傳遞成本328的值。在另一實例中,如上文描述,回應於閒置循環計數器720的當前計數變得等於閒置時間閾值340,流量監測邏輯312可將成本調整信號326或成本調整信號326B傳輸到成本表讀取指標產生器412。因此,此成本調整信號326或326B可指示成本表讀取指標產生器412的讀取指標應當遞減,此可導致從成本表330讀取較低的封包傳遞成本328的值。傳遞賦能邏輯310可經配置為回應於接收後續封包傳遞通知324來在將成本減少應用於預算值320時利用較高或較低的封包傳遞成本328的值(例如,經調整的成本值)。例如,回應於藉由傳輸資源106將後續封包傳遞到晶片上網路110中,傳遞賦能邏輯310可經配置為基於經調整的封包傳遞成本328修改預算值320,用於選擇性賦能或去能藉由傳輸資源106將另外的後續封包傳遞到晶片上網路110中。由讀取指標中的變化及不同成本表條目導致的整形器的行為可在時間上係非線性的,並且取決於藉由客戶端產生的傳輸的序列。
如上文描述,在一些實施例中,成本表330的條目可經配置為使得在彼表中的最低位址包含最低封包傳遞成本328的值並且任何較高位址具有未減小的成本值(例如,每個增加的記錄索引儲存與先前記錄相比相同或較高的成本值)。在此配置中,封包流量的短脈衝可導致增加的表讀取指標值及較高的所選封包傳遞成本328的值,而增加發送器閒置週期可導致較低表讀取指標值及來自成本表330的較低的所選封包傳遞成本328的值。各種模型可用於產生封包傳遞成本改變模式(例如,用於增加或減少封包傳遞成本)。例如,可利用指數成本改變模式或線性類型的成本改變模式。在指數模式的實例中,在連續成本表330記錄中的相對封包傳遞成本可係先前記錄的成本的雙倍。在線性模式的實例中,在成本表330中的每個封包傳遞成本328的值可與其記錄索引加上常數值成比例。預算極限336及/或預算值320的範圍的高端亦可經修改以控制流量短脈衝並且修改短脈衝容差。在此方面,流量整形電路可係高度可配置的,用於回應於其自身的流量短脈衝來自調整,而不具有對晶片上網路110上的流量的全域意識。取決於如何配置成本表330的參數,流量整形的行為可係線性或非線性的。
示例線性及指數成本調整情況在下文提供並且使用Python語言呈現。表讀取指標可基於變數「i」從零遞增到成本表330中的記錄的某一數量。術語「M」可表示在數量「N」的時段時鐘循環中傳輸的封包的數量(M),用於遞增表讀取指標。術語「P」可表示某一數量的閒置時鐘循環(例如,不具有封包傳輸的時鐘循環),用於遞減表讀取指標。M、N、及P均可儲存在成本表記錄內。
Ⅲ.示例SOC實施方式
本文描述的實施例可在硬體、或與軟體及/或韌體結合的硬體中實施。例如,本文描述的實施例可實施為電腦程式碼/指令,該電腦程式碼/指令經配置為在一或多個處理器中執行並且在電腦可讀取儲存媒體中儲存。或者,本文描述的實施例可實施為硬體邏輯/電氣電路系統。
如本文提及,所描述的實施例(包括但不限於系統100、300、400、500、及700連同任何部件及/或其子部件),以及本文描述的流程圖/流程圖表的任何操作及部分及/或本文描述的進一步實例,可在硬體、或具有軟體及/或韌體的任何組合的硬體中實施,包括實施為經配置為在一或多個處理器中執行並且在電腦可讀取儲存媒體中儲存的電腦程式碼,或實施為硬體邏輯/電氣電路系統,諸如一起在晶片上系統(SoC)、現場可程式設計閘陣列(field programmable gate array; FPGA)、特殊應用積體電路(application specific integrated circuit; ASIC)、置信平台模組(trusted platform module; TPM)、及/或類似者中實施。SoC可包括積體電路晶片,該積體電路晶片包括處理器(例如,微控制器、微處理器、數位信號處理器(digital signal processor; DSP)等)、記憶體、一或多個通訊介面、及/或另外的電路及/或嵌入式韌體以執行其功能中的一或多個。
本文描述的實施例可在固定或行動電腦實施例中類似於行動系統及/或計算裝置的一或多個計算裝置中實施,包括本文描述的行動系統及/或計算裝置的一或多個特徵,以及替代特徵。本文提供的對計算裝置的描述出於說明目的而提供,並且不意欲為限制性。實施例可在另外類型的電腦系統中實施,如將為相關領域中的技藝人士已知的。
再次參見第7圖,流量整形電路102可在包含晶片上網路110的SOC中實施。預算暫存器716可儲存預算值320,該預算值可基於從可程式設計時段計時器輸出的預算信用循環334隨著時間累積。每次時段計時器到期,可程式設計量的封包傳遞信用332可添加到預算320。對於發送到晶片上網路110中的每個封包傳遞,當前傳遞成本328的值可產生並且從預算值320中減去。一旦預算值320下降到其低閾值之下,流量整形電路102就可能在網路入徑108處去能另外的流量,直到下一時段計時器到期。預算暫存器716可儲存預算值320,該預算值可包含使用者定義的位元寬度。從預算暫存器716輸出的預算值320的MSB可指示是否賦能封包傳遞(例如,可指示預算值320的低閾值係預算值320的數字範圍的一半)。利用MSB來用作預算值320的低閾值可簡化針對流量閘控邏輯316中的資料有效及資料就緒交握的關鍵路徑時序,以及與涉及更多位元的閾值比較電路相比,簡化針對朝向流量整形電路102的其他部分(例如,流量監測邏輯312及傳遞賦能邏輯310)的反饋的關鍵路徑時序。
利用可調整封包傳遞成本328的值提供了在網路入徑108處對封包傳遞速率的較佳調諧。為了實施可調整封包傳遞成本328,提供可包含使用者可定義大小的成本表330以允許許多不同的配置。在成本表330中的每個記錄420-430可保存若干參數,該等參數定義流量整形電路102的操作。在一個實例中,記錄可從最低封包傳遞成本(記錄0)到最高成本(記錄N)排列,並且當前成本索引(例如,成本表讀取指標產生器412的當前記錄選擇)可基於監測的封包流量行為(例如,封包傳遞通知324)及成本表330的配置來控制。成本表索引選擇可遞增,由於流量整形電路102允許更多傳遞,此繼而可降低封包傳遞的速率。此外,由於閒置循環在沒有封包傳遞的情況下隨著時間累積,成本表索引選擇可減少以便簡化對後續封包傳遞的限制。成本表330的每個記錄可包括欄位,該等欄位包含以下參數(例如,其中對於增加成本索引而言,成本值通常可以係不減小的)。封包傳遞成本328可為允許的每個封包交易指定從預算值320中減去的成本。預算極限336可指定極限值(例如,最大預算值),該極限值指示預算暫存器716飽和的點。此極限值可決定流量整形電路102在去能封包傳遞之前可以當前成本索引保持流量短脈衝多長時間。傳遞計數閾值502及傳遞循環計數閾值504(或傳遞速率閾值338)可指定在多少封包傳遞時間循環內,以當前選擇的封包傳遞的成本傳遞多少封包,可觸發移動以選擇成本表330中的較高封包傳遞成本328條目。閒置時間閾值340可指定自從成本表讀取指標產生器412的指標遞減之前的最近封包交易以來必須經過多少時間(例如,在封包傳遞時鐘循環中),以指向成本表330中的較低值成本條目。
實施例亦涉及包含在任何電腦可讀取媒體上儲存的電腦代碼或指令的電腦程式產品。此種電腦程式產品包括硬碟驅動器、光碟驅動器、記憶體裝置封裝、可攜式記憶條、記憶卡、及其他類型的實體儲存硬體。
IV.額外實例及優點
在一實施例中,一種流量整形電路在客戶端與傳輸資源之間通訊地耦接,該傳輸資源代表客戶端可操作以調節將封包傳遞到網路中。流量整形電路包含傳遞賦能邏輯,該傳遞賦能邏輯經配置為基於預算值來選擇性地賦能或去能藉由傳輸資源將封包傳遞到網路中。回應於藉由傳輸資源將封包傳遞到網路中,傳遞賦能邏輯可基於封包傳遞成本來修改預算值。流量整形電路進一步包含流量監測邏輯,該流量監測邏輯經配置為監測藉由傳輸資源執行的將封包傳遞到網路中的速率,及基於藉由傳輸資源將封包傳遞到網路中的速率來產生成本調整信號。流量整形電路進一步包含成本調整控制器,該成本調整控制器經配置為回應於成本調整信號來修改封包傳遞成本,用於藉由傳輸資源將後續封包傳遞到網路中。
在前述流量整形電路的一實施例中,傳遞賦能邏輯進一步經配置為,回應於藉由傳輸資源將後續封包傳遞到網路中,基於經修改的封包傳遞成本來修改預算值,用於選擇性賦能或去能藉由傳輸資源將另外的後續封包傳遞到網路中。
在前述流量整形電路的一實施例中,傳遞賦能邏輯進一步經配置為基於封包傳遞信用及預算極限來隨著時間修改預算值。
在前述流量整形電路的一實施例中,成本調整控制器進一步經配置為回應於成本調整信號來修改預算極限。
在前述流量整形電路的一實施例中,成本調整信號指示是回應於封包傳遞到網路中的速率大於傳遞速率閾值來增加封包傳遞成本,還是減少封包傳遞成本。
在前述流量整形電路的一實施例中,成本調整控制器進一步經配置為回應於成本調整信號來修改傳遞速率閾值及閒置時間閾值。
在前述流量整形電路的一實施例中,成本調整控制器進一步包含具有複數個記錄的成本表,該等記錄各自儲存相應封包傳遞成本。記錄基於其相應封包傳遞成本的值在成本表中排序。成本表讀取指標產生器經配置為基於針對所述修改封包傳遞成本對成本調整信號及排序記錄的指示來從成本表選擇性輸出較高的封包傳遞成本或較低的封包傳遞成本。
在前述流量整形電路的一實施例中,複數個記錄的每一者進一步儲存相應預算極限、相應傳遞速率閾值、及相應閒置時間閾值。
在前述流量整形電路的一實施例中,封包傳遞成本、預算極限、傳遞速率閾值、或閒置時間閾值的一或多個係可配置的。
在一實施例中,一種用於整形包含藉由傳輸資源代表客戶端傳遞到網路中的封包的流量的方法包含基於預算值來選擇性賦能或去能藉由傳輸資源將封包傳遞到網路中。回應於藉由傳輸資源將封包傳遞到網路中,預算值可基於封包傳遞成本來修改。監測藉由傳輸資源執行的將封包傳遞到網路中的速率。成本調整信號基於藉由傳輸資源將封包傳遞到網路中的速率來產生。封包傳遞成本回應於成本調整信號而修改,用於藉由傳輸資源將後續封包傳遞到網路中。
在前述方法的一實施例中,回應於藉由傳輸資源將後續封包傳遞到網路中,基於經修改的封包傳遞成本來修改預算值,用於選擇性賦能或去能藉由傳輸資源將另外的後續封包傳遞到網路中。
在前述方法的一實施例中,預算值基於封包傳遞信用及預算極限來隨著時間修改。
在前述方法的一實施例中,預算極限回應於成本調整信號而修改。
在前述方法的一實施例中,成本調整信號指示是回應於封包傳遞到網路中的速率大於傳遞速率閾值來增加封包傳遞成本,還是減少封包傳遞成本。
在前述方法的一實施例中,傳遞速率閾值及閒置時間閾值回應於成本調整信號而修改。
在前述方法的一實施例中,成本表讀取指標產生器從成本表選擇性輸出較高的封包傳遞成本或較低的封包傳遞成本。成本表具有複數個記錄,其中每個記錄儲存相應封包傳遞成本。記錄基於其相應封包傳遞成本的值在成本表中排序。選擇性輸出基於對成本調整信號及排序記錄的指示來執行,用於修改封包傳遞成本。
在前述方法的一實施例中,複數個記錄的每一者進一步儲存相應預算極限、相應傳遞速率閾值、及相應閒置時間閾值。
在前述方法的一實施例中,封包傳遞成本、預算極限、傳遞速率閾值、或閒置時間閾值的一或多個係可配置的。
在一實施例中,一種流量整形電路在客戶端與傳輸資源之間通訊地耦接,該傳輸資源代表客戶端可操作以調節將封包傳遞到網路中。流量整形電路包含傳遞賦能邏輯,該傳遞賦能邏輯經配置為基於預算值來選擇性賦能或去能藉由傳輸資源將封包傳遞到網路中,根據預算極限來基於時間線調整預算值,並且回應於藉由傳輸資源將封包傳遞到網路中,基於封包傳遞成本來調整預算值。流量整形電路進一步包含流量監測邏輯,該流量監測邏輯經配置為監測藉由傳輸資源執行的將封包傳遞到網路中的速率,及基於藉由傳輸資源將封包傳遞到網路中的速率來產生預算極限調整信號。流量整形電路進一步包含預算極限調整控制器,該預算極限調整控制器經配置為回應於預算極限調整信號來調整預算極限,用於控制賦能或去能藉由傳輸資源將後續封包傳遞到網路中。
在前述流量整形電路的一實施例中,預算極限調整信號指示是回應於將封包傳遞到網路中的速率大於傳遞速率閾值來增加預算極限,還是減少預算極限。
V.結論
儘管上文已經描述了本申請案的各個實施例,應當理解本申請案的各個實施例僅以實例的方式呈現,並且不作限制。相關領域中的技藝人士將理解,形式及細節的各種改變可在其中進行,而不脫離如在隨附申請專利範圍中定義的本申請案的精神及範疇。由此,本申請案的廣度及範疇不應當受上文描述的示例性實施例的任一者的限制,而是應當僅根據所附申請專利範圍及其等效物定義。
100:系統
102:流量整形電路
104:客戶端
106:傳輸資源
108:網路入徑
110:晶片上網路
112:節點
114:網路鏈路
200:流程圖
202:步驟
204:步驟
206:步驟
300:系統
310:傳遞賦能邏輯
312:流量監測邏輯
314:成本調整控制器
316:流量閘控邏輯
320:預算值
322:傳遞賦能
324:傳遞通知
326:成本調整信號
326A:成本調整信號
326B:成本調整信號
328:封包傳遞成本
330:成本表
332:封包傳遞信用
334:預算信用循環
336:預算極限
338:傳遞速率閾值
340:閒置時間閾值
400:系統
412:成本表讀取指標產生器
420:記錄
422:記錄
424:記錄
426:記錄
428:記錄
430:記錄
500:系統
502:傳遞計數閾值
504:傳遞循環計數閾值
600:流程圖
602:步驟
604:步驟
606:步驟
608:步驟
610:步驟
700:系統
712:多工器
714:多工器
716:預算暫存器
720:閒置循環計數器
722:封包傳遞計數器
724:傳遞循環計數器
D:正反器
MSB:最高有效位元
併入本文中並且形成說明書的部分的附圖示出本申請案的實施例,並且連同描述一起進一步用於解釋實施例的原理並且使相關領域中的技藝人士能夠進行及使用實施例。
第1圖係根據示例實施例的包含用於動態地調節到晶片上網路中的傳輸的流量整形電路的系統的方塊圖。
第2圖係根據示例實施例的用於藉由動態地調整封包傳遞成本及/或預算參數來控制封包傳遞速率的方法的流程圖。
第3圖係根據示例實施例的示出藉由動態地調整封包傳遞成本及/或預算參數的流量整形電路執行的功能的方塊圖。
第4圖係根據示例實施例的包含成本調整控制器的系統的方塊圖,該成本調整控制器具有用於儲存整形封包傳輸速率的參數的成本表。
第5圖係根據示例實施例的第4圖的成本表及用於整形封包傳輸速率的儲存參數的圖表。
第6圖係根據示例實施例的用於動態地調節到晶片上網路中的傳輸的方法的流程圖。
第7圖係根據示例實施例的動態地調整封包傳遞成本及/或預算極限參數的流量整形電路的方塊圖。
當結合圖式進行時,本文描述的特徵及優點將從下文闡述的詳細描述中變得更顯而易見,其中在全文中類似參考數字標識對應的元件。在圖式中,相同元件符號大體指示相同、功能類似、及/或結構類似的元件。元件首次出現的圖式藉由對應元件符號中最左邊的數字表示。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
102:流量整形電路
104:客戶端
106:傳輸資源
108:網路入徑
300:系統
310:傳遞賦能邏輯
312:流量監測邏輯
314:成本調整控制器
316:流量閘控邏輯
320:預算值
322:傳遞賦能
324:傳遞通知
326:成本調整信號
328:封包傳遞成本
330:成本表
332:封包傳遞信用
334:預算信用循環
336:預算極限
338:傳遞速率閾值
340:閒置時間閾值
Claims (20)
- 一種流量整形電路,在一客戶端與一傳輸資源之間通訊地耦接,該傳輸資源可操作以代表該客戶端調節將封包傳遞到一網路中,該流量整形電路包含: 傳遞賦能邏輯,經配置為: 基於一預算值來選擇性賦能或去能藉由該傳輸資源將封包傳遞到該網路中;以及 回應於藉由該傳輸資源將一封包傳遞到該網路中,基於一封包傳遞成本來修改該預算值; 流量監測邏輯,經配置為: 監測藉由該傳輸資源執行的將封包傳遞到該網路中的一速率;以及 基於藉由該傳輸資源將封包傳遞到該網路中的該速率來產生一成本調整信號;以及 一成本調整控制器,經配置為: 回應於該成本調整信號來修改該封包傳遞成本,用於藉由該傳輸資源將一後續封包傳遞到該網路中。
- 如請求項1所述的流量整形電路,其中該傳遞賦能邏輯進一步經配置為: 回應於藉由該傳輸資源將一後續封包傳遞到該網路中,基於該經修改的封包傳遞成本來修改該預算值,用於選擇性賦能或去能藉由該傳輸資源將一另外的後續封包傳遞到該網路中。
- 如請求項1所述的流量整形電路,其中該傳遞賦能邏輯進一步經配置為基於封包傳遞信用及一預算極限來隨著時間修改該預算值。
- 如請求項3所述的流量整形電路,其中該成本調整控制器進一步經配置為回應於該成本調整信號來修改該預算極限。
- 如請求項3所述的流量整形電路,其中該成本調整信號指示是否: 回應於將封包傳遞到該網路中的該速率大於一傳遞速率閾值來增加該封包傳遞成本;或 減少該封包傳遞成本。
- 如請求項5所述的流量整形電路,其中該成本調整控制器進一步經配置為回應於該成本調整信號來修改該傳遞速率閾值及該閒置時間閾值。
- 如請求項1所述的流量整形電路,其中該成本調整控制器進一步包含: 一成本表,具有複數個記錄,各自儲存一相應封包傳遞成本,其中該等記錄在該成本表中基於其相應封包傳遞成本的值排序,及 一成本表讀取指標產生器,經配置為基於針對所述修改該封包傳遞成本對該成本調整信號及該等排序記錄的一指示來從該成本表選擇性輸出一較高的封包傳遞成本或一較低的封包傳遞成本。
- 如請求項7所述的流量整形電路,其中該複數個記錄的每一者進一步儲存一相應預算極限、一相應傳遞速率閾值、及一相應閒置時間閾值。
- 如請求項8所述的流量整形電路,其中該封包傳遞成本、該預算極限、該傳遞速率閾值、或該閒置時間閾值的一或多個係可配置的。
- 一種用於整形包含藉由一傳輸資源代表一客戶端傳遞到一網路中的封包的流量的方法,該方法包含以下步驟: 基於一預算值來選擇性賦能或去能藉由該傳輸資源將封包傳遞到該網路中; 回應於藉由該傳輸資源將一封包傳遞到該網路中,基於一封包傳遞成本來修改該預算值; 監測藉由該傳輸資源執行的將封包傳遞到該網路中的一速率; 基於藉由該傳輸資源將封包傳遞到該網路中的該速率來產生一成本調整信號;以及 回應於該成本調整信號來修改該封包傳遞成本,用於藉由該傳輸資源將一後續封包傳遞到該網路中。
- 如請求項10所述的方法,進一步包含以下步驟: 回應於藉由該傳輸資源將一後續封包傳遞到該網路中,基於該經修改的封包傳遞成本來修改該預算值,用於藉由該傳輸資源來選擇性賦能或去能將一另外的後續封包傳遞到該網路中。
- 如請求項10所述的方法,進一步包含以下步驟: 基於封包傳遞信用及一預算極限來隨著時間修改該預算值。
- 如請求項12所述的方法,進一步包含以下步驟: 回應於該成本調整信號來修改該預算極限。
- 如請求項12所述的方法,其中該成本調整信號指示是否: 回應於將封包傳遞到該網路中的該速率大於一傳遞速率閾值來增加該封包傳遞成本;或 減少該封包傳遞成本。
- 如請求項14所述的方法,進一步包含以下步驟: 回應於該成本調整信號來修改該傳遞速率閾值及該閒置時間閾值。
- 如請求項10所述的方法,進一步包含以下步驟: 藉由一成本表讀取指標產生器從一成本表選擇性輸出一較高的封包傳遞成本或一較低的封包傳遞成本; 其中該成本表具有複數個記錄,各自儲存一相應封包傳遞成本並且該等記錄在該成本表中基於其相應封包傳遞成本的值排序;以及 其中基於針對所述修改該封包傳遞成本的對該成本調整信號及該等排序記錄的一指示,執行該選擇性輸出。
- 如請求項16所述的方法,其中: 該複數個記錄的每一者進一步儲存一相應預算極限、一相應傳遞速率閾值、及一相應閒置時間閾值。
- 如請求項17所述的方法,其中該封包傳遞成本、該預算極限、該傳遞速率閾值、或該閒置時間閾值的一或多個係可配置的。
- 一種流量整形電路,在一客戶端與一傳輸資源之間通訊地耦接,該傳輸資源可操作以代表該客戶端調節將封包傳遞到一網路中,該流量整形電路包含: 傳遞賦能邏輯,經配置為: 基於一預算值來選擇性賦能或去能藉由該傳輸資源將封包傳遞到該網路中; 根據一預算極限來基於一時間線調整該預算值;以及 回應於藉由該傳輸資源將一封包傳遞到該網路中,基於一封包傳遞成本來調整該預算值; 流量監測邏輯,經配置為: 監測藉由該傳輸資源執行的將封包傳遞到該網路中的一速率;以及 基於藉由該傳輸資源將封包傳遞到該網路中的該速率來產生一預算極限調整信號;以及 一預算極限調整控制器,經配置為: 回應於該預算極限調整信號來調整該預算極限,用於控制賦能或去能藉由該傳輸資源將一後續封包傳遞到該網路中。
- 如請求項19所述的流量整形電路,其中該預算極限調整信號指示是否: 回應於將封包傳遞到該網路中的該速率大於一傳遞速率閾值來增加該預算極限;或 減小該預算極限。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/334,043 US11818050B2 (en) | 2021-05-28 | 2021-05-28 | Nonlinear traffic shaper with automatically adjustable cost parameters |
US17/334,043 | 2021-05-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202301842A true TW202301842A (zh) | 2023-01-01 |
Family
ID=81750446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111114629A TW202301842A (zh) | 2021-05-28 | 2022-04-18 | 具有可自動調整成本參數的非線性流量整形器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11818050B2 (zh) |
EP (1) | EP4348943A1 (zh) |
KR (1) | KR20240011693A (zh) |
TW (1) | TW202301842A (zh) |
WO (1) | WO2022250891A1 (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1217510C (zh) | 1998-06-05 | 2005-08-31 | 英国电迅有限公司 | 通讯网络 |
US7330430B2 (en) | 2002-06-04 | 2008-02-12 | Lucent Technologies Inc. | Packet-based traffic shaping |
US8250231B2 (en) * | 2004-12-22 | 2012-08-21 | Marvell International Ltd. | Method for reducing buffer capacity in a pipeline processor |
US10248996B2 (en) * | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US20120281536A1 (en) * | 2009-06-12 | 2012-11-08 | Cygnus Broadband, Inc. | Systems and methods for detection for prioritizing and scheduling packets in a communication network |
US20120327779A1 (en) * | 2009-06-12 | 2012-12-27 | Cygnus Broadband, Inc. | Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network |
US8971841B2 (en) | 2010-12-17 | 2015-03-03 | Microsoft Corporation | Operating system supporting cost aware applications |
US9350673B2 (en) * | 2013-03-14 | 2016-05-24 | Vivint, Inc. | Dynamic adjustment of quality of service parameters |
US10355958B2 (en) * | 2017-05-15 | 2019-07-16 | The Toronto-Dominion Bank | Methods, systems and devices for monitoring and managing network-connected device usage |
-
2021
- 2021-05-28 US US17/334,043 patent/US11818050B2/en active Active
-
2022
- 2022-04-18 TW TW111114629A patent/TW202301842A/zh unknown
- 2022-05-04 KR KR1020237039112A patent/KR20240011693A/ko unknown
- 2022-05-04 WO PCT/US2022/027540 patent/WO2022250891A1/en active Application Filing
- 2022-05-04 EP EP22725071.9A patent/EP4348943A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022250891A1 (en) | 2022-12-01 |
KR20240011693A (ko) | 2024-01-26 |
US20220385582A1 (en) | 2022-12-01 |
US11818050B2 (en) | 2023-11-14 |
EP4348943A1 (en) | 2024-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11575609B2 (en) | Techniques for congestion management in a network | |
US10764215B2 (en) | Programmable broadband gateway hierarchical output queueing | |
US11275829B2 (en) | Mechanism for throttling untrusted interconnect agents | |
US8004970B2 (en) | Method, system and program product for setting a transmission rate in a network | |
US10536385B2 (en) | Output rates for virtual output queses | |
CN115729864A (zh) | 存储装置、电子装置以及电子装置的操作方法 | |
US20220255872A1 (en) | Dynamic network receiver-driven data scheduling over a datacenter network for managing endpoint resources and congestion mitigation | |
WO2019109902A1 (zh) | 队列调度方法及装置、通信设备、存储介质 | |
JP2023544270A (ja) | 動的ネットワークオンチップスロットリング | |
WO2021115482A1 (zh) | 一种令牌的调整方法及装置 | |
TW202301842A (zh) | 具有可自動調整成本參數的非線性流量整形器 | |
US8843671B1 (en) | Dynamic resource allocation for serial attached SCSI devices | |
CN113568563A (zh) | 用于ssd的自适应存储调度器 | |
JPWO2012127632A1 (ja) | 通信制御装置、通信制御方法および通信制御回路 | |
US20210152432A1 (en) | Forward Progress Mechanisms for a Communications Network having Multiple Nodes | |
US11909628B1 (en) | Remote direct memory access (RDMA) multipath | |
US20230035142A1 (en) | Input work item flow metric for computing environment telemetry | |
CN109564611B (zh) | 用于对非受信任互连代理进行限流的机制 | |
US20240187336A1 (en) | Routing transport flows in a transport layer over multiple paths in a network layer | |
US11909841B2 (en) | System, apparatus and method for adaptive peer-to-peer communication with edge platform | |
Zhang et al. | Micro-burst aware ECN in multi-queue data centers: algorithm and implementation | |
WO2024140030A1 (zh) | 一种非实时数据传输方法、装置及存储介质 | |
CN107078999A (zh) | 传输数据的方法和装置 | |
CN115357363A (zh) | 限流方法、装置、任务响应系统、电子设备及存储介质 |