Routing and G-Networks to Optimise Energy and Quality of Service in Packet Networks

. We formulate the problem of joint energy and quality of service (QoS) optimisation in packet networks and show how it can be formalised using the control capabilities inherent in G-network theory, which also includes the overhead due to control traﬃc. Using known energy consumption characteristics of network routers and of network link driver equipment, this approach leads to a polynomial time complexity gradient optimisation algorithm which seeks a judicious balance between the QoS experienced by the users and the overall energy consumption of the network.


Introduction
The ever increasing importance of wired packet networks as the transport substrate of most communication technologies creates the need for their greater energy efficiency.How to manage a wired packet network so as to enhance energy efficiency while respecting the users' QoS needs was studied in [1] and also for Cloud Computing in [2].In this paper we examine the problem via an analytical approach.We first briefly review the literature on power management for wired networks and then we discuss relevant power consumption models.Our main result is a gradientr descent O(N 3 ) time complexity algorithm that optimises power and QoS for a N-node network.
Energy savings in the Internet [3] can be achieved by routing modifications that aggregate traffic along a few routes and putting some nodes and devices to sleep.A network design problem where components can be powered on/off in combination with the solution of traffic assignment with flow-balance constraints is presented in [4].An online technique to spread the load through multiple paths, based on the ability of nodes to adjust their operating rate is proposed in [5], and rate-adaptation for individual links is also examined in [6].In [7] active links and routers are selected to minimize the power consumption via simple heuristics.In [8] a case study based on specific backbone networks is discussed, Fig. 1.Router power consumption as a function of packet rate [12] and the potential overall energy savings in the Internet is estimated in [9].The Cognitive Packet Network (CPN) [10,11] for QoS is also considered in [1].
Another important set of problems that must be addressed when one attempts to design power management schemes for networks concern the proper choice of power consumption models for network components and sub-systems.In [4] a generic model for router power consumption is presented.Two widely used routers are measured in terms of system power demand with different configurations of line cards.Other work [6] focuses on the impact of the hardware processing rate and traffic on the power consumption.The power consumption model in this paper is based on measurements similar to those in Figure 1 [12].

