US20120324102A1 - Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing - Google Patents

Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing Download PDF

Info

Publication number
US20120324102A1
US20120324102A1 US13/592,770 US201213592770A US2012324102A1 US 20120324102 A1 US20120324102 A1 US 20120324102A1 US 201213592770 A US201213592770 A US 201213592770A US 2012324102 A1 US2012324102 A1 US 2012324102A1
Authority
US
United States
Prior art keywords
rate
network processor
processing
flow rate
ppes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/592,770
Inventor
Uichin Lee
Ivica Rimac
Volker Friedrich Hilt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Alcatel Lucent USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent USA Inc filed Critical Alcatel Lucent USA Inc
Priority to US13/592,770 priority Critical patent/US20120324102A1/en
Assigned to ALCATEL-LUCENT USA, INC. reassignment ALCATEL-LUCENT USA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HILT, VOLKER FRIEDRICH, LEE, UICHIN, RIMAC, IVICA
Publication of US20120324102A1 publication Critical patent/US20120324102A1/en
Assigned to CREDIT SUISSE AG reassignment CREDIT SUISSE AG SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ALCATEL-LUCENT USA INC.
Assigned to ALCATEL-LUCENT USA INC. reassignment ALCATEL-LUCENT USA INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: CREDIT SUISSE AG
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the invention is directed to data packet networks, particularly to processing data packets in a network in a manner that respects quality of service (QoS) commitments of certain data packet traffic, referred to herein as a QoS-aware manner, while at the same time addressing energy efficiency of network processors handling the data packet traffic.
  • QoS quality of service
  • a modern router is typically equipped with hundreds of network processors for fast processing of data plane tasks (e.g., routing, packet classification, encryption, QoS, etc). Since the energy consumption of those network processors (NPs) dominates that of packet transport over the wires, one way of reducing energy consumption is to dynamically provision network processors on the basis of time varying traffic volume demands. For instance, if the utilization of a router is 70% to route a current volume of traffic, the router configures its processing rate as 70% of its peak rate. To this end, modern network processors employ Dynamic Voltage Scaling (DVS) that allows NPs to slow down their operating frequency (or rate) and lower their operating voltage to save energy.
  • DVS Dynamic Voltage Scaling
  • Embodiments of the invention are directed to energy-efficient network processing of delay tolerant data packet traffic.
  • Some embodiments of the invention determine if an aggregate of time critical traffic flow rates and minimum rates for meeting QoS requirements of delay tolerant traffic flows exceeds a summation of respective optimal rates for energy efficiency of packet processing engines in a network processor. In the affirmative case, the embodiments set the processing rate of individual packet processing engines to respective minimum processing rates, such that the cumulative rate of the packet processing engines meets the aggregate rate, and schedule the delay tolerant flows to meet their respective minimum rates.
  • Some embodiments of the invention in the negative of the foregoing condition determine and subsequently use a minimum number of packet processing engines required to meet a total of the time critical traffic flow rates and rates of the delay tolerant flows.
  • a method is provided of controlling a processing rate used in a network processor having a plurality of packet processing engines.
  • the method includes the steps of: determining an aggregate rate of time critical flows received by the network processor; determining an aggregate minimum rate that will meet respective quality of service requirements of all delay tolerant flows received by the network processor; summing the aggregate rate of time critical flows and the aggregate minimum rate to obtain a summed rate; totaling respective optimal rates for energy efficiency of the packet processing engines to obtain a cumulative optimal rate; comparing the summed rate to the cumulative optimal rate; determining, responsive to the summed rate being greater than the cumulative optimal rate, a respective minimum processing rate for each packet processing engine such that a summation of the minimum processing rates is greater than or equal to the summed rate; and scheduling processing of the delay tolerant flows by the packet processing engines to meet the respective quality of service requirements of the delay tolerant flows.
  • the method may further include the steps of: determining an aggregate rate of the time critical flows and the delay tolerant flows to obtain an aggregate input rate; determining, responsive to the summed rate being less than or equal to the cumulative optimal rate, a minimum subset of packet processing engines such that the aggregate input rate is less than or equal to a summation of the respective optimal rates of the packet processing engines of the subset; and scheduling processing of the delay tolerant flows and the time critical flows on only packet processing engines of the subset.
  • a rate controllable network processor includes a plurality of packet processing engines and a rate estimator for determining from a flow of IP packets received by the network processor: an aggregate rate of time critical flows received by the network processor, and an aggregate minimum rate that will meet respective quality of service requirements of delay tolerant flows received by the network processor.
  • the network processor also includes a rate controller for determining a respective minimum processing rate for each packet processing engine such that a summation of the minimum processing rates is greater than or equal to a summation of the aggregate rate of time critical flows and the aggregate minimum rate; and a dispatcher for scheduling processing of the delay tolerant flows by the packet processing engines to meet the respective quality of service requirements of the delay tolerant flows, wherein each packet processing engine is operable to process packets at its respective minimum processing rate.
  • the rate estimator may additionally be operable to determine an aggregate input rate including a summation of the aggregate rate of time critical flows and an aggregate rate of the delay tolerant flows and to sum the aggregate rate of time critical flows and the aggregate minimum rate to obtain a summed rate.
  • the rate controller may additionally be operable to obtain respective optimal rates for energy efficiency of the packet processing engines and to total respective optimal rates for energy efficiency of the packet processing engines to obtain a cumulative optimal rate, and to determine, responsive to the summed rate being less than or equal to the cumulative optimal rate, a minimum subset of packet processing engines such that the aggregate input rate is less than or equal to a summation of the respective optimal rates of the packet processing engines of the subset.
  • the dispatcher may additionally be operable to schedule processing of the delay tolerant flows and the time critical flows on only packet processing engines of the subset.
  • a controller for a network processor having a plurality of packet processing engines includes a rate estimator for determining from a flow of IP packets received by the network processor: an aggregate rate of time critical flows received by the network processor, and an aggregate minimum rate that will meet respective quality of service requirements of delay tolerant flows received by the network processor.
  • the controller also includes: a rate controller for determining a respective minimum processing rate for each packet processing engine such that a summation of the minimum processing rates is greater than or equal to a summation of the aggregate rate of time critical flows and the aggregate minimum rate; and a dispatcher for scheduling processing of the delay tolerant flows by the packet processing engines to meet the respective quality of service requirements of the delay tolerant flows.
  • Various exemplary embodiments relate to a method performed by a network processor for controlling a processing rate, the method including: identifying a delay tolerant flow that is being processed by the network processor at a first current flow rate; determining a quality of service (QoS) requirement associated with the delay tolerant flow; determining a reduced flow rate for the delay tolerant flow, wherein the reduced flow rate is less than the first current flow rate, and the reduced flow rate is sufficient to fulfill the QoS requirement; and reducing the processing rate of the network processor based on the reduced flow rate.
  • QoS quality of service
  • a rate controllable network processor including: a rate estimator configured to: identify a delay tolerant flow that is being processed by the network processor at a first current flow rate, determine a quality of service (QoS) requirement associated with the delay tolerant flow, and determine a reduced flow rate for the delay tolerant flow, wherein the reduced flow rate is less than the first current flow rate, and the reduced flow rate is sufficient to fulfill the QoS requirement; and a rate controller configured to reduce a processing rate of the network processor based on the reduced flow rate.
  • QoS quality of service
  • Various exemplary embodiments relate to a non-transitory machine readable storage medium encoded with instructions for execution by a network processor for controlling a processing rate, the medium including: instructions for identifying a delay tolerant flow that is being processed by the network processor at a first current flow rate; instructions for determining a quality of service (QoS) requirement associated with the delay tolerant flow; instructions for determining a reduced flow rate for the delay tolerant flow, wherein the reduced flow rate is less than the first current flow rate, and the reduced flow rate is sufficient to fulfill the QoS requirement; and instructions for reducing the processing rate of the network processor based on the reduced flow rate.
  • QoS quality of service
  • Various embodiments additionally include identifying a time critical flow that is being processed by the network processor at a second current flow rate; and obtaining a summed rate based on a sum of the reduced flow rate and the second current flow rate, wherein reducing the processing rate of the network processor based on the reduced flow rate includes reducing the processing rate based on the summed rate.
  • reducing the processing rate of the network processor based on the reduced flow rate includes: determining an optimal rate of a plurality of packet processing engine (PPE) of the network processor, wherein the optimal rate is selected to provide energy efficient processing relative to other possible rates; determining that reduction of processing rates of the PPE based on the reduced flow rate would reduce the processing rate of the PPE below the optimal rate; and in response to determining that reduction of processing rates of the PPE based on the reduced flow rate would reduce the processing rate of a PPE below the optimal rate, deactivating at least one PPE of the plurality of PPEs.
  • PPE packet processing engine
  • Various embodiments additionally include identifying a plurality of time critical flows being processed by the network processor at a second aggregate flow rate; obtaining a summed rate based on a sum of the aggregate reduced flow rate and the second aggregate flow rate, wherein reducing the processing rate of the network processor based on the aggregate reduced flow rate includes setting the processing rate of the network processor to substantially equal the summed rate.
  • the network processor includes a plurality of packet processing engines (PPEs) and setting the processing rate of the network processor to substantially equal the summed rate includes: determining an energy efficient rate for a PPE of the plurality of PPEs; determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs; based on determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs, deactivating at least one PPE of the plurality of PPEs.
  • PPEs packet processing engines
  • the network processor includes a plurality of packet processing engines (PPEs) and setting the processing rate of the network processor to substantially equal the summed rate includes reducing a rate of at least one PPE of the plurality of PPEs based on the summed rate.
  • PPEs packet processing engines
  • FIG. 1 illustrates a power profile of a single packet processing engine
  • FIG. 2 illustrates a rate controllable network processor according to an embodiment of the invention
  • FIG. 3 illustrates a method of controlling a processing rate used in the network processor of FIG. 2 .
  • Embodiments of the invention are directed to energy-efficient network processing of delay tolerant packet data traffic.
  • An example of such traffic is delay tolerant bulk data (DTB), which is applicable to a wide range of delay tolerant content delivery applications such video delivery (NetFlix), scientific data exchanges (high resolution images), data center synchronization, etc.
  • DTB delay tolerant bulk data
  • the invention intentionally throttles DTB traffic (yet satisfies application-level QoS) to lower the overall aggregate data rate in the intermediate routers. As a result, we can decrease the operating voltages of network processors, thereby significantly reducing energy consumption.
  • Embodiments of the invention find application in modern high-speed routers which are typically equipped with hundreds of network processors for fast processing of data plane tasks.
  • FIG. 1 is a graph of a power profile 100 of a single packet processing engine (PPE), of which several hundred could be employed by a typical network processor.
  • PPE packet processing engine
  • the graph displays the processing energy per processed packet versus the processing rate.
  • the power profile 100 has a minimum energy per processed packet at an optimal rate R O below which no energy saving can be achieved.
  • R O consumes the least energy for forwarding a packet.
  • R A is the sum of (1) the rate of time critical packets denoted as R T and (2) the rate of delay tolerant packet denoted as R D .
  • FIG. 2 depicts a rate controllable network processor 200 according to an embodiment of the invention.
  • the network processor 200 includes a packet header extractor 202 that receives an input flow 204 of IP data packets, extracts the IP headers of those packets, and outputs a first flow 206 of the extracted IP packet headers to a rate estimator 210 and a second flow 208 of the IP packets to a packet buffer 212 .
  • the rate estimator 210 and packet buffer 212 are respectively connected to the packet header extractor 202 for this purpose.
  • the input flow 204 may include one or more flows of time critical data packet traffic F T and one or more flows of delay tolerant data packet traffic F D .
  • the rate estimator 210 receives the first flow 206 of extracted IP headers, estimates an aggregate rate R A of the first flow 206 using the extracted IP headers, which includes headers of time critical F T and delay tolerant flows F D .
  • the aggregate rate R A is determined using a time window exponential moving average, for example a window in the range of 10 milliseconds to 2 seconds is used.
  • a sum of packet sizes, as specified in their respective headers, of packets arriving during the time window divided by the duration of the time window provides a sample aggregate rate, which sample is averaged with other such samples, taken periodically and each having a time-variant weighting for the purpose of the calculation, to obtain an exponential moving average of the aggregate rate R A .
  • an exponential moving average of just the time critical flows aggregate rate R T is calculated.
  • functionality performed by the packet header extractor 202 could be included in the rate estimator 210 , such that the rate estimator performs its aforementioned functions on the input flow 204 of IP data packets received by the network processor 200 .
  • the rate estimator 210 also determines a minimum rate R D — QOS required to meet QoS commitments on delay tolerant flows F D . This determination is made by reading a minimum rate indication from the extracted headers of each delay tolerant flow F D , and summing these rate indications to obtain the minimum rate R D — QOS .
  • the Type-of-Service byte in the IP header is used for providing the minimum rate indications in the IP headers. For example, by using a floating point representation with four bits for mantissa and four bits for exponent, any rate between 1 Kbps and 65 Mbps can be represented with an accuracy of 6.25%.
  • Other ways of providing the minimum rate indications are to use an IP option in the case of IP version 4 (IPv4), or a hop-by-hop extension header in the case of IP version 6 (IPv6).
  • the minimum rate R D — QOS is kept current by tracking all of the delay tolerant flows being processed by the network processing 200 , for example in a list or table with the corresponding minimum rate indication associated with each such flow. As data packets of new delay tolerant flows are received by the network processor 200 , or data packets of existing flows cease to be received by the network processor 200 , this tracking mechanism is updated to reflect such changes and the minimum rate R D — QOS is recalculated accordingly.
  • Any delay tolerant flow that has been inactive for at least a duration of time equal to the inverse of its minimum rate indication will have its minimum rate indication excluded from a subsequent recalculation of the minimum rate R D — QOS , which recalculation would be triggered by detection of such inactivity by the rate estimator 210 .
  • the rate estimator 210 provides the aggregate rate R A , the time critical flows aggregate rate R T , and the minimum rate R D — QOS to a rate controller 216 via a connection 214 thereto and forwards the extracted IP packet headers to a dispatcher 224 via a connection 218 between the dispatcher 224 and rate estimator 210 .
  • the rate controller 216 has means 220 for obtaining the optimal rate R O .
  • Such means 220 includes reading the value of the optimal rate R O from a memory, wherein the value has been stored there and determined either manually through energy utilization measurements over a range of processing rates or automatically via a like procedure, and circuitry internal or external to the network processor 200 for determining the optimal rate R O of packet processing engines used by the network processor.
  • the rate controller 216 has a connection 222 to the dispatcher 224 and a connection 234 to a multi-core processing engine 226 .
  • the multi-core processing engine has a plurality of input connections 236 to the dispatcher for receiving IP packet headers there from, and a plurality of output connections 240 to a packet aggregator 238 for transmitting processed IP packet headers thereto.
  • the multi-core processing engine 226 includes a plurality N of packet processing engines (PPE) of which a first PPE 228 , a second PPE 230 , and an Nth PPE 232 are shown in the figure.
  • the PPEs 228 to 232 are configured in parallel for the purpose of processing data packet headers received by the multi-core processing engine 226 .
  • Each PPE is coupled to a respective connection of the plurality of input connections 236 and to a respective connection of the plurality of output connections 240 .
  • Each PPE has an input for receiving a PPE rate R PPE provided to the multi-core processing engine 226 by the rate controller 216 via the connection 234 between them.
  • Each PPE is capable of performing various data processing tasks on IP packet header to carry out such data plane tasks as packet processing, packet classification, packet forwarding, etc.
  • the dispatcher 224 receives IP packet headers from the rate estimator 210 , or alternatively it could receive them directly from the packet header extractor 202 , and selectively forwards each IP packet header to one of the PPEs. Which PPE is selected for a given IP packet header and the rate at which the forwarding is done for delay tolerant flows F D will be further explained after the function of the rate controller 216 , which affects the selection and rate, is described.
  • the rate controller 216 determines a number K of PPEs from which the dispatcher 224 can select a PPE to which it will forward an IP packet header.
  • the rate controller 216 informs the dispatcher 224 of the number K via its connection 222 to the dispatcher 224 .
  • the remaining PPEs, of which there will be N-K in number, will not receive any IP packet headers until the number K is increased and will go into an energy conserving idle state via clock gating functionality provided on each of the PPEs.
  • the clock gating function is circuitry that enables a PPE to detect inactivity at its data input, the input which would otherwise be receiving IP packet headers, and disable a clock signal to the PPE in order to minimize power consumption caused by cycling of the clock signal even the absence of data processing operations.
  • the dispatcher 224 will select a PPE from the entire plurality of N PPEs.
  • the rate controller 216 determines the PPE rate R PPE to be provided to the multi-core processing engine 226 . In such cases the rate controller 216 also provides the dispatcher 224 with the minimum rate R D — QOS , or alternatively the minimum rate R D — QOS can be provided to the dispatcher 224 by the rate estimator 210 for use in such cases.
  • the optimal rate R O is used as a default processing rate instead by the PPEs, which optimal rate R O is provided by the rate controller 216 or alternatively by the previously described means 220 for obtaining the optimal rate R O .
  • the same PPE rate R PPE is provided to each of the PPEs.
  • one or more of the PPEs could receive a respective PPE rate that is unique as compared to one or more other PPE rates and of which the dispatcher 224 would be informed to accordingly adjust its corresponding dispatching rate of IP header packets to that PPE.
  • the dispatcher 224 is operable to perform fair scheduling of IP packet headers of the delay tolerant traffic flows F D based on the required minimum rate of each such flow as specified in its corresponding IP packet headers as previously described. If the dispatcher 224 is instructed by the rate controller 216 to perform such scheduling, it will do so keeping the cumulative rate of such flows within the minimum rate R D — QOS . Otherwise, the dispatcher 224 will dispatch the IP packet headers of delay tolerant flows F D as it receives them. In either case, in this embodiment the dispatcher 224 does not perform scheduling on time critical flows F T , however such scheduling could be done in other embodiments as long as QoS requirements of those flows are met with such scheduling being performed.
  • the dispatcher 224 selects a PPE to which to forward an IP packet header from either the entire plurality N of PPEs or a subset K of the PPEs, as previously described. The selection is done in a round-robin manner. In cases where one or more PPEs have different processing rates, the dispatcher 224 will select an appropriate PPE for a given IP packet header in dependence upon the processing rates of available PPEs in a current round-robin cycle and the required minimum rate of the flow to which IP packet header belongs.
  • the packet aggregator 238 receives processed IP packet headers from the multi-core processing engine 226 and IP packets from the packet buffer via a connection 242 thereto, and rebuilds each IP packet by replacing its existing IP packet header with a corresponding processed IP packet header. The packet aggregator 238 then outputs the resulting processed IP packets, for example to a router switching fabric for routing or to another network processor for further processing.
  • the functionality provided by the packet buffer 212 could be performed by the packet aggregator 238 , or if the dispatcher 224 dealt with entire IP packets and not just IP packet headers as previously described, the packet buffer 212 would not be needed.
  • the functionality provided by packet aggregator 238 either enhanced with the packet buffer 212 functionality or not, could be performed by the multi-core processing engine 226 .
  • a controller for a network processor having a plurality of packet processing engines could include merely the rate estimator 210 , the rate controller 216 , and the dispatcher 224 . In that case and if the controller dealt with entire IP packets, the functionality of the packet header extractor 202 , packet buffer 212 , and packet aggregator 238 would not be required.
  • the method 300 determines 304 the rate R T of the time critical flows and the aggregate rate R A of the delay tolerant and time critical flows received by the network processor.
  • the method 300 determines 306 the aggregate minimum rate R D — QOS that will meet the QoS requirements of all the delay tolerant flows F D . It should be noted that the order of these determinations 304 , 306 can be reversed without affecting the outcome of the method 300 .
  • a determination 308 is made whether or not the rate summation of the rate R T of time critical flows and the minimum rate R D — QOS is less than or equal to N times the optimal rate R O , where N is the number of PPEs in the network processor. It should be noted that the aggregate rate R A is not needed unless the present determination 306 has an affirmative result, so that determination of the aggregate rate R A could be omitted from the determination 304 and made responsive to the present determination 308 resulting in the affirmative.
  • a minimum number K of PPEs is determined 310 such that the aggregate rate R A is less than or equal to K times the optimal rate R O .
  • the dispatcher 224 is then instructed 312 to use a subset of size K PPEs of the plurality of PPEs when selecting a PPE to which to forward an IP packet header.
  • the method 300 then ends 314 , however it would typically return to the start 302 after a period of time or responsive to a change in the input flow 204 of IP packets to the network processor.
  • a minimum PPE rate R PPE is determined 316 such that N times the minimum PPE rate R PPE is greater the summation of the rate R T of time critical flows and the minimum rate R D — QOS .
  • the dispatcher 224 is then instructed to perform fair scheduling on the delay tolerant flows according to their respective minimum rates and keeping with the minimum rate R D — QOS .
  • the processing rate of the PPEs is then set 320 to the PPE rate R PPE and the method 300 ends 314 .
  • the method 300 would restart by returning the start 302 after a period of time or responsive to a change in the input flow 204 of IP packets to the network processor.
  • embodiments of the invention can significantly lower the energy consumption of intermediate routers via QoS-aware processing rate throttling of delay tolerant bulk data transfer.
  • These embodiments can be used with other techniques for lowering energy consumption of bulk data transfers such as lowering physical transmit/receive rates over a communication medium to further improve energy efficiency of delay tolerant bulk data delivery.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention is directed to energy-efficient network processing of delay tolerant data packet traffic. Embodiments of the invention determine if an aggregate of time critical traffic flow rates and minimum rates for meeting QoS requirements of delay tolerant traffic flows exceeds a combined optimal rate of packet processing engines of a network processor. In the affirmative case, embodiments set the processing rate of individual packet processing engines to a minimum rate, such that the cumulative rate of the packet processing engines meets the aggregate rate, and schedule the delay tolerant flows to meet their respective minimum rates. Advantageously, by throttling the processing rate of only delay tolerant traffic, energy consumption of network processors can be reduced while at the same time QoS requirements of the delay tolerant traffic and time critical traffic can be met.

