Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.

Commit

Permalink
#170 everything before comparison
Browse files Browse the repository at this point in the history
  • Loading branch information
taivop committed Dec 6, 2016
1 parent 0d52439 commit e082bc9
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 22 deletions.
Binary file modified report/milestone3.pdf
Binary file not shown.
37 changes: 15 additions & 22 deletions report/milestone3.tex
Original file line number Diff line number Diff line change
Expand Up @@ -75,39 +75,32 @@ \section{System as One Unit}\label{sec:system-one-unit}
% --------------------------------------------------------------------------------
% --------------------------------------------------------------------------------

\subsection{Guidelines}
Length: 1-2 pages
\subsection{Data}

Build an M/M/1 model of your entire system based on the stability trace that you had to run for the first milestone. Explain the characteristics and behavior of the model built, and compare it with the experimental data (collected both outside and inside the middleware). Analyze the modeled and real-life behavior of the system (explain the similarities, the differences, and map them to aspects of the design or the experiments). Make sure to follow the model-related guidelines described in the Notes!
The experimental data used in this section comes from the updated trace experiment, found in \texttt{\href{https://gitlab.inf.ethz.ch/pungast/asl-fall16-project/tree/master/results/trace\_rep3}{results/trace\_rep3}}. For details, see Milestone 2, Appendix A. The first 2 minutes and last 2 minutes were dropped as warm-up and cool-down time similarly to previous milestones.

\subsection{Model}

\todo{} describe the model I was using, and how I found the parameters. also describe problems

book: "Unless explicitly specified, the queues are defined as having infinite buffer capacity, infinite population size, and an FCFS service discipline."

book: "For example, the number of jobs in a queue with a single server and individual arrivals (not bulk arrivals) can be represented as a birth-death process" => we have birth-death process!

book about M/M/1 queues: "It is assumed that the interarrival times and the service times are exponentially distributed and there is only one server. There are no buffer or population size limitations and the service discipline is FCFS."
In this section I create an M/M/1 model of the system. This means the following definitions and assumptions:
\begin{itemize}
\item The queues are defined as having infinite buffer capacity.
\item The population size is infinite.
\item The service discipline is FCFS.
\item Interarrival times and the service times are exponentially distributed.
\item We treat the SUT as a single server and as a black box.
\item Arrivals are individual, so we have a birth-death process.
\end{itemize}

problems: assumption that arrival rate is i.i.d doesn't hold (closed system => memaslap sends new request as soon as it receives response)

\subsection{Data}
\paragraph{Parameter estimation}
Using the available experimental data, it is not possible to directly calculate the mean arrival rate $\lambda$ and mean service rate $\mu$ so we need to estimate them somehow. I estimated both using throughput of the system: I take $\lambda$ to be the \emph{mean} throughput over 1-second windows, and $\mu$ to be the the \emph{maximum} throughput in any 1-second window, calculated from middleware logs. I chose a 1-second window because a too small window is highly susceptible to noise whereas a too large window size drowns out useful information.

The experimental data used in this section comes from the updated trace experiment, found in \texttt{\href{https://gitlab.inf.ethz.ch/pungast/asl-fall16-project/tree/master/results/trace\_rep3}{results/trace\_rep3}}. For details, see Milestone 2, Appendix A.
\paragraph{Problems}
The assumptions above obviously do not hold for our actual system. Especially strong is the assumption of a single server; since we actually have multiple servers, this model is likely to predict the behaviour of the system very poorly. A second problem arises from my very indirect method of estimating parameters for the model (and an arbitrary choice of time window) which introduces inaccuracies.

\subsection{Comparison of model and experiments}

took service rate to be max of throughput and arrival rate as mean of throughput

\todo{Table of predicted vs actual numbers about the system}

Once I have parameters, calculate:
\begin{itemize}
\item mean number of jobs in system and queue, using Little's law (Ch30.2)
\item distribution of number of jobs in system and queue
\end{itemize}

\begin{figure}[h]
\includegraphics[width=\textwidth]{../results/analysis/part1_mm1/graphs/job_count_dist_actual_and_predicted.pdf}
\caption{ \todo{} }
Expand Down

0 comments on commit e082bc9

Please sign in to comment.