Routing for Energy Management
In a network with N queues N = {1, ... , N },carrying a set of user traffic classes.N +1 denotes the "inexistent node" so that a packet that reaches node N +1 has simply exited the network or it has been lost.The term node is not restricted to the store and forward nodes of a network: a subset R is the usual store and forward nodes or routers, while the set L represents links which connect store and forward nodes, N = R ∪ L. Thus to travel from some store and forward router node to another such node, a packet will transit through the "other type of node" i.e. a link.This separation of the N nodes into the set of routers and the set of links has two advantages: -It allows us to model separately the impact of routers and links (e.g.delay and loss) on QoS and on the energy consumption, and -Secondly it allows us to explicitly represent packet re-routing as the modification of a path that goes (say) from router r via output link l, to a new path from router r via some other output to l ′ .Thus re-routing control can then viewed as taking place by an action on a packet in r that changes the next link that the packet must enter.
Links have a single predecessor node (which is a router) and a single successor node (also a router) and routers typically have multiple predecessor and successor nodes that are links.The two directions of a physical link are viewed as two distinct links, but they may be coupled because they may share the same power supply and the same hardware.Since router hardware will typically use "multicores", connections that are being concurrently processed by a router will often be handled by separate threads of execution, and packets within the same connection may be handled in first-come-first served order, while those of distinct connections may be processed in parallel.
Each user traffic class is denoted k = U (s, d, σ) where (s, d) is a given source and destination router pair and σ is a QoS level that this traffic class expects to receive from the network.For the time being we will not specify the form that σ takes.We denote by λ(i, k) the external arrival rate of packets of user class k to router i so that obviously λ(i, k) = 0 if k = U (s, d, q) and i = s, while Λ(i, k) is the total arrival rate of user traffic of class k at node i.Each class of users will, at any given instant of time, have a single path to its destination so that the probability that a packet of user class k travels from some node i to some node j is denoted by P (i, k, j); if all packets of a given user class only travel over a single path at a time, then this quantity will be either equal to 1 or 0. Note also that if i is a router, the j is a link, while if i is a link, then j must be a router.Since user traffic is assumed to travel on a single path we obviously have that Λ(s, k) = λ(s, k) when s is source router, and Λ(i, k) = Λ(s, k) when i is not the source of the connection or user class k but i is a router or link that lies on the path of this traffic class.
We also have control traffic classes where each of these classes is in charge of selecting the next hop that a packet of a given user traffic class will take at some router.Since packets are re-routed by changing the selection of the outgoing link in a router, this selection will be signified by control packets.Thus control traffic classes are denoted (i, k) where i is a router and k is a user traffic class since a control class acts on a specific user class at some given router.Control traffic can travel over multiple hops just like any traffic class until it reaches the node where it is supposed to take action.The number of control traffic classes may be small if at a given instant a class of user traffic can only transit through a small number of network nodes.
A control packet of class (i, k) may move from router r to link l with probability p((i, k), r, l) provided i = r so that this particular control packet does not act at the router r to redirect traffic.This probability would be just 0 or 1 whenever there are no losses, simply because the output of a link is only connected to a single router.Similarly, the control packet moves from some link l to some router r, with probability p((i, k), l, r).
The control function is represented by Q(r, k, j), the probability that a user packet of class k at router r is directed by the control packet of type (i, k) to link j.Q(r, k, j) is only defined at a router r for control class (r, k): in other words we need not specify how the control policy acts at a node where this particular control class is not empowered to act.Also, the control packets can only act at routers, so that Q(i, k, j) = 0 if i ∈ L. We also assume that once a control packet has acted at some router, then it is destroyed; in other words, each control packet can only act once on a single user packet at some specific router.If a control packet of class (r, k) arrives at router r when that router does not contain any user packets of class k, then the control packet is destroyed.For r ∈ R: while if l ∈ L : Note that there are no control packets classes of the form (l, k) where l ∈ L.
The control traffic classes may be seen in two ways: -As flows of signaling information sent out from decision nodes, to routers where it may be necessary to re-route traffic, or -As a mathematical representation of re-routing decisions.The arrival rate of control packets at some router may be used to represent the rate at which control decisions are made.
We assume that all user or control packets that travel through a node i have the same service rate µ i at that node, but control packets act instantaneously when they act as control packets, rather than when they are simply transiting through a node and experience the usual queuing phenomenon.All packets are processed in first-come-first served mode in the nodes and links, so that there is no priority difference between user and control packets.On the other hand, when a control packet arrives at a node where it is supposed to act, it does this instantaneously on its "target" packet class, selecting the target packet of the appropriate class which is first in queue within its own class.If the router where this happens contains no packets of the target class, then the corresponding packet is destroyed.This model is a special case of G-Networks [13,14,15] with triggered customer movement, where control classes embody the triggers of the mathematical model [16], including multiple classes [17,18].Thus we are able to apply the corresponding theory, and the steady-state probability that the queue of node i contains at least one user packet of class k can be obtained as follows.
In many practical networks, each link only a single router at its input and output.However, in the notation below we continue to treat links as just another type of node, which is useful when links also represent data concentrators, dispatchers, buses or switching networks for distributed computer architectures and multiprocessors.
Let λ − (j, (i, k)) be the external arrival rate of control traffic class C(i, k) to router j, and such arrivals can only occur at routers.The total arrival rate of control traffic class (i, k) at router j, which will be computed below, is denoted by Λ − (j, (i, k)).This allows us to represent control traffic that may originate at different routers and act at the router where they originate, or they may act at other routers.The steady-state probability that a router or link contains at least one packet of user class k is given by: We are assuming that each of the user classes are handled by separate queues in routers, e.g. when different user class queues within the same router are processed concurrently with a multicore architecture so that the queues are separate entities running in parallel.On the other hand, all packets within a link are handled in first-come-first-served order.The steady-state probability that the link l contains at least one packet of user class k is then and the total arrival rates of user packets of class k to the routers and links are while the arrival rate to router or link j of control traffic of class (i, k) is where the steady-state probability that link l contains at least one control packet of class (i, k) is: and K(r, (i, k)) the steady-state probability that router r contains at least one control packet of class (i, k) for r, i ∈ R and r = i: Note that the steady-state probability that link l is busy is simply: Assuming unbounded queue lengths, the average queue length at link l is while consistent with the assumption that each category of packets, whether of user type or of control type, is handled in a separate queue at each router r, the average queue lengths at router r and k ∈ U are We also define the probabilities that a user packet of class k, or a control packet of class (i, k), enters router r or link l where: is the total user traffic of class k in the network, s being its source router, and is the total control traffic of class (i, k).Using Little's formula [19,20] the total average delay through the network for a user packet of class k is: while the total average delay experienced by a control packet of class (i, k) is: The separation of nodes into routers R and links L allows us to model separately their power consumption.As indicated in [4], the power consumption of a router consists of a part that depends on the particular chassis type, and another determined by the line cards in the route; the power consumption includes the amount needed to keep it on, the operating for route changes, and that which is needed for processing individual packets.Let Λ + i be the total traffic of user packets entering node i, while Λ − i is the total control transiting that node.They are given by and the total traffic of packets Λ i transiting through a node i will be The measurements reported in Figure 1 [12] for two distinct machines used as routers and different fixed packet lengths, show that for older single core technology (curves above) the power consumption increases monotonically with the rate at which packets are processed in the router.The curves below show similar results for a more recent multicore technology with much lower power consumption, and have a distinct step upwards when an additional core kicks in as packet rate increases.In all cases packet length has little effect on power consumption.Thus, we use the following power consumption formula for a router where α i corresponds to the router's static power consumption, c i > 0 is a constant, g R (.) is an increasing function of the packet processing rate, as in Figure 1, while c i is a proportionality constant related to the amount of processing being carried out in the router for re-routing control.The link power will depend on the traffic rate in bytes or bits per second (rather than packets per second), and includes the needs for operating the interface with the router, and for transmitting data on the line.Additionally, one could include the power consumed for propagating or "repeating" data on the line, but this may be negligible [21].The link power model that we propose is then: where β i corresponds to the static power consumption, and g L (.) is an increasing function.Thus ( 27) and (28) allow us to examine the impact of routing decisions via changes in traffic rates, and also to evaluate the effect of putting different routers or links "to sleep".Since link interfaces can consume up to 40% of the overall router power, and because they can be put to sleep or woken up much more rapidly than a whole router, one can benefit from just turning links off.The users' QoS needs are typically expressed in terms of packet delay, probability of loss, jitter that depend on the congestion at routers and links, which depend on the probabilities that the nodes or links are busy.Thus the q(i, k), c(l, (i, k)) and K(r, (i, k)) are the key quantities we will use to obtain the QoS metrics.
The average overall network packet delay is given by: where λ + (k) is given by equation 19, T (k) is given by ( 21) and Λ + T = k λ + (k).

