1 \documentclass[black,white
]{beamer
}
3 \usepackage{beamerthemesplit
}
8 \usepackage[utf8
]{inputenc}
9 \usepackage[english
]{babel
}
15 \usefonttheme{professionalfonts
}
17 \useoutertheme{infolines
}
18 \useinnertheme{rectangles
}
20 \setlength{\parindent}{0pt
}
21 \newcommand*
\sfb[1]{\textbf{#1}}
22 \definecolor{red2
}{rgb
}{.7,
0,
.39}
23 \usebackgroundtemplate{
24 \includegraphics[width=
\paperwidth,height=
\paperheight]{img/bg.png
}
29 \title[LANA for Embedded Devices
]{\newline \newline \normalsize{Master Thesis
} \newline
30 \huge{\textcolor{red2
}{Lightweight Autonomic Network Architecture for Embedded Devices
}}}
31 \author[Daniel Borkmann
] {
34 Daniel Borkmann
\texttt{<dborkma@tik.ee.ethz.ch>
}\\
35 \footnotesize{intermediate presentation
}
37 \institute[ETH Zurich
] {
38 Communication Systems Group\\
40 Faculty of Computer Science, Mathematics and Natural Sciences\\
41 Leipzig University of Applied Sciences
51 \frametitle{\textcolor{red2
}{ETH Zurich
}}
54 \includegraphics[width=
0.9\textwidth]{img/eth.png
} \footnotesize{[Src: flickr.com
]}
59 \frametitle{\textcolor{red2
}{Communication Systems Group,
\newline ETH Zurich
}}
62 \item Communication Systems Group conducts
\textbf{research on modeling, design, and implementation of communication systems
} [1]:
\medskip
64 \item Wireless mobile networks and social networks
\medskip
65 \item Network measurements and security
\medskip
66 \item Future Internet architecture and protocols
\medskip
68 \item \textbf{Thesis advisors:
} Ariane Keller, Dr. Wolfgang Mühlbauer
\medskip
69 \item \textbf{Professor:
} Prof. Dr. Bernhard Plattner
74 \frametitle{\textcolor{red2
}{Table of Contents
}}
78 \section{Introduction
}
79 \subsection{EPiCS Project
}
81 \frametitle{\textcolor{red2
}{Introduction
}}
88 \item Thesis in
\textbf{context of the EPiCS
} research project
[2]\medskip
90 \item Concepts and foundations for self-aware and self-expressive systems
\medskip
91 \item Hardware/software platform technologies for autonomic compute nodes
\medskip
92 \item Self-aware network architecture
\medskip
94 \item For communication purposes, the
\textbf{Autonomic Network Architecture (ANA)
} [3] will be used
99 \includegraphics[width=
0.35\textwidth]{img/ana.pdf
}
102 \subsection{Basics of ANA
}
104 \frametitle{\textcolor{red2
}{Basic idea of ANA
}}
108 \item \textbf{No "one-size-fits-all" approach
} as in classical network architectures
\medskip
109 \item Network stack is composed by building block processing elements, called
\textbf{Functional Blocks (FB)
}\medskip
110 \item Idea of flexible UNIX Sockets for communication and packet forwarding between Functional Blocks
\medskip
111 \item Results in a graph of Functional Blocks where the edges represent communication connections
\medskip
112 \item Packets traverse specific paths of this graph
117 \frametitle{\textcolor{red2
}{Basic idea of ANA
}}
122 \includegraphics[width=
0.20\textwidth]{img/stack_normal.pdf
}
124 \includegraphics[width=
0.20\textwidth]{img/ana_stack.pdf
}
129 \frametitle{\textcolor{red2
}{Advantages of this idea
}}
132 \item \textbf{Smaller size of the network stack
}\medskip
133 \item \textbf{Network stack reconfiguration during runtime
}\medskip
134 \item Functional Blocks need no a-priori knowledge about their "neighbors"
\medskip
135 \item Easier to adapt new technologies and protocols
\medskip
136 \item Application developers do not need to care about underlying addressing schemes, i.e. IPv4 versus IPv6
\medskip
137 \item \textbf{Not only suited for Internet!
}
141 \subsection{Motivation
}
143 \frametitle{\textcolor{red2
}{Motivation
}}
147 \item \textbf{Autonomic Network Architecture important for
\newline Embedded Systems
[4]}\medskip
148 \item Limited resources require network stack adaptions to
\newline different networking situations
\medskip
149 \item Implementation of ANA rather resource-intensive, lightweight
\newline redesign is needed
\medskip
150 \item \textit{Short example:
}\medskip
152 \item Currently, packets are being copied between Functional Blocks
\medskip
153 \item Can be avoided to save CPU processing resources
158 \subsection{Aims of this thesis
}
160 \frametitle{\textcolor{red2
}{Aims of this thesis
}}
165 \item \textbf{Lightweight redesign and implementation of ANA (LANA)
}\medskip
166 \item \textit{Requirements:
}\medskip
168 \item Needs to outperform the original architecture regarding performance
\medskip
169 \item Needs to run on embedded Linux devices
\medskip
170 \item Functional Block adding/removal/swapping during runtime
175 \includegraphics[width=
0.35\textwidth]{img/ml605.png
}
178 \section{Architectural Changes
}
179 \subsection{Fundamental changes in LANA
}
181 \frametitle{\textcolor{red2
}{Fundamental changes in LANA
\newline Core Machinery
}}
184 \begin{tabular
}{p
{0.22\textwidth} p
{0.35\textwidth} p
{0.35\textwidth}}
185 \arrayrulecolor{gray
}
186 \textbf{Criterion
} &
\textbf{Current implementation
} &
\textbf{New implementation
}\\
[1pt
]
188 \textit{Message passing between FBs
} & Memory is copied & Memory is referenced\\
[1pt
]
190 \textit{API
} &
3 Layers &
1 Layer\\
[1pt
]
192 \textit{Threads
\footnotemark[1]} &
1 FB $
\hat{=
}$
1 Thread & "
1 CPU $
\hat{=
}$
1 Thread"\\
[1pt
]
194 \textit{Centrality
\footnotemark[1]} & Central MINMEX & Cache-friendly, decentralized\\
[1pt
]
196 \textit{Address space
} & User- and Kernelspace & Kernelspace\\
201 \includegraphics[width=
0.15\textwidth]{img/tux.png
}
202 \footnotetext[1]{under the assumption that multiple CPUs are used
}
206 \frametitle{\textcolor{red2
}{Fundamental changes in LANA
\newline Architectural changes
}}
210 \item New VLink layer for
\textbf{virtual networking devices
} and
\newline \textbf{virtual networks
}\medskip
211 \item Network stack changes announced via
\textbf{Functional Block Notifier
}\medskip
212 \item Better usage of
\textbf{optimized and matured Kernel-APIs
}\medskip
213 \item Two central userspace tools (
\textit{vlink, fbctl
}) for administration
\medskip
214 \item Integration into
\textbf{Linux Socket API
}
219 \includegraphics[width=
0.15\textwidth]{img/tux.png
}
222 \subsection{Architecture overview
}
224 \frametitle{\textcolor{red2
}{Architecture overview
}}
226 \includegraphics[width=
0.73\textwidth]{img/arch.png
}
230 \section{Performance Evaluation and Testing Tools
}
232 \frametitle{\textcolor{red2
}{Performance Evaluation and
\newline Testing Tools
}}
236 \item \textbf{Measurement example scenario
} (fig.
1)
\medskip
237 \item Based on the
\textbf{netsniff-ng networking toolkit
} [5]\medskip
238 \item Extended with
\textbf{trafgen
}, a packet generator
\medskip
240 \item Used for performance evaluation, stress-testing,
\newline debugging, and the development of LANA
\medskip
241 \item Uses high-performance Zero-Copy Linux API
\medskip
242 \item First evaluation shows maximum
422.000 pps
\newline (fig.
2,
64 Byte, Gigabit-Ethernet,
2.6 Ghz)
\medskip
244 \item \textbf{ifpps
} used to gather kernel networking statistics
\bigskip
249 \begin{minipage
}[h
]{0.3\textwidth}
251 \includegraphics[width=
0.9\textwidth]{img/scen.png
}\\
\medskip
252 \includegraphics[width=
\textwidth]{img/tx.png
}
257 \section{Open Questions
}
259 \frametitle{\textcolor{red2
}{Open Questions
}}
262 \item What about Userspace Functional Blocks?
\medskip
263 \item How to find the correct path for network stack traversal?
267 \section{Project Plan
}
269 \frametitle{\textcolor{red2
}{Project Plan
}}
274 \item Introductory reading, setup of work environment:
\textcolor{green
}{\textbf{done
}}
275 \item ANA compilation, test run, written own 'Brick':
\textcolor{green
}{\textbf{done
}}
276 \item Architecture design:
\textcolor{orange
}{\textbf{in progress
}}
277 \item Implementation of core components:
\textcolor{orange
}{\textbf{in progress
}}
278 \item Implementation of 'Functional Blocks':
\textcolor{red
}{\textbf{to do
}}
279 \item Testing, debugging:
\textcolor{orange
}{\textbf{in progress
}}
280 \item Userspace tools, example applications and manpages:
\textcolor{orange
}{\textbf{in progress
}}
281 \item Literature study:
\textcolor{orange
}{\textbf{in progress
}}
282 \item Performance evaluation:
\textcolor{orange
}{\textbf{in progress
}}
283 \item Final
report:
\textcolor{red
}{\textbf{to do
}}
289 \frametitle{\textcolor{red2
}{Questions
}}
293 \Large{Thanks for your attention! Questions?
}
299 \frametitle{\textcolor{red2
}{Resources
}}
305 \item [1]\textbf{CSG, ETH Zurich
},
\textcolor{blue
}{\url{http://www.csg.ethz.ch/
}} (
3/
2011)
\medskip
306 \item [2]\textbf{EPiCS project
},
\textcolor{blue
}{\url{http://www.epics-project.eu/
}} (
3/
2011)
\medskip
307 \item [3]\textbf{ANA project
},
\textcolor{blue
}{\url{http://www.ana-project.org/
}} (
3/
2011)
\medskip
308 \item [4]\textbf{Reconfigurable nodes for future networks
}, A. Keller, B. Plattner,
309 E. Lübbers, M. Platzner, and C. Plessl in Proc. IEEE Globecom Workshop
310 on Network of the Future (FutureNet), pages
372–
376. IEEE, Dec.
2010\medskip
311 \item [5]\textbf{netsniff-ng
},
\textcolor{blue
}{\url{http://www.netsniff-ng.org/
}} (
3/
2011)