Description

    RELATED APPLICATIONS
  • This application is a continuation of application Ser. No. 12/794,268, filed on Jun. 4, 2010, the entire disclosure of which is hereby incorporated herein by reference for all purposes.
  • FIELD OF THE INVENTION
  • The invention is directed to data packet networks, particularly to processing data packets in a network in a manner that respects quality of service (QoS) commitments of certain data packet traffic, referred to herein as a QoS-aware manner, while at the same time addressing energy efficiency of network processors handling the data packet traffic.
  • BACKGROUND OF THE INVENTION
  • The vast majority of current Internet usage consists of content being disseminated from a source to a number of users. To meet growing demands, service providers (e.g., Google) are ushered to invest in large data centers with hundreds of thousands machines distributed across different geographic regions. Similarly, network providers have been increasing network capacity by deploying a large number of high-speed routers and fiber cables. Networking devices such as servers, core/edge routers, and access devices involved in this large scale content delivery consume significant energy; for instance, the U.S. Environmental Protection Agency (EPA) estimates that data centers could consume 100 billion kilowatt hours at a cost of $7.4 billion per year by 2011.
  • Given this large consumption of energy, it would be desirable to focus on energy efficiency of modern high-speed routers that play a significant role in that content delivery chain. A modern router is typically equipped with hundreds of network processors for fast processing of data plane tasks (e.g., routing, packet classification, encryption, QoS, etc). Since the energy consumption of those network processors (NPs) dominates that of packet transport over the wires, one way of reducing energy consumption is to dynamically provision network processors on the basis of time varying traffic volume demands. For instance, if the utilization of a router is 70% to route a current volume of traffic, the router configures its processing rate as 70% of its peak rate. To this end, modern network processors employ Dynamic Voltage Scaling (DVS) that allows NPs to slow down their operating frequency (or rate) and lower their operating voltage to save energy.
  • However, current DVS techniques do not take into account QoS commitments of the traffic being routed, which commitments if not met can affect a network providers' revenues. Therefore, it would be desirable to have a means of achieving greater energy efficiency in network routers while at the same time respecting QoS commitments, such as service level agreements (SLAs).
  • SUMMARY
  • Embodiments of the invention are directed to energy-efficient network processing of delay tolerant data packet traffic.
  • Some embodiments of the invention determine if an aggregate of time critical traffic flow rates and minimum rates for meeting QoS requirements of delay tolerant traffic flows exceeds a summation of respective optimal rates for energy efficiency of packet processing engines in a network processor. In the affirmative case, the embodiments set the processing rate of individual packet processing engines to respective minimum processing rates, such that the cumulative rate of the packet processing engines meets the aggregate rate, and schedule the delay tolerant flows to meet their respective minimum rates.
  • Some embodiments of the invention in the negative of the foregoing condition determine and subsequently use a minimum number of packet processing engines required to meet a total of the time critical traffic flow rates and rates of the delay tolerant flows.
  • Advantageously, unlike dynamic resource provisioning methods that simply adjust processing rates based on current traffic volume demands, by throttling the processing rate of only delay tolerant traffic to result in an energy-efficient rate of the packet processing engines that are processing the aggregate traffic, energy consumption of network processors can be reduced while at the same time QoS requirements of the delay tolerant traffic and time critical traffic can be met.
  • According to an aspect of the invention a method is provided of controlling a processing rate used in a network processor having a plurality of packet processing engines. The method includes the steps of: determining an aggregate rate of time critical flows received by the network processor; determining an aggregate minimum rate that will meet respective quality of service requirements of all delay tolerant flows received by the network processor; summing the aggregate rate of time critical flows and the aggregate minimum rate to obtain a summed rate; totaling respective optimal rates for energy efficiency of the packet processing engines to obtain a cumulative optimal rate; comparing the summed rate to the cumulative optimal rate; determining, responsive to the summed rate being greater than the cumulative optimal rate, a respective minimum processing rate for each packet processing engine such that a summation of the minimum processing rates is greater than or equal to the summed rate; and scheduling processing of the delay tolerant flows by the packet processing engines to meet the respective quality of service requirements of the delay tolerant flows.
  • Advantageously, the method may further include the steps of: determining an aggregate rate of the time critical flows and the delay tolerant flows to obtain an aggregate input rate; determining, responsive to the summed rate being less than or equal to the cumulative optimal rate, a minimum subset of packet processing engines such that the aggregate input rate is less than or equal to a summation of the respective optimal rates of the packet processing engines of the subset; and scheduling processing of the delay tolerant flows and the time critical flows on only packet processing engines of the subset.
  • According to another aspect of the invention a rate controllable network processor is provided. The network processor includes a plurality of packet processing engines and a rate estimator for determining from a flow of IP packets received by the network processor: an aggregate rate of time critical flows received by the network processor, and an aggregate minimum rate that will meet respective quality of service requirements of delay tolerant flows received by the network processor. The network processor also includes a rate controller for determining a respective minimum processing rate for each packet processing engine such that a summation of the minimum processing rates is greater than or equal to a summation of the aggregate rate of time critical flows and the aggregate minimum rate; and a dispatcher for scheduling processing of the delay tolerant flows by the packet processing engines to meet the respective quality of service requirements of the delay tolerant flows, wherein each packet processing engine is operable to process packets at its respective minimum processing rate.
  • Advantageously, the rate estimator may additionally be operable to determine an aggregate input rate including a summation of the aggregate rate of time critical flows and an aggregate rate of the delay tolerant flows and to sum the aggregate rate of time critical flows and the aggregate minimum rate to obtain a summed rate. The rate controller may additionally be operable to obtain respective optimal rates for energy efficiency of the packet processing engines and to total respective optimal rates for energy efficiency of the packet processing engines to obtain a cumulative optimal rate, and to determine, responsive to the summed rate being less than or equal to the cumulative optimal rate, a minimum subset of packet processing engines such that the aggregate input rate is less than or equal to a summation of the respective optimal rates of the packet processing engines of the subset. The dispatcher may additionally be operable to schedule processing of the delay tolerant flows and the time critical flows on only packet processing engines of the subset.
  • According to another yet aspect of the invention a controller for a network processor having a plurality of packet processing engines is provided. The controller includes a rate estimator for determining from a flow of IP packets received by the network processor: an aggregate rate of time critical flows received by the network processor, and an aggregate minimum rate that will meet respective quality of service requirements of delay tolerant flows received by the network processor. The controller also includes: a rate controller for determining a respective minimum processing rate for each packet processing engine such that a summation of the minimum processing rates is greater than or equal to a summation of the aggregate rate of time critical flows and the aggregate minimum rate; and a dispatcher for scheduling processing of the delay tolerant flows by the packet processing engines to meet the respective quality of service requirements of the delay tolerant flows.
  • Various exemplary embodiments relate to a method performed by a network processor for controlling a processing rate, the method including: identifying a delay tolerant flow that is being processed by the network processor at a first current flow rate; determining a quality of service (QoS) requirement associated with the delay tolerant flow; determining a reduced flow rate for the delay tolerant flow, wherein the reduced flow rate is less than the first current flow rate, and the reduced flow rate is sufficient to fulfill the QoS requirement; and reducing the processing rate of the network processor based on the reduced flow rate.
  • Various exemplary embodiments relate to a rate controllable network processor including: a rate estimator configured to: identify a delay tolerant flow that is being processed by the network processor at a first current flow rate, determine a quality of service (QoS) requirement associated with the delay tolerant flow, and determine a reduced flow rate for the delay tolerant flow, wherein the reduced flow rate is less than the first current flow rate, and the reduced flow rate is sufficient to fulfill the QoS requirement; and a rate controller configured to reduce a processing rate of the network processor based on the reduced flow rate.
  • In Various exemplary embodiments relate to a non-transitory machine readable storage medium encoded with instructions for execution by a network processor for controlling a processing rate, the medium including: instructions for identifying a delay tolerant flow that is being processed by the network processor at a first current flow rate; instructions for determining a quality of service (QoS) requirement associated with the delay tolerant flow; instructions for determining a reduced flow rate for the delay tolerant flow, wherein the reduced flow rate is less than the first current flow rate, and the reduced flow rate is sufficient to fulfill the QoS requirement; and instructions for reducing the processing rate of the network processor based on the reduced flow rate.
  • Various embodiments additionally include identifying a time critical flow that is being processed by the network processor at a second current flow rate; and obtaining a summed rate based on a sum of the reduced flow rate and the second current flow rate, wherein reducing the processing rate of the network processor based on the reduced flow rate includes reducing the processing rate based on the summed rate.
  • Various embodiments are described wherein reducing the processing rate of the network processor based on the reduced flow rate includes: determining an optimal rate of a plurality of packet processing engine (PPE) of the network processor, wherein the optimal rate is selected to provide energy efficient processing relative to other possible rates; determining that reduction of processing rates of the PPE based on the reduced flow rate would reduce the processing rate of the PPE below the optimal rate; and in response to determining that reduction of processing rates of the PPE based on the reduced flow rate would reduce the processing rate of a PPE below the optimal rate, deactivating at least one PPE of the plurality of PPEs.
  • Various embodiments are described wherein: identifying the delay tolerant flow includes identifying a plurality of delay tolerant flows being processed by the network processor at a first aggregate flow rate; determining a reduced flow rate for the delay tolerant flow includes determining an aggregate reduced flow rate for the plurality of delay tolerant flows based on QoS requirements associated with the plurality of delay tolerant flows; and reducing the processing rate of the network processor based on the reduced flow rate includes reducing the processing rate of the network processor based on the aggregate reduced flow rate.
  • Various embodiments additionally include identifying a plurality of time critical flows being processed by the network processor at a second aggregate flow rate; obtaining a summed rate based on a sum of the aggregate reduced flow rate and the second aggregate flow rate, wherein reducing the processing rate of the network processor based on the aggregate reduced flow rate includes setting the processing rate of the network processor to substantially equal the summed rate.
  • Various embodiments are described wherein the network processor includes a plurality of packet processing engines (PPEs) and setting the processing rate of the network processor to substantially equal the summed rate includes: determining an energy efficient rate for a PPE of the plurality of PPEs; determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs; based on determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs, deactivating at least one PPE of the plurality of PPEs.
  • Various embodiments are described wherein the network processor includes a plurality of packet processing engines (PPEs) and setting the processing rate of the network processor to substantially equal the summed rate includes reducing a rate of at least one PPE of the plurality of PPEs based on the summed rate.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of the preferred embodiments, as illustrated in the appended drawings, where:
  • FIG. 1 illustrates a power profile of a single packet processing engine;
  • FIG. 2 illustrates a rate controllable network processor according to an embodiment of the invention; and
  • FIG. 3 illustrates a method of controlling a processing rate used in the network processor of FIG. 2.
  • In the figures like features are denoted by like reference characters.
  • DETAILED DESCRIPTION
  • Embodiments of the invention are directed to energy-efficient network processing of delay tolerant packet data traffic. An example of such traffic is delay tolerant bulk data (DTB), which is applicable to a wide range of delay tolerant content delivery applications such video delivery (NetFlix), scientific data exchanges (high resolution images), data center synchronization, etc. Unlike existing dynamic resource provisioning methods which adjust processing rates based on the current demands, the invention intentionally throttles DTB traffic (yet satisfies application-level QoS) to lower the overall aggregate data rate in the intermediate routers. As a result, we can decrease the operating voltages of network processors, thereby significantly reducing energy consumption.
  • Embodiments of the invention find application in modern high-speed routers which are typically equipped with hundreds of network processors for fast processing of data plane tasks.
  • FIG. 1 is a graph of a power profile 100 of a single packet processing engine (PPE), of which several hundred could be employed by a typical network processor. The graph displays the processing energy per processed packet versus the processing rate. Here, we see that due to the rate independent power Pw, the power profile 100 has a minimum energy per processed packet at an optimal rate RO below which no energy saving can be achieved. We conclude that this optimal rate RO consumes the least energy for forwarding a packet. Through measurements, we can find the optimal rate RO for each PPE.
  • For a given router, its aggregated incoming traffic is composed of two types of traffic: time critical and delay tolerant packets. The aggregated rate denoted as RA is the sum of (1) the rate of time critical packets denoted as RT and (2) the rate of delay tolerant packet denoted as RD.
  • For a given router, we can measure the aggregated rate of delay tolerant traffic RD. However, maintaining per flow information may be cumbersome at core routers. To address this problem, we propose to include a flow's required minimum rate in one or more of the flow's packets. For example, ingress routers would insert this information in the packet header, or if not available at the ingress router it could be otherwise inserted at another router, access device, host node, etc. Additionally, this per packet rate information can be augmented with fair rate information as in Core-Stateless Fair Queuing (CSFQ) algorithm so that we can support fair bandwidth scheduling in the intermediate routers.
  • FIG. 2 depicts a rate controllable network processor 200 according to an embodiment of the invention. The network processor 200 includes a packet header extractor 202 that receives an input flow 204 of IP data packets, extracts the IP headers of those packets, and outputs a first flow 206 of the extracted IP packet headers to a rate estimator 210 and a second flow 208 of the IP packets to a packet buffer 212. The rate estimator 210 and packet buffer 212 are respectively connected to the packet header extractor 202 for this purpose. The input flow 204 may include one or more flows of time critical data packet traffic FT and one or more flows of delay tolerant data packet traffic FD.
  • The rate estimator 210 receives the first flow 206 of extracted IP headers, estimates an aggregate rate RA of the first flow 206 using the extracted IP headers, which includes headers of time critical FT and delay tolerant flows FD. The aggregate rate RA is determined using a time window exponential moving average, for example a window in the range of 10 milliseconds to 2 seconds is used. A sum of packet sizes, as specified in their respective headers, of packets arriving during the time window divided by the duration of the time window provides a sample aggregate rate, which sample is averaged with other such samples, taken periodically and each having a time-variant weighting for the purpose of the calculation, to obtain an exponential moving average of the aggregate rate RA. Similarly, an exponential moving average of just the time critical flows aggregate rate RT is calculated.
  • It should be noted that functionality performed by the packet header extractor 202 could be included in the rate estimator 210, such that the rate estimator performs its aforementioned functions on the input flow 204 of IP data packets received by the network processor 200.
  • The rate estimator 210 also determines a minimum rate RD QOS required to meet QoS commitments on delay tolerant flows FD. This determination is made by reading a minimum rate indication from the extracted headers of each delay tolerant flow FD, and summing these rate indications to obtain the minimum rate RD QOS. The Type-of-Service byte in the IP header is used for providing the minimum rate indications in the IP headers. For example, by using a floating point representation with four bits for mantissa and four bits for exponent, any rate between 1 Kbps and 65 Mbps can be represented with an accuracy of 6.25%. Other ways of providing the minimum rate indications are to use an IP option in the case of IP version 4 (IPv4), or a hop-by-hop extension header in the case of IP version 6 (IPv6).
  • The minimum rate RD QOS is kept current by tracking all of the delay tolerant flows being processed by the network processing 200, for example in a list or table with the corresponding minimum rate indication associated with each such flow. As data packets of new delay tolerant flows are received by the network processor 200, or data packets of existing flows cease to be received by the network processor 200, this tracking mechanism is updated to reflect such changes and the minimum rate RD QOS is recalculated accordingly. Any delay tolerant flow that has been inactive for at least a duration of time equal to the inverse of its minimum rate indication, for example as would be the case if the network processor 200 did not receive a new packet from that flow for that duration, will have its minimum rate indication excluded from a subsequent recalculation of the minimum rate RD QOS, which recalculation would be triggered by detection of such inactivity by the rate estimator 210.
  • The rate estimator 210 provides the aggregate rate RA, the time critical flows aggregate rate RT, and the minimum rate RD QOS to a rate controller 216 via a connection 214 thereto and forwards the extracted IP packet headers to a dispatcher 224 via a connection 218 between the dispatcher 224 and rate estimator 210.
  • The rate controller 216 has means 220 for obtaining the optimal rate RO. Such means 220 includes reading the value of the optimal rate RO from a memory, wherein the value has been stored there and determined either manually through energy utilization measurements over a range of processing rates or automatically via a like procedure, and circuitry internal or external to the network processor 200 for determining the optimal rate RO of packet processing engines used by the network processor.
  • The rate controller 216 has a connection 222 to the dispatcher 224 and a connection 234 to a multi-core processing engine 226. The multi-core processing engine has a plurality of input connections 236 to the dispatcher for receiving IP packet headers there from, and a plurality of output connections 240 to a packet aggregator 238 for transmitting processed IP packet headers thereto. The multi-core processing engine 226 includes a plurality N of packet processing engines (PPE) of which a first PPE 228, a second PPE 230, and an Nth PPE 232 are shown in the figure. The PPEs 228 to 232 are configured in parallel for the purpose of processing data packet headers received by the multi-core processing engine 226. Each PPE is coupled to a respective connection of the plurality of input connections 236 and to a respective connection of the plurality of output connections 240. Each PPE has an input for receiving a PPE rate RPPE provided to the multi-core processing engine 226 by the rate controller 216 via the connection 234 between them. Each PPE is capable of performing various data processing tasks on IP packet header to carry out such data plane tasks as packet processing, packet classification, packet forwarding, etc.
  • The dispatcher 224 receives IP packet headers from the rate estimator 210, or alternatively it could receive them directly from the packet header extractor 202, and selectively forwards each IP packet header to one of the PPEs. Which PPE is selected for a given IP packet header and the rate at which the forwarding is done for delay tolerant flows FD will be further explained after the function of the rate controller 216, which affects the selection and rate, is described.
  • As will be explained later in more detail with reference to FIG. 3, in some cases depending on the aggregate rate RA, the time critical flows aggregate rate RT, the minimum rate RD QOS, and the optimal rate RO, the rate controller 216 determines a number K of PPEs from which the dispatcher 224 can select a PPE to which it will forward an IP packet header. The rate controller 216 informs the dispatcher 224 of the number K via its connection 222 to the dispatcher 224. The remaining PPEs, of which there will be N-K in number, will not receive any IP packet headers until the number K is increased and will go into an energy conserving idle state via clock gating functionality provided on each of the PPEs. The clock gating function is circuitry that enables a PPE to detect inactivity at its data input, the input which would otherwise be receiving IP packet headers, and disable a clock signal to the PPE in order to minimize power consumption caused by cycling of the clock signal even the absence of data processing operations. In cases where the number K is not determined or sent to the dispatcher 224, the dispatcher 224 will select a PPE from the entire plurality of N PPEs.
  • Also, as will be explained later in more detail with reference to FIG. 3, in some cases depending on the time critical flows aggregate rate RT, the minimum rate RD QOS, and the optimal rate RO, the rate controller 216 determines the PPE rate RPPE to be provided to the multi-core processing engine 226. In such cases the rate controller 216 also provides the dispatcher 224 with the minimum rate RD QOS, or alternatively the minimum rate RD QOS can be provided to the dispatcher 224 by the rate estimator 210 for use in such cases. In cases where the PPE rate RPPE is not provided to the multi-core processing engine 226, the optimal rate RO is used as a default processing rate instead by the PPEs, which optimal rate RO is provided by the rate controller 216 or alternatively by the previously described means 220 for obtaining the optimal rate RO. In this embodiment the same PPE rate RPPE is provided to each of the PPEs. However, in other embodiments one or more of the PPEs could receive a respective PPE rate that is unique as compared to one or more other PPE rates and of which the dispatcher 224 would be informed to accordingly adjust its corresponding dispatching rate of IP header packets to that PPE.
  • Returning to operation of the dispatcher 224, the dispatcher 224 is operable to perform fair scheduling of IP packet headers of the delay tolerant traffic flows FD based on the required minimum rate of each such flow as specified in its corresponding IP packet headers as previously described. If the dispatcher 224 is instructed by the rate controller 216 to perform such scheduling, it will do so keeping the cumulative rate of such flows within the minimum rate RD QOS. Otherwise, the dispatcher 224 will dispatch the IP packet headers of delay tolerant flows FD as it receives them. In either case, in this embodiment the dispatcher 224 does not perform scheduling on time critical flows FT, however such scheduling could be done in other embodiments as long as QoS requirements of those flows are met with such scheduling being performed. As for the selection of PPE, the dispatcher 224 selects a PPE to which to forward an IP packet header from either the entire plurality N of PPEs or a subset K of the PPEs, as previously described. The selection is done in a round-robin manner. In cases where one or more PPEs have different processing rates, the dispatcher 224 will select an appropriate PPE for a given IP packet header in dependence upon the processing rates of available PPEs in a current round-robin cycle and the required minimum rate of the flow to which IP packet header belongs.
  • The packet aggregator 238 receives processed IP packet headers from the multi-core processing engine 226 and IP packets from the packet buffer via a connection 242 thereto, and rebuilds each IP packet by replacing its existing IP packet header with a corresponding processed IP packet header. The packet aggregator 238 then outputs the resulting processed IP packets, for example to a router switching fabric for routing or to another network processor for further processing.
  • It should be noted that the functionality provided by the packet buffer 212 could be performed by the packet aggregator 238, or if the dispatcher 224 dealt with entire IP packets and not just IP packet headers as previously described, the packet buffer 212 would not be needed. Furthermore, the functionality provided by packet aggregator 238, either enhanced with the packet buffer 212 functionality or not, could be performed by the multi-core processing engine 226. Still further, a controller for a network processor having a plurality of packet processing engines could include merely the rate estimator 210, the rate controller 216, and the dispatcher 224. In that case and if the controller dealt with entire IP packets, the functionality of the packet header extractor 202, packet buffer 212, and packet aggregator 238 would not be required.
  • With reference to FIG. 3, a method 300 of controlling processing rate used in the network processor 200 will now be described. After starting 302, the method 300 determines 304 the rate RT of the time critical flows and the aggregate rate RA of the delay tolerant and time critical flows received by the network processor. Next, the method 300 determines 306 the aggregate minimum rate RD QOS that will meet the QoS requirements of all the delay tolerant flows FD. It should be noted that the order of these determinations 304, 306 can be reversed without affecting the outcome of the method 300. Next, a determination 308 is made whether or not the rate summation of the rate RT of time critical flows and the minimum rate RD QOS is less than or equal to N times the optimal rate RO, where N is the number of PPEs in the network processor. It should be noted that the aggregate rate RA is not needed unless the present determination 306 has an affirmative result, so that determination of the aggregate rate RA could be omitted from the determination 304 and made responsive to the present determination 308 resulting in the affirmative.
  • If the determination 308 results in the affirmative then a minimum number K of PPEs is determined 310 such that the aggregate rate RA is less than or equal to K times the optimal rate RO. The dispatcher 224 is then instructed 312 to use a subset of size K PPEs of the plurality of PPEs when selecting a PPE to which to forward an IP packet header. The method 300 then ends 314, however it would typically return to the start 302 after a period of time or responsive to a change in the input flow 204 of IP packets to the network processor.
  • If the determination 308 results in the negative, a minimum PPE rate RPPE is determined 316 such that N times the minimum PPE rate RPPE is greater the summation of the rate RT of time critical flows and the minimum rate RD QOS. The dispatcher 224 is then instructed to perform fair scheduling on the delay tolerant flows according to their respective minimum rates and keeping with the minimum rate RD QOS. The processing rate of the PPEs is then set 320 to the PPE rate RPPE and the method 300 ends 314. Typically, the method 300 would restart by returning the start 302 after a period of time or responsive to a change in the input flow 204 of IP packets to the network processor.
  • Advantageously, embodiments of the invention can significantly lower the energy consumption of intermediate routers via QoS-aware processing rate throttling of delay tolerant bulk data transfer. These embodiments can be used with other techniques for lowering energy consumption of bulk data transfers such as lowering physical transmit/receive rates over a communication medium to further improve energy efficiency of delay tolerant bulk data delivery.
  • Numerous modifications, variations and adaptations may be made to the embodiments of the invention described above without departing from the scope of the invention, which is defined in the claims.