Gradient Descent Optimisation
Routing optimization can be expressed as the minimization of a function f that includes both the Network Power Consumption and the Average Delay: Since we are interested in gradual improvements in the presence of ongoing flows, we compute the partial derivative of f : where we use ( 27), ( 28) and (29): Since ∂P (i,k,j) ∂Q(x,m,y) = ∂p((i,k),j,n) ∂Q(x,m,y) = 0 we calculate ∂q(r,k) ∂Q(x,m,y) and ∂q(l,k) ∂Q(x,m,y) .Define h(i, j) = 1 if there is a physical connection from node i to j and h(i, j) = 0 otherwise.Note that for evaluating ∂X ∂Q(x,m,y) we need only consider cases where h(x, y) = 1.Define the vector q k = (q(1, k), q(2, k), .., q(N, k)) and the N × N matrices: and the 1 × N row vectors : Then after some calculations we get: where r ∈ R and l ∈ L. Thus, equations ( 38) and (39) can be written as: where the matrix W k and the vector γ xmy k are given by where I is the N ×N identity matrix.Using (43) we can calculate ∂f /∂Q(x, m, y) from equation (31).Note that the matrix inversion is of time complexity O(N 3 ).The gradient descent algorithm to obtain the parameters Q(i, k, j) that reduce the cost function at a given operating point of the network X = [λ, λ − , µ, P + , p] is determined by its n th computational step: where η > 0 is the "rate" of the gradient descent and the partial derivative is computed with the nth updated values of the weights.The steps of the learning algorithm are then: 1. Initialise all the values Q(i, k, j) and set η > 0.

Conclusion
Technological means to greater energy efficiency such as the Smart Grid, distance learning and E-work, depend increasingly on computer networks and information technology: while they reduce energy consumption in transportation (for instance), but increase the need for energy to run networks and ICT systems.Thus, we must develop seek energy efficient ways to run ICT systems.Our work seeks techniques that use routing control in a network as a means to reduce energy consumption while remaining aware of QoS considerations.The proposed approach is based on network analysis methods that dynamically distribute traffic so as to minimise a cost function that includes energy and QoS.G-Networks are mathematical models that incorporate both the user traffic and the traffic used to control packet routing.Based on G-networks, we have developed a model that incorporates routers and links as separate queuing servers, and the model is also able to incorporate the overhead of the control traffic as well as the ordinary payload traffic in the network.A gradient based algorithm for progressive traffic re-routing is developped to minimise a cost function which incorporates both the energy consumption and the QoS.The algorithm is shown to be of O(N 3 ) time complexity in the size of the network.In future work we expect to present an experimental implementation of energy aware routing based on the modelling and analysis techniques developped in this paper.