Cloud computing architecture - project report parts 1 & 2
Forfatter
Ana Klimovic
Sidst opdateret
3 år siden
Licens
Creative Commons CC BY 4.0
Resumé
Project template for the cloud computing architecture course at ETH Zurich.
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{enumitem}
\usepackage{hhline}
\topmargin=-0.45in
\evensidemargin=0in
\oddsidemargin=0in
\textwidth=6.5in
\textheight=9.0in
\headsep=0.25in
\begin{document}
\input{titlepage}
\section*{Instructions}
Please do not modify the template, except for putting your solutions, names and legi-NR.
Parts 1 and 2 should be answered in maximum six pages (including the questions).
\textbf{If you exceed the space, points might be subtracted}.
\newpage
\section*{Part 1 [20 points]}
\begin{enumerate}[label=(\alph*)]
\item \textbf{[10 points]} Plot a single line graph with 95th percentile latency on the y-axis (the
y-axis should range from 0 to 5 ms) and QPS on the x-axis (the x-axis should range from 0 to 70K).
Label your axes. State how many runs you averaged across (we recommend three) and include error bars.
There should be 7 lines in total in your plot, showing the performance of memcached running with no
interference and six different sources of interference: cpu, l1d, l1i, l2, l3, membw. The readability of your
plot will be part of your grade.
\item \textbf{[6 points]} Describe how the tail latency and saturation point (the “knee in the curve”) of
memcached is affected by each type of interference. Also describe your hypothesis for why memcached performance is
affected in this way.
\item \textbf{[2 points]} Explain the use of the taskset command in the container commands for memcached and iBench
in the provided scripts. Why do we run some of the iBench benchmarks on the same core as memcached and others on a different core?
\item \textbf{[2 point]} Assuming a service level objective (SLO) for memcached of up to 2 ms 95th percentile latency at 40K QPS,
which iBench source of interference can safely be collocated with memcached without violating this SLO? Explain your reasoning.
\end{enumerate}
\section*{Part 2 [25 points]}
\begin{enumerate}
\item \textbf{[12 points]} Fill in the following table with the normalized execution time of each batch job with each source of
interference. The execution time should be normalized to the job’s execution time with no interference. Color-code each field in the
table as follows: {\color{Green}green} if the normalized execution time is less than or equal to 1.3, {\color{YellowOrange}orange} if the normalized execution time is over 1.3
and up to 2, and {\color{Red}red} if the normalized execution time is greater than 2. Summarize in a paragraph the resource interference sensitivity of
each batch job.
\begin{center}
\begin{tabular}{ |c|c|c|c|c|c|c|c| }
\hline
\textbf{Workload} & \texttt{\textbf{none}} & \texttt{\textbf{cpu}} & \texttt{\textbf{l1d}} & \texttt{\textbf{l1i}} & \texttt{\textbf{l2}} & \texttt{\textbf{llc}} & \texttt{\textbf{memBW}} \\
\hline\hline
dedup & 1.0 & & & & & & \\ \hline
blackscholes & 1.0 & & & & & & \\ \hline
ferret & 1.0 & & & & & & \\ \hline
freqmine & 1.0 & & & & & & \\ \hline
canneal & 1.0 & & & & & & \\ \hline
fft & 1.0 & & & & & & \\ \hline
\end{tabular}
\end{center}
\item \textbf{[3 points]} Explain in a few sentences what the interference profile table tells you about the resource requirements
for each application. Which jobs (if any) seem like good candidates to collocate with memcached from Part 1, without violating the SLO of
2 ms P95 latency at 40K QPS?
\item \textbf{[10 points]} Plot a single line graph with speedup as the y-axis (normalized time to the single thread config,
$\textrm{Time}_1$ / $\textrm{Time}_n)$ vs. number of threads on the x-axis. Briefly discuss the scalability of each application: e.g.,
linear/sub-linear/super-linear. Do any of the applications gain a significant speedup with more threads? Explain what you consider to
be ``significant''.
\end{enumerate}
\end{document}