Claims (20)

1. A method performed by a network processor for controlling a processing rate, the method comprising:
identifying a delay tolerant flow that is being processed by the network processor at a first current flow rate;
determining a quality of service (QoS) requirement associated with the delay tolerant flow;
determining a reduced flow rate for the delay tolerant flow, wherein
the reduced flow rate is less than the first current flow rate, and
the reduced flow rate is sufficient to fulfill the QoS requirement; and
reducing the processing rate of the network processor based on the reduced flow rate.
2. The method of claim 1, further comprising:
identifying a time critical flow that is being processed by the network processor at a second current flow rate; and
obtaining a summed rate based on a sum of the reduced flow rate and the second current flow rate,
wherein reducing the processing rate of the network processor based on the reduced flow rate comprises reducing the processing rate based on the summed rate.
3. The method of claim 1, wherein reducing the processing rate of the network processor based on the reduced flow rate comprises:
determining an optimal rate of a plurality of packet processing engine (PPE) of the network processor, wherein the optimal rate is selected to provide energy efficient processing relative to other possible rates;
determining that reduction of processing rates of the PPE based on the reduced flow rate would reduce the processing rate of the PPE below the optimal rate; and
in response to determining that reduction of processing rates of the PPE based on the reduced flow rate would reduce the processing rate of a PPE below the optimal rate, deactivating at least one PPE of the plurality of PPEs.
4. The method of claim 1, wherein:
identifying the delay tolerant flow comprises identifying a plurality of delay tolerant flows being processed by the network processor at a first aggregate flow rate;
determining a reduced flow rate for the delay tolerant flow comprises determining an aggregate reduced flow rate for the plurality of delay tolerant flows based on QoS requirements associated with the plurality of delay tolerant flows; and
reducing the processing rate of the network processor based on the reduced flow rate comprises reducing the processing rate of the network processor based on the aggregate reduced flow rate.
5. The method of claim 4, further comprising:
identifying a plurality of time critical flows being processed by the network processor at a second aggregate flow rate;
obtaining a summed rate based on a sum of the aggregate reduced flow rate and the second aggregate flow rate,
wherein reducing the processing rate of the network processor based on the aggregate reduced flow rate comprises setting the processing rate of the network processor to substantially equal the summed rate.
6. The method of claim 5, wherein the network processor comprises a plurality of packet processing engines (PPEs) and setting the processing rate of the network processor to substantially equal the summed rate comprises:
determining an energy efficient rate for a PPE of the plurality of PPEs;
determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs;
based on determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs, deactivating at least one PPE of the plurality of PPEs.
7. The method of claim 5, wherein the network processor comprises a plurality of packet processing engines (PPEs) and setting the processing rate of the network processor to substantially equal the summed rate comprises reducing a rate of at least one PPE of the plurality of PPEs based on the summed rate.
8. A rate controllable network processor comprising:
a rate estimator configured to:
identify a delay tolerant flow that is being processed by the network processor at a first current flow rate,
determine a quality of service (QoS) requirement associated with the delay tolerant flow, and
determine a reduced flow rate for the delay tolerant flow, wherein
the reduced flow rate is less than the first current flow rate, and
the reduced flow rate is sufficient to fulfill the QoS requirement; and
a rate controller configured to reduce a processing rate of the network processor based on the reduced flow rate.
9. The rate controllable network processor of claim 8, wherein:
the rate estimator is further configured to:
identify a time critical flow that is being processed by the network processor at a second current flow rate, and
obtain a summed rate based on a sum of the reduced flow rate and the second current flow rate; and
in reducing the processing rate of the network processor based on the reduced flow rate, the rate controller is configured to reduce the processing rate based on the summed rate.
10. The rate controllable network processor of claim 8, further comprising a plurality of packet processing engines (PPEs) wherein, in reducing the processing rate of the network processor based on the reduced flow rate, the rate controller is configured to:
determine an optimal rate of a PPE of the plurality of PPEs of the network processor, wherein the optimal rate is selected to provide energy efficient processing relative to other possible rates,
determine that reduction of processing rates of the plurality of PPEs based on the reduced flow rate would reduce the processing rate of the PPE below the optimal rate, and
in response to determining that reduction of processing rates of the plurality of PPEs based on the reduced flow rate would reduce the processing rate of a PPE below the optimal rate, deactivate at least one PPE of the plurality of PPEs.
11. The rate controllable network processor of claim 8, wherein:
in identifying the delay tolerant flow, the rate estimator is configured to identify a plurality of delay tolerant flows being processed by the network processor at a first aggregate flow rate;
in determining a reduced flow rate for the delay tolerant flow, the rate estimator is configured to determine an aggregate reduced flow rate for the plurality of delay tolerant flows based on QoS requirements associated with the plurality of delay tolerant flows; and
in reducing the processing rate of the network processor based on the reduced flow rate, the rate controller is configured to reduce the processing rate of the network processor based on the aggregate reduced flow rate.
12. The rate controllable network processor of claim 11, wherein:
the rate estimator is further configured to:
identify a plurality of time critical flows being processed by the network processor at a second aggregate flow rate,
obtain a summed rate based on a sum of the aggregate reduced flow rate and the second aggregate flow rate; and
in reducing the processing rate of the network processor based on the aggregate reduced flow rate, the rate controller is configured to set the processing rate of the network processor to substantially equal the summed rate.
13. The rate controllable network processor of claim 12, further comprising a plurality of packet processing engines (PPEs), wherein, in setting the processing rate of the network processor to substantially equal the summed rate, the rate controller is configured to:
determine an energy efficient rate for a PPE of the plurality of PPEs;
determine that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs;
based on determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs, deactivate at least one PPE of the plurality of PPEs.
14. The rate controllable network processor of claim 12, further comprising a plurality of packet processing engines (PPEs), wherein, in setting the processing rate of the network processor to substantially equal the summed rate, the rate controller is configured to reduce a rate of at least one PPE of the plurality of PPEs based on the summed rate.
15. A non-transitory machine readable storage medium encoded with instructions for execution by a network processor for controlling a processing rate, the medium comprising:
instructions for identifying a delay tolerant flow that is being processed by the network processor at a first current flow rate;
instructions for determining a quality of service (QoS) requirement associated with the delay tolerant flow;
instructions for determining a reduced flow rate for the delay tolerant flow, wherein
the reduced flow rate is less than the first current flow rate, and
the reduced flow rate is sufficient to fulfill the QoS requirement; and
instructions for reducing the processing rate of the network processor based on the reduced flow rate.
16. The non-transitory machine readable storage medium of claim 15, further comprising:
instructions for identifying a time critical flow that is being processed by the network processor at a second current flow rate; and
instructions for obtaining a summed rate based on a sum of the reduced flow rate and the second current flow rate,
wherein the instructions for reducing the processing rate of the network processor based on the reduced flow rate comprise instructions for reducing the processing rate based on the summed rate.
17. The non-transitory machine readable storage medium of claim 15, wherein the instructions for reducing the processing rate of the network processor based on the reduced flow rate comprise:
instructions for determining an optimal rate of a packet processing engine (PPE) of a plurality of PPEs of the network processor, wherein the optimal rate is selected to provide energy efficient processing relative to other possible rates;
instructions for determining that reduction of processing rates of the plurality of PPEs based on the reduced flow rate would reduce the processing rate of the PPE below the optimal rate; and
instructions for, in response to determining that reduction of processing rates of the plurality of PPEs based on the reduced flow rate would reduce the processing rate of a PPE below the optimal rate, deactivating at least one PPE of the plurality of PPEs.
18. The non-transitory machine readable storage medium of claim 15, wherein:
the instructions for identifying the delay tolerant flow comprise instructions for identifying a plurality of delay tolerant flows being processed by the network processor at a first aggregate flow rate;
the instructions for determining a reduced flow rate for the delay tolerant flow comprise instructions for determining an aggregate reduced flow rate for the plurality of delay tolerant flows based on QoS requirements associated with the plurality of delay tolerant flows; and
the instructions for reducing the processing rate of the network processor based on the reduced flow rate comprise instructions for reducing the processing rate of the network processor based on the aggregate reduced flow rate.
19. The non-transitory machine readable storage medium of claim 18, further comprising;
instructions for identifying a plurality of time critical flows being processed by the network processor at a second aggregate flow rate;
instructions for obtaining a summed rate based on a sum of the aggregate reduced flow rate and the second aggregate flow rate,
wherein the instructions for reducing the processing rate of the network processor based on the aggregate reduced flow rate comprise instructions for setting the processing rate of the network processor to substantially equal the summed rate.
20. The non-transitory machine readable storage medium of claim 19, wherein the instructions for setting the processing rate of the network processor to substantially equal the summed rate comprise:
instructions for determining an energy efficient rate for a packet processing engine (PPE) of a plurality of PPEs;
instructions for determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs;
instructions for, based on determining that the summed rate is less than the energy efficient rate multiplied by the number of PPEs in the plurality of PPEs, deactivating at least one PPE of the plurality of PPEs.
US13/592,770 2010-06-04 2012-08-23 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing Abandoned US20120324102A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/592,770 US20120324102A1 (en) 2010-06-04 2012-08-23 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/794,268 US8295180B2 (en) 2010-06-04 2010-06-04 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing
US13/592,770 US20120324102A1 (en) 2010-06-04 2012-08-23 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/794,268 Continuation US8295180B2 (en) 2010-06-04 2010-06-04 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing

Publications (1)

Publication Number Publication Date
US20120324102A1 true US20120324102A1 (en) 2012-12-20

Family

ID=44260333

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/794,268 Active 2031-04-13 US8295180B2 (en) 2010-06-04 2010-06-04 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing
US13/592,770 Abandoned US20120324102A1 (en) 2010-06-04 2012-08-23 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/794,268 Active 2031-04-13 US8295180B2 (en) 2010-06-04 2010-06-04 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing

Country Status (5)

Country Link
US (2) US8295180B2 (en)
JP (1) JP5596225B2 (en)
KR (1) KR101371804B1 (en)
CN (1) CN103004156B (en)
WO (1) WO2011153208A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112811A1 (en) * 2013-01-17 2014-07-24 Samsung Electronics Co., Ltd. Method and apparatus for controlling traffic in electronic device
US20140298052A1 (en) * 2013-03-29 2014-10-02 Telefonaktiebolaget L M Ericsson (pubI) Energy efficiency in software defined networks

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8537670B2 (en) * 2010-09-14 2013-09-17 George Mason Research Foundation, Inc. Router congestion control
EP2915361B1 (en) * 2012-11-05 2018-10-24 Telefonaktiebolaget LM Ericsson (publ) Scheduling in mobile communications systems
KR101694271B1 (en) * 2015-07-07 2017-01-23 공주대학교 산학협력단 Multipath Cubic for Congestion control
CN108989218B (en) * 2018-07-11 2021-04-06 中国人民解放军陆军工程大学 Data forwarding device and method based on network convergence architecture
CN110233797B (en) * 2019-06-27 2020-08-25 西安电子科技大学 DTN (delay tolerant network) shortest time delay routing method based on dynamic interval limitation

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978356A (en) * 1997-04-09 1999-11-02 Lucent Technologies Inc. Traffic shaper for network nodes and method thereof
US6598098B1 (en) * 1999-06-17 2003-07-22 Tadiran Telecom Business Systems Ltd. System having a port with two operating modes
US20040013089A1 (en) * 2001-11-08 2004-01-22 Mukesh Taneja Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US6738371B1 (en) * 1999-09-28 2004-05-18 Ericsson Inc. Ingress data queue management in a packet data router
US20040170127A1 (en) * 2001-07-18 2004-09-02 Shoji Tanaka Common channel flow control method and system
US20070014268A1 (en) * 2005-07-15 2007-01-18 Korea Electronics Technology Institute Method for controlling data transmission in a wireless network system including a plurality of nodes, sensor network using the same and computer-readable medium having thereon a program performing function embodying the same
US20070058544A1 (en) * 2005-07-19 2007-03-15 Samsung Electronics Co., Ltd. Apparatus and method for scheduling data in a communication system
US7362749B2 (en) * 2002-03-01 2008-04-22 Verizon Business Global Llc Queuing closed loop congestion mechanism
US20080130495A1 (en) * 2006-12-05 2008-06-05 Latitude Broadband, Inc. Methods And Systems For Dynamic Bandwidth Management For Quality Of Service In IP Core And Access Networks
US7990853B2 (en) * 2005-12-13 2011-08-02 Fujitsu Limited Link aggregation with internal load balancing
US8144617B2 (en) * 2008-09-12 2012-03-27 Alaxala Networks Corporation Packet transfer arrangements varying transfer performance based on number of group joining messages

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850965B2 (en) 1998-11-17 2005-02-01 Arthur Douglas Allen Method for connection acceptance and rapid determination of optimal multi-media content delivery over network
JP4158319B2 (en) 2000-06-15 2008-10-01 沖電気工業株式会社 Cell receiving apparatus and traffic control system
JP2004180302A (en) * 2002-11-27 2004-06-24 Alcatel Canada Inc System and method of scheduling data traffic flow for communication device
EP1455488B1 (en) * 2003-03-07 2006-06-07 Telefonaktiebolaget LM Ericsson (publ) System and method for providing differentiated services
JP4714171B2 (en) * 2007-02-28 2011-06-29 日本電信電話株式会社 Route calculation apparatus, method, and program
JP5100479B2 (en) * 2008-04-03 2012-12-19 アラクサラネットワークス株式会社 Packet transfer device

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978356A (en) * 1997-04-09 1999-11-02 Lucent Technologies Inc. Traffic shaper for network nodes and method thereof
US6598098B1 (en) * 1999-06-17 2003-07-22 Tadiran Telecom Business Systems Ltd. System having a port with two operating modes
US6738371B1 (en) * 1999-09-28 2004-05-18 Ericsson Inc. Ingress data queue management in a packet data router
US20040170127A1 (en) * 2001-07-18 2004-09-02 Shoji Tanaka Common channel flow control method and system
US20040013089A1 (en) * 2001-11-08 2004-01-22 Mukesh Taneja Admission control and resource allocation in a communication system supporting application flows having quality of service requirements
US7362749B2 (en) * 2002-03-01 2008-04-22 Verizon Business Global Llc Queuing closed loop congestion mechanism
US20070014268A1 (en) * 2005-07-15 2007-01-18 Korea Electronics Technology Institute Method for controlling data transmission in a wireless network system including a plurality of nodes, sensor network using the same and computer-readable medium having thereon a program performing function embodying the same
US20070058544A1 (en) * 2005-07-19 2007-03-15 Samsung Electronics Co., Ltd. Apparatus and method for scheduling data in a communication system
US7990853B2 (en) * 2005-12-13 2011-08-02 Fujitsu Limited Link aggregation with internal load balancing
US20080130495A1 (en) * 2006-12-05 2008-06-05 Latitude Broadband, Inc. Methods And Systems For Dynamic Bandwidth Management For Quality Of Service In IP Core And Access Networks
US8144617B2 (en) * 2008-09-12 2012-03-27 Alaxala Networks Corporation Packet transfer arrangements varying transfer performance based on number of group joining messages

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112811A1 (en) * 2013-01-17 2014-07-24 Samsung Electronics Co., Ltd. Method and apparatus for controlling traffic in electronic device
CN104937891A (en) * 2013-01-17 2015-09-23 三星电子株式会社 Method and apparatus for controlling traffic in electronic device
EP2757746A3 (en) * 2013-01-17 2016-06-01 Samsung Electronics Co., Ltd Method and apparatus for controlling traffic in electronic device
US10075920B2 (en) 2013-01-17 2018-09-11 Samsung Electronics Co., Ltd. Method and apparatus for controlling traffic in electronic device
US20140298052A1 (en) * 2013-03-29 2014-10-02 Telefonaktiebolaget L M Ericsson (pubI) Energy efficiency in software defined networks
US9509565B2 (en) * 2013-03-29 2016-11-29 Telefonaktiebolaget L M Ericsson (Publ) Energy efficiency in software defined networks

Also Published As

Publication number Publication date
CN103004156B (en) 2015-04-22
CN103004156A (en) 2013-03-27
JP5596225B2 (en) 2014-09-24
US8295180B2 (en) 2012-10-23
JP2013531429A (en) 2013-08-01
KR20130018914A (en) 2013-02-25
WO2011153208A1 (en) 2011-12-08
US20110299392A1 (en) 2011-12-08
KR101371804B1 (en) 2014-03-07

Similar Documents

Publication Publication Date Title
US20120324102A1 (en) Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing
Kliazovich et al. DENS: data center energy-efficient network-aware scheduling
Prabhavat et al. Effective delay-controlled load distribution over multipath networks
US10333848B2 (en) Technologies for adaptive routing using throughput estimation
US20100115307A1 (en) Method and system for energy efficient networking via packet inspection
Golkarifard et al. Dynamic VNF placement, resource allocation and traffic routing in 5G
Bolla et al. Green networking with packet processing engines: Modeling and optimization
US7496367B1 (en) Method of multi-carrier traffic allocation for wireless communication system
US20090080328A1 (en) SYSTEM AND METHOD of COMMUNICATING A MEDIA STREAM
Wang et al. Freeway: Adaptively isolating the elephant and mice flows on different transmission paths
US8351332B2 (en) WRR scheduler configuration for optimized latency, buffer utilization
KR101418271B1 (en) Method for reducing energy consumption in packet processing linecards
US20090252055A1 (en) Packet forwarding device
US10389636B2 (en) Technologies for adaptive routing using network traffic characterization
US20180006950A1 (en) Technologies for adaptive routing using aggregated congestion information
WO2013025703A1 (en) A scalable packet scheduling policy for vast number of sessions
US20220158921A1 (en) Tunnel processing distribution based on traffic type and learned traffic processing metrics
US20130332764A1 (en) Intelligent inter-processor communication with power optimization
Kawase et al. Dynamic router performance control utilizing support vector machines for energy consumption reduction
Mizuyama et al. Estimation based adaptable Flow Aggregation Method for reducing control traffic on Software Defined wireless Networks
Bolla et al. Energy-aware load balancing for parallel packet processing engines
Yu et al. Energy-efficient, qos-aware packet scheduling in high-speed networks
Morawski et al. Energy efficient MPTCP transmission—Scheduler implementation and evaluation
KR20210029834A (en) Method and apparatus for connection and clat aware affinity (CAA)-based scheduling setup in multi-core processors
US10887122B1 (en) Dynamically providing traffic via various packet forwarding techniques

Legal Events

Date Code Title Description
AS Assignment

Owner name: ALCATEL-LUCENT USA, INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LEE, UICHIN;RIMAC, IVICA;HILT, VOLKER FRIEDRICH;REEL/FRAME:028836/0689

Effective date: 20100604

AS Assignment

Owner name: CREDIT SUISSE AG, NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:ALCATEL-LUCENT USA INC.;REEL/FRAME:030510/0627

Effective date: 20130130

AS Assignment

Owner name: ALCATEL-LUCENT USA INC., NEW JERSEY

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE AG;REEL/FRAME:033949/0016

Effective date: 20140819

STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION