]> xenbits.xensource.com Git - people/liuw/talks.git/commitdiff
Sync from Google doc version
authorWei Liu <wei.liu2@citrix.com>
Fri, 15 Aug 2014 16:22:17 +0000 (17:22 +0100)
committerWei Liu <wei.liu2@citrix.com>
Fri, 15 Aug 2014 16:22:17 +0000 (17:22 +0100)
slides.tex

index 5f35a7c90708d34346d6a483c4415158564c35a5..6fe26d8f6728ae8a9f7bbb95d0549e228d308ce9 100644 (file)
 \note{Welcome}
 }
 
-\section{Xen virtualization modes}
+\section{Agenda}
 
-\subsection{intro}
+\subsection{Agenda}
 
 \begin{frame}
-    \frametitle{Paravirtualization}
+  \frametitle{Agenda}
+  \begin{itemize}
+  \item Motives
+  \item History and status
+  \item Design and implementation
+  \item Problems % cpu topology, pod, balloon etc
+  \item Preliminary benchmark results
+  \item TODOs
+  \end{itemize}
+\end{frame}
+\note{}
+
+\section{Motives}
+\subsection{Motives}
+
+\begin{frame}
+  \frametitle{Motives}
+  \begin{itemize}
+  \item Cross NUMA node memory access is expensive
     \begin{itemize}
-        \item Lorem ipsum dolor sit amet, consectetur adipiscing elit:
-        \begin{itemize}
-        \item Phasellus tincidunt, suspendisse tristique ligula nisl. Sodales id tempus sed, elementum at turpis. Phasellus venenatis blandit
-        \item Orci pulvinar urna posuere placerat lacus a feugiat
-      \end{itemize}
-      \item Suscipit pharetra sit amet ante arcu, sed auctor metus
-      \item Ut augue velit tristique ligula nisl, amet ante elementum tincidunt
+    \item Need to avoid cross node memory access
+    \end{itemize}
+  \item Xen is NUMA aware
+    \begin{itemize}
+    \item NUMA aware scheduling
+    \item NUMA aware guest memory placement
+    \end{itemize}
+  \item Operating system like Linux is NUMA aware
+    \begin{itemize}
+    \item NUMA aware scheduling
+    \item NUMA aware memory allocation / migration
+    \end{itemize}
+  \item The missing bits
+    \begin{itemize}
+    \item Memory layout information
+    \item CPU topology
     \end{itemize}
+  \end{itemize}
 \end{frame}
-\note{
-    Suspendisse a massa justo. Nulla tincidunt pretium gravida. Fusce id quam massa. Nulla at dui sit amet neque aliquam dictum. Praesent odio risus, sodales id tempus sed, elementum at turpis. Phasellus venenatis blandit massa, non adipiscing lacus accumsan nec. Nunc porttitor sollicitudin lacus, et dictum nunc posuere vel. Suspendisse tristique ligula nisl. Morbi ac pharetra leo. Pellentesque posuere placerat lacus a feugiat. Phasellus sit amet ante arcu, sed auctor metus. Fusce sollicitudin sapien sit amet ante elementum tincidunt.
-}
 
+\section{History and status}
+  \subsection{History and status}
 \begin{frame}
-    \frametitle{HVM}
+    \frametitle{History and status}
     \begin{itemize}
-        \item Lorem ipsum dolor sit amet, consectetur adipiscing elit:
-        \begin{itemize}
-        \item Phasellus tincidunt, suspendisse tristique ligula nisl. Sodales id tempus sed, elementum at turpis. Phasellus venenatis blandit
-        \item Orci pulvinar urna posuere placerat lacus a feugiat
-      \end{itemize}
-      \item Suscipit pharetra sit amet ante arcu, sed auctor metus
-      \item Ut augue velit tristique ligula nisl, amet ante elementum tincidunt
+    \item PV vNUMA presented in Xen Summit 2010 by Dulloor Rao http://slidesha.re/1AXsFbu
+    \item HVM vNUMA patches posted by Andre Przywara circa 2010
+    \item Elena Ufimtseva has been working on upstreamable PV vNUMA since 2013
     \end{itemize}
 \end{frame}
-\note{
-    Non adipiscing lacus accumsan nec. Nunc porttitor sollicitudin lacus, et dictum nunc posuere vel. Suspendisse tristique ligula nisl. Morbi ac pharetra leo. Pellentesque posuere placerat lacus a feugiat. Phasellus sit amet ante arcu, sed auctor metus. Fusce sollicitudin sapien sit amet ante elementum tincidunt.
-}
 
-\section{Performance analisis}
+\section{Design}
 
-\subsection{simul}
+\subsection{Design}
 
 \begin{frame}
-    \frametitle{IO operations}
-
+    \frametitle{Design: PV and PVH}
     \begin{itemize}
-        \item Lorem ipsum dolor sit amet:
+    \item Toolstack puts enlightenment information in hypervisor
+    \item Guest memory allocation in accordance with enlightenment information
+    \item Guest retrieves enlightenment information via hypercall during boot up
     \end{itemize}
+\end{frame}
 
-    \unskip
-    {\scriptsize
-    \begin{table}
-    \centering
-    \begin{tabular} {lccc}
-    \hline
-    \hline
-    Intensity & Event ID & Diff-time & Energy \\ \hline
-    0.1 Crab & 1.00 & 6.53 & 7.67 \\
-    0.25 Crab & 1.00 & 5.36 & 7.52 \\
-    0.5 Crab & 1.00 & 4.44 & 7.45 \\ 
-    1 Crab & 1.00 & 3.51 & 7.41 \\
-    \hline
-    \hline
-    \end{tabular}
-    \end{table}}
-    \unskip
+\begin{frame}
+    \frametitle{Design: PV and PVH}
+Insert picture of enlightenment information structure
+\end{frame}
 
+\begin{frame}
+    \frametitle{Design: HVM}
     \begin{itemize}
-    \item Integer rhoncus aliquet lectus vel luctus:
+    \item Toolstack puts enlightenment information in hypervisor
+    \item Toolstack arranges ACPI tables
+    \item Guest memory allocation in accordance with enlightenment information
+    \item Guest retrieves layout information via ACPI tables during boot up
     \end{itemize}
-    \unskip
+\end{frame}
+
+\section{Problems}
+
+\subsection{Problems}
+
+\begin{frame}
+    \frametitle{Problems: vNUMA and other features}
 
     {\scriptsize
     \begin{table}
     \begin{tabular} {lccc}
     \hline
     \hline
-    Intensity & Event ID & Diff-time & Energy \\ \hline
-    0.1 Crab & 3.00 & 1.84 & 1.17 \\
-    0.25 Crab & 3.00 & 2.24 & 1.20 \\
-    0.5 Crab & 3.00 & 2.70 & 1.21 \\
-    1 Crab & 3.00 & 3.42 & 1.21 \\
+               & PV  & PVH & HVM \\ \hline
+    Ballooning & Y   & Y* & N \\
+    PoD        & N/A & ? & N \\
     \hline
     \hline
     \end{tabular}
     \end{table}}
-    \unskip
 
 \end{frame}
 
-\section{Design decisions}
+\begin{frame}
+Insert pics
+\end{frame}
 
-\subsection{design}
+\section{Benchmark}
+\subsection{Benchmark}
 
 \begin{frame}
-    \frametitle{Lipsum}
-
+    \frametitle{Benchmark: Configurations}
     \begin{itemize}
-        \item Lorem ipsum dolor sit amet, consectetur adipiscing elit:
-        \begin{itemize}
-            \item Phasellus tincidunt, suspendisse tristique ligula nisl. Sodales id tempus sed, elementum at turpis. Phasellus venenatis blandit
-            \item Orci pulvinar urna posuere placerat lacus a feugiat
-        \end{itemize}
-        \item Suscipit pharetra sit amet ante arcu, sed auctor metus
-        \item Ut augue velit tristique ligula nisl, amet ante elementum tincidunt
+    \item Host
+      \begin{itemize}
+        \item 2 sockets, 12 PCPUs, HT disabled
+        \item 36GB RAM, 2 NUMA nodes
+        \item NUMA balancing enabled
+      \end{itemize}
+    \item Guest
+      \begin{itemize}
+        \item 12 VCPUs
+        \item 16GB RAM, 2 virtual NUMA nodes
+        \item vnodes mapped to different pnodes, vcpu pinned to pnode
+        \item NUMA balancing enabled
+      \end{itemize}
     \end{itemize}
-
 \end{frame}
 
 \begin{frame}
-    \frametitle{Dolor}
-
+    \frametitle{Benchmark: Autonuma}
     \begin{itemize}
-        \item Lorem ipsum dolor sit amet, consectetur adipiscing elit:
-        \begin{itemize}
-            \item Phasellus tincidunt, suspendisse tristique ligula nisl. Sodales id tempus sed, elementum at turpis. Phasellus venenatis blandit
-            \item Orci pulvinar urna posuere placerat lacus a feugiat
-        \end{itemize}
-        \item Suscipit pharetra sit amet ante arcu, sed auctor metus
-        \item Ut augue velit tristique ligula nisl, amet ante elementum tincidunt
+    \item Multiple threads accessing global / local memory
+    \item Won't run on single node system
+    \item See if exposing sensible topology to guest makes a difference in guest perfromance
     \end{itemize}
-
 \end{frame}
 
+
 \begin{frame}
-    \frametitle{Sir amet}
+    \frametitle{Benchmark: Autonuma}
+    \begin{itemize}
+    \item Insert numa\_01
+    \end{itemize}
+\end{frame}
 
+\begin{frame}
+    \frametitle{Benchmark: Autonuma}
     \begin{itemize}
-        \item Lorem ipsum dolor sit amet, consectetur adipiscing elit:
-        \begin{itemize}
-            \item Phasellus tincidunt, suspendisse tristique ligula nisl. Sodales id tempus sed, elementum at turpis. Phasellus venenatis blandit
-            \item Orci pulvinar urna posuere placerat lacus a feugiat
-        \end{itemize}
-        \item Suscipit pharetra sit amet ante arcu, sed auctor metus
-        \item Ut augue velit tristique ligula nisl, amet ante elementum tincidunt
+    \item insert numa 01 hard bind
     \end{itemize}
+\end{frame}
 
+\begin{frame}
+    \frametitle{Benchmark: Autonuma}
+    \begin{itemize}
+    \item insert numa 02
+    \end{itemize}
 \end{frame}
 
-\section{Conclusions}
+\begin{frame}
+    \frametitle{Benchmark: SPECJBB}
+    \begin{itemize}
+    \item insert SPECJBB 1
+    \end{itemize}
+\end{frame}
 
-\subsection{conclusion}
 
 \begin{frame}
-    \frametitle{Conclusion}
-
+    \frametitle{Benchmark: SPECJBB}
     \begin{itemize}
-        \item Lorem ipsum dolor sit amet:
+    \item insert SPECJBB 2
     \end{itemize}
+\end{frame}
 
-    \unskip
-    {\scriptsize
-    \begin{table}
-    \centering
-    \begin{tabular} {lccc}
-    \hline
-    \hline
-    Intensity & Event ID & Diff-time & Energy \\ \hline
-    0.1 Crab & 1.00 & 6.53 & 7.67 \\
-    0.25 Crab & 1.00 & 5.36 & 7.52 \\
-    0.5 Crab & 1.00 & 4.44 & 7.45 \\ 
-    1 Crab & 1.00 & 3.51 & 7.41 \\
-    \hline
-    \hline
-    \end{tabular}
-    \end{table}}
-    \unskip
+\begin{frame}
+    \frametitle{Benchmark: STREAM}
+    \begin{itemize}
+    \item insert STREAM
+    \end{itemize}
+\end{frame}
 
+\begin{frame}
+    \frametitle{Benchmark: Conclusion}
     \begin{itemize}
-    \item Integer rhoncus aliquet lectus vel luctus:
+    \item vNUMA improves performance for PV guest
+    \item vNUMA has weird result in SPECJBB for PVH guest, but other two benchmarks have good results
     \end{itemize}
-    \unskip
+\end{frame}
 
-    {\scriptsize
-    \begin{table}
-    \centering
-    \begin{tabular} {lccc}
-    \hline
-    \hline
-    Intensity & Event ID & Diff-time & Energy \\ \hline
-    0.1 Crab & 3.00 & 1.84 & 1.17 \\
-    0.25 Crab & 3.00 & 2.24 & 1.20 \\
-    0.5 Crab & 3.00 & 2.70 & 1.21 \\
-    1 Crab & 3.00 & 3.42 & 1.21 \\
-    \hline
-    \hline
-    \end{tabular}
-    \end{table}}
-    \unskip
+\section{TODOs}
+\subsection{TODOs}
 
+\begin{frame}
+    \frametitle{TODOs}
+    \begin{itemize}
+    \item basic vNUMA support for all guest types
+    \item address vNUMA compatibility issues with PoD and ballooning for HVM guest
+    \item address performance issue for PVH
+    \item flexible automatic placement strategy in libxl (maybe)
+    \end{itemize}
 \end{frame}
 
 \end{document}