\documentstyle[11pt,amssymbols]{article}
\topmargin -0.5in % a (add 1 extra inch)
\textheight 9.0in % d
\leftmargin 0.9in
\oddsidemargin 0.1in
\textwidth 6.6in
\parskip 0.050in
\parindent 0.700in
\input{psfig}
\def\B{{\cal B}}
\newtheorem{definition}{Definition}
\newtheorem{theorem}[definition]{Theorem}
\newtheorem{example}[definition]{Example}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{\bf EE 290Q Topics in Communication Networks\\ Lecture Notes: 3}
\author{Chen-Nee Chuah}
\date{January 23, 1996}
\begin{document}
\maketitle
\bibliographystyle{alpha}
\pagestyle{plain}
\pagenumbering{arabic}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{\footnotesize
\subsection*{Introduction}
In this lecture, we extend the single node analysis to an arbitrary
network with multiple nodes. The objective is to derive the worst
case bounds on end-to-end delay and backlog, assuming all the servers
employ {\bf Generalized Processor Sharing (GPS)} service discipline.
We will analyse
the { \bf Consistent Relative Session Treatment (CRST)} class of networks
by treating links of the route collectively to get a tighter bound
on performance instead of adding the worst case delays(backlogs) at each
single node in the route. The following discussion is based on the
paper by Parekh and Gallager \cite{Parekh_2}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{The Network Model}
\subsection{Review Single Node Analysis}
Things we need from the last lecture (see Lecture Notes 2)
\begin{itemize}
\item Leaky Bucket traffic regulator concept
\item Generalized Processor Sharing (GPS) service discipline
\item Burstiness constraints and service curve
\item Worst case backlogs {\em ${Q^*}_i$} and worst case delay,
{\em ${D^*}_i$} under {\em all greedy regime}
\end{itemize}
\subsection{Model}
The network is modeled as a directed graph with nodes representing
switches and arcs representing links. A particular session will be
assigned a virtual circuit with a path, P(i).(see figure~\ref{f:network})
\begin{figure}[hbt]
\centerline{\psfig{figure=network.eps,width=4in}}
\caption {(a) A simple network of multiple nodes (b) A sequence of nodes
in path P(i)}
\label{f:network}
\end{figure}
\noindent{Define}
\begin{itemize}
\item $P(i)$ :- virtual path of session $i$
\item $H_i$ :- number of nodes (hops) in $P(i)$
\item $m$ :- node in the network
\item $r^m$ :- rate of server at node $m$
\item ${Q^m}_i(t)$ :- backlog of session $i$ at node $m$
\item $Q_i(t)$ :- end to end backlog;
$Q_i(t)$ = $\sum_{m=1}^{H_i} Q_i^m(t)$
\item ${A^m}_i[s,t]$ :- arrival to node $m$ during interval $[s,t]$
\item ${S^m}_i[s,t]$ :- amount served at node $m$ in $[s,t]$ interval
\end{itemize}
\noindent{Assuming no propagation delay, i.e. bits served by node $m-1$}
immediately arrive at node $m$, we can write
$${A^m}_i[s,t] = {S^{m-1}}_i[s,t] \;\; \rm{for \,all}\, m = 2,\cdots H_i$$
We will consider Leaky Bucket(LB) controlled sessions with traffic
descriptor $(\sigma_i, \rho_i)$ and a network of GPS servers. The
amount of session $i$ traffic entering the network during any interval
$(\tau,t)$ is defined to be $A_i[\tau,t]$ which satisfies the LB constraint:
$$A_i[\tau,t] \leq {\sigma_i + \rho_i(t-\tau)} \;\; \rm{for} \,
0 \leq \tau \leq t $$
\noindent{Let ${\phi_i}^m$ be the weight assigned to session $i$ at node $m$
according to GPS scheme. Whenever session $i$ is backlogged, it is
guranteed a minimum session rate of
$g_i = \frac{\phi_i^m}{\sum_{j=1}^{N} \phi_j^m} \cdot r^m $
If all sessions are backlogged at node $m$, equality must hold and the
assigned transmission rate is exactly ${\phi_i}^m \cdot r^m$ for all
$i = 1,\cdots,N.$
\begin{figure}[ht]
\centerline{\ \psfig{figure=graph1.eps}}
\caption{\em Arrival and Service curve}
\label{f:graph1}
\end{figure}
Figure~\ref{f:graph1} shows how the variables defined above are related.
Note that the two curves plotted in figure~\ref{f:graph1} are
the actual arrival curve of the first node, and departure function
of the last node of path $P(i)$. The vertical difference
therefore shows the total backlog in the network through all $H_i$ nodes
and the horizontal difference is the end-to-end delay.
Since $A_i^q[0,t]$ is bounded above by ${\stackrel{\land}{A}}_i^1(t)$
and ${\stackrel{\land}{S}}_i^{H_i}$, both the end-to-end delay
and backlog are bounded.
\section{Performance Bounds in Integrated Network - Multiple Nodes Case}
One simple way to bound the end-to-end delay is to add up
the worst case delay of each individual node along the
entire path of the session. However this gives us a
very loose bound, as illustrated in the following example.
\subsection{Additive Method}
Suppose we are given that ${\phi_i}^m \cdot r^m \geq \rho_i$,
i.e. the assigned rate is at least the long term average rate of the source.
Assuming that the buffer is FCFS (first come first serve), the worst case
delay for session $i$ at node $m$, ${D_i}^{m \cdot *}$, is given by
$$D_i^{m*} < \frac{\sigma_i}{\phi_i^m \cdot r^m}$$
\noindent{The} end-to-end delay will be bounded by the sum of the worst
case individual delay at each node:
$$D_i^* < \sum_{m=1}^{H_i} \frac {\sigma_i}{\phi_i^m \cdot r^m} $$
However, the worst case end-to-end delay should be bounded by
the arrival curve at the first node and the service curve
of the last node, $H_i$ (see figure~\ref{f:graph2}).
Assuming a acyclic graph where
the traffic passes through the nodes in sequence without feedback
loop, then the service rate of the network will be equal to the minimum rate
among the nodes lying in the path ($ m=1, \cdots H_i$) which is the
bottle neck for session $i$ through the whole network, i.e.
$$D_i^* < \frac{\sigma_i}{\min \limits_m \phi_i^m \cdot r^m}$$
\begin{figure}[ht]
\centerline{\ \psfig{figure=graph2.eps}}
\caption{\em Bounds on end-to-end delay and backlog}
\label{f:graph2}
\end{figure}
\subsection{Example: Rate Proportional Assignments}
Assume we assign the weights of GPS according to the long
term average rate of all sessions at each node, i.e.
$\phi_i^m \cdot r^m = \rho_i$, for all m.
Bounds for ``locally stable'' sessions when all
are leaky bucket constrained can be obtained.
\noindent{The} minimum session $i$ backlog clearing rate along
its route is
$$g_i= { \rm min}_{m \in P(i)} g_i^m$$
\noindent{When} $g_i > \rho_i$,
we define session $i$ to be {\em locally stable}.
\noindent{The} worst case delay will be :
$$ D_i^* \leq \frac{\sigma_i}{\rho_i}$$
\noindent{where} the maximum backlog, $Q_i^* \leq \sigma_i$.
\noindent{By} assigning fixed rate link of $\rho_i$ to each session, we don't
gain anything from multiplexing the sources together and the same
delay can be achieved by using circuit switching. Hence, this
is not an interesting case to look at.
\subsection{Alternative Approach for Tighter Bounds}
The approach is tailored to provide bounds for arbitrary topology networks
by exploiting properties derived in single node analysis for
GPS service discipline. Assuming the arrivals of each session conform to
Leaky Bucket regulators, we will follow the strategy below:
\begin{itemize}
\item {\em bound burstiness of all internal traffic} so that at each
node $m$, we have $A_i^m$ ~ $(\sigma_i^m, \rho_i)$ and maximum burst
$\sigma_i^m$ (see section 3 - the All Greedy Bound)
\item compute single node service curves
\item find end-to-end service curve
\end{itemize}
\noindent{In} order to ensure bounded backlogs, the following
nodal stability condition has to be satisfied:
$$\sum_{i:m \in P(i)} \rho_i \, < \, r^m $$
But local stability does not always ensure global stability.
While every route is acyclic, the union of several
routes may result in cycles being induced in the network
topology. This can lead to ``virtual feedback effect'' that
drives the system towards instability. However, under the GPS
service discipline these virtual feedback effects are completely
absent for a locally stable session (see section IV of \cite{Parekh_2}).
On the other hand, when all sessions are Leaky Bucket constrained, it is
possible to guarantee finite delay even for sessions that are not
locally stable. The presence of virtual feedback complicates the analysis,
and examples show that one major cause of poor performance is that a given
session is treated poorly relative to a set of sessions at a particular
node, but is treated as well relative to the same set of seesions at other
nodes. In the next section, we will show how tight bounds on delay can be
derived under a GPS assignments that treat each session
``consistently'' relative to the same set of other sessions.
\section{The All-Greedy Bound for a Single Node}
Before analysing the entire network under CRST, let us look at how we
can bound the burstiness of all internal traffic at a single node.
\begin{figure}[ht]
\centerline{\ \psfig{figure=traffic.eps}}
\caption{\em Bounding Internal Burstiness}
\label{f:traffic}
\end{figure}
Consider a particular node $m$. Suppose we are given that the arrival
process conforms to LB traffic descriptor, $A_i^m$~$(\sigma_i^m, \rho_i)$
As shown in \cite{Parekh_1}, the worst case delay and backlog for session
$i$ are achieved when all the sessions that flow into node $m$ are
simultaneously greedy from time zero(the beginning of
a system busy period). Let $\stackrel{\land}{A_i^m}$ = resulting session
arrival function at node $m$ for all $i = 1, \cdots, N$ and
$ \stackrel{\land}{S_i^m}$ = corresponding service function. Recall from
\cite{Parekh_1}, as long as $Q_i^m(t) > 0$,
${\stackrel{\land}{S}}_i^m[0,t]$ is piecewise linear and convex in $t$. We
have the following result:
$${\stackrel{\land}{\sigma}}_i^{m,out} \geq \sigma_i^{m,out}$$
\noindent{we can bound the burstiness of $S_i^m$ by
$({\stackrel{\land}{\sigma}}_i^{m,out})$.
\section{Consistent Relative Session Treatment (CRST)}
Under CRST, the sessions 1, ... , N are ordered such that if
$i>j$, then for all node $m$ the two sessions $i$ and $j$ share,
$$ \frac{\phi_i^m}{\rho_i} \, \ge \, \frac{\phi_j^m}{\rho_j} $$
In other words, there exists a strict ordering of the sessions such that for
any two sessions $i$,$j$, if session $j$ is less than session $i$ in the
ordering, then session $j$ does not impede session $i$ at any nodes
in the network, i.e. session $i$ is always treated better relative
to session $j$.
If sessions $i$ and $j$ are given the same relative treatment whenever
they contend for service at a server, such CRST system are called
Uniform Relative Session Treatment (URST). A special case pf URST
is Rate Proportional Processor Sharing (RPPS) where
$\phi_i^m \cdot r^m = \rho_i^m$ for every session $i$ at node $m$
(see section 2.2).
\subsection{CRST assignment under all greedy regime}
{\bf Theorem} Under CRST, network is globally stable if all
individual nodes are locally stable.
\noindent{We} will exploit the following facts to compute internal
burstiness of a network. The ability to bound traffic
burstiness prove the stability of CRST.
\noindent{\bf Fact [1]:} Output burstiness of session $i$
at node m, $\sigma_i$ is equal to the mazimum backlog of session $i$
at that node,
$$ Q_i^{m*} = \sigma_i^{m,out} $$
\noindent{Proof:} see Lemma 12 in paper 1. Here is an intuitive
argument:
\begin{figure}[ht]
\centerline{\ \psfig{figure=backlog.eps}}
\caption{\em Queue length for session $i$ at node $m$}
\label{f:backlog}
\end{figure}
\noindent{ Since} $S_i[s,t1]=Q_i^{m*} + \rho_i^m(t1-s)$ must equal
the total amount cleared in the time, $t1-s$ where t1= end of busy period.
The output traffic is characterized by $(\sigma_i^{m,out}, \rho_i^{m,out})$,
since the long term average output rate should be equal to the
long term average input rate, this implies that the maximum
burst of output traffic, $(\sigma_i^{m,out})$ must equal the
maximum backlog $Q_i^{m*}$.
\noindent{\bf Fact [2]: } Suppose we number the sessions according
o the relative treatment under CRST. i.e. if $i \frac{\phi_j^m}{\rho_j^m} \; \forall j \ne 1$$
$$\phi_1^m \cdot r^m > \rho_1^m$$
$$\sigma_1^{m,out} = \sigma_1^m$$
\noindent{The} first equation is true because of the ordering.
Due to local stability condition,
$r=\sum_{i=1}^{N} \phi_i \cdot r^m \geq \sum_{i=1}^{N}\rho_i$
there must exist an $i$ such that $\phi_i^m \cdot r^m > \phi_i$.
Since session 1 is treated better than all the other sessions,
the second equation must hold. When service rate is greater
than long term average of arrival rate of a session, its
burstiness will be preserved, hence equation 3 follows.
\noindent{\bf Fact [3]:} If session $i$ s better treated than session
$j$ under CRST, then ${\stackrel{\land}{\sigma}}_i^{m,out}$ does not depend
on $\sigma_j^m$. The proof for this is given in \cite{Parekh_2} under Lemma 2.
A quick intuitive argument is given below:
\begin{figure}[ht]
\centerline{\ \psfig{figure=order.eps}}
\caption{\em Queue lengths as a function of time for two sessions
under CRST}
\label{f:order}
\end{figure}
\noindent{When} $Q_i^m(t)$ builds up, this means session $i$ is experiencing
backlog. Since $i$ is greater than $j$ in ordering, $j$ must also experience
backlog because session $i$ always get a better treatment. $Q_j^m(t)$
will reach the maximum after $Q_i^m(t)$ does, and it always gets cleared at
a time later than that of session $i$. Therefore, the maximum backlog
of session $i$, $Q_i^{m*}$, does not depend on the value of $Q_j^{m*}$,
and $\sigma_j^m$ does not affect $\sigma_i^{m,out}$.
\section{Compute Internal Burstiness}
The sessions of any network with CRST assignment can be partitioned into
nonempty classes $H_1 , \cdots , H_L$ such that session in $H_k$ are
impeded only by those in $H_l$ where $l