\documentclass[glossy]{beamer}
\useoutertheme{wuerzburg}
\useinnertheme[realshadow,corners=2pt,padding=2pt]{chamfered}
\usecolortheme{shark}
\usepackage{tikz}
\newcommand<>{\hover}[1]{\uncover#2{%
\begin{tikzpicture}[remember picture,overlay]%
\draw[fill,opacity=0.4] (current page.south west)
rectangle (current page.north east);
\node at (current page.center) {#1};
\end{tikzpicture}}
}
\title{Load Balancing in distributed Openflow Controllers}
\author{Shubham K Singh}
\institute{IIITDM Kancheepuram}
\date{\today}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\begin{frame}
\frametitle{Load Balancing in Distributed Controllers}
We shall discuss the outcome of implemented switch distribution models.
\begin{itemize}
\item Round Robin distribution
\item Weighted Round Robin
\item Ranking of Controllers
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Implementation of Models}
Used Modelling and Simulation concepts
\begin{itemize}
\item Flow Requests generated using exponential random variables.
\item Response time of controller simulated using lognorm random variable.
\item Number of active connections varied randomly between 1-50
\item Controller uptime assumed to be uniformally between 95.00\% to 99.99\%
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Continued..}
\begin{center}
\begin{tabular}{||c c c c||}
\hline
Model & fr=1000 & fr=10000& fr=100000 \\ [0.5ex]
\hline\hline
Round Robin(RR) & 0.899 & 0.921 & 0.956 \\
\hline
Weighted RR & 0.912 & 0.946 & 0.973 \\
\hline
Least response time & 0.964 & 0.953 & 0.917 \\
\hline
\hline
\end{tabular}
\end{center}
fr=Flow request
n=20 (Number of controllers)
\end{frame}
\begin{frame}
\frametitle{Proposed Model for Load Distribution in controller-Balance bound }
\begin{figure}
\includegraphics[scale=0.4]{network.png}
\caption{Fig: A distributed controller network}
\label{Fig: A distributed controller network}
\end{figure}
Model to distribute k switches among n controller:
\begin{itemize}
\item \textbf{Step1} Generate a list of connected controller (neighbours) per controller.
\item \textbf{Step2} Calculate the weights of links between each controller according to formula:
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Continued..}
\begin{center}
$W_{ij}$ = ($t_j$ - $l_j$) - ($t_i$ - $l_i$)\linebreak
$W_{ij}$=-$W_{ji}$
\end{center}
\begin{itemize}
\item For every controller, create a max heap which maintains a heap of relative weights.
\end{itemize}
The heap of controller updates dynamically on fixed interval. i.e. if any controller is disconnected, it is removed from global weight distribution heap.
\end{frame}
\begin{frame}
\frametitle{Continued.. }
\begin{itemize}
\item \textbf{Step 4}:
\begin{figure}
\includegraphics[scale=0.4]{Picture1.png}
\end{figure}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Continued.. }
\begin{itemize}
\item It takes constant time to allocate controllers even in cases when controller is reaching it maximum load bound or any controller is down.
\item $O(n^2)$ to create the connected neighbour list.
\item $O( nlog(n) )$ for global and local max heap creation.
\item $O(1)$ for getting max element from heap.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Conclusion \& Future work }
\begin{itemize}
\item It takes constant time to allocate controllers even in cases when controller is reaching it maximum load bound or any controller is down.
\item Around 20 controllers are sufficient to handle most of average sized network.
\item Of all the distribution techniques implemented, Weighted round robin seems to distribute load in better way if weight are adjusted properly.
\item Implement the proposed technique in Openflow
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{End of presentation }
\begin{center}
\begin{itemize}
\item Thank You...Any Questions?
\end{itemize}
\end{center}
\end{frame}
\end{document}