Index: doc/theses/mubeen_zulfiqar_MMath/benchmarks.tex
===================================================================
--- doc/theses/mubeen_zulfiqar_MMath/benchmarks.tex	(revision 5b84a32152bee05661a929ee5e34ad13789a1f84)
+++ doc/theses/mubeen_zulfiqar_MMath/benchmarks.tex	(revision 4c530a517ad27e21191fa09816161ecc4ca7a818)
@@ -56,5 +56,5 @@
 -threadA :  sets number of alloc threads (producers) for mem benchmark\\
 -consumeS:  sets production and conumption round size\\
--threadF :  sets number of free threads (consumers) for mem benchmark
+-threadF :  sets number of free threads (consumers) for each producer for mem benchmark
 
 Object allocation size can be changed using the knobs:\\
@@ -70,6 +70,4 @@
  It uses following chains and measures allocator runtime speed against them:
 \begin{itemize}
-\item malloc 0
-\item free NULL
 \item malloc
 \item realloc
@@ -101,5 +99,11 @@
 each chain.
 
-Number of worker threads can be adjust using a command-line argument -threadN.
+Following knobs can be adjusted to tune memory usage.\\
+-maxS    :  sets max object size\\
+-minS    :  sets min object size\\
+-stepS   :  sets object size increment\\
+-distroS :  sets object size distribution\\
+-objN    :  sets number of objects per thread\\
+-threadN :  sets number of worker threads\\
 
 \section{Churn Benchmark} Churn benchmark measures the overall runtime speed of an allocator in a multi-threaded
Index: doc/theses/mubeen_zulfiqar_MMath/performance.tex
===================================================================
--- doc/theses/mubeen_zulfiqar_MMath/performance.tex	(revision 5b84a32152bee05661a929ee5e34ad13789a1f84)
+++ doc/theses/mubeen_zulfiqar_MMath/performance.tex	(revision 4c530a517ad27e21191fa09816161ecc4ca7a818)
@@ -188,37 +188,47 @@
 \subsection{Speed Benchmark}
 
-Speed benchmark tested memory allocators for program induced allocator preserved passive false sharing.
+Speed benchmark tested memory allocators for runtime latency.
 
 This experiment was run with following configurations:
 
--threadN :  sets number of threads, K\\
--cSpots  :  sets number of spots for churn, M\\
--objN    :  sets number of objects per thread, N\\
--maxS    :  sets max object size\\
--minS    :  sets min object size\\
--stepS   :  sets object size increment\\
--distroS :  sets object size distribution
-
-%speed-1-malloc-null.eps
-\begin{figure}
-\centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-1-malloc-null}
-\caption{speed-1-malloc-null}
-\label{fig:speed-1-malloc-null}
-\end{figure}
-
-%speed-2-free-null.eps
-\begin{figure}
-\centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-2-free-null}
-\caption{speed-2-free-null}
-\label{fig:speed-2-free-null}
-\end{figure}
+-maxS    :  500
+
+-minS    :  50
+
+-stepS   :  50
+
+-distroS :  fisher
+
+-objN    :  1000000
+
+-threadN    : \{ 1, 2, 4, 8, 16 \} *
+
+* Each allocator was tested for its performance across different number of threads. Experiment was repeated for each allocator for 1, 2, 4, 8, and 16 threads by setting the configuration -threadN.
+
+Results for speed benchmark are shown in 12 figures, one figure for each chain of speed benchmark.
+X-axis shows number of threads. Each allocator's performance for each thread is shown in different colors.
+Y-axis shows the total time experiment took to finish. Less time an allocator takes to complete allocation, better it is so lower the better.
+
+\begin{itemize}
+\item Fig. \ref{fig:speed-3-malloc} shows results for chain: malloc
+\item Fig. \ref{fig:speed-4-realloc} shows results for chain: realloc
+\item Fig. \ref{fig:speed-5-free} shows results for chain: free
+\item Fig. \ref{fig:speed-6-calloc} shows results for chain: calloc
+\item Fig. \ref{fig:speed-7-malloc-free} shows results for chain: malloc-free
+\item Fig. \ref{fig:speed-8-realloc-free} shows results for chain: realloc-free
+\item Fig. \ref{fig:speed-9-calloc-free} shows results for chain: calloc-free
+\item Fig. \ref{fig:speed-10-malloc-realloc} shows results for chain: malloc-realloc
+\item Fig. \ref{fig:speed-11-calloc-realloc} shows results for chain: calloc-realloc
+\item Fig. \ref{fig:speed-12-malloc-realloc-free} shows results for chain: malloc-realloc-free
+\item Fig. \ref{fig:speed-13-calloc-realloc-free} shows results for chain: calloc-realloc-free
+\item Fig. \ref{fig:speed-14-malloc-calloc-realloc-free} shows results for chain: malloc-realloc-free-calloc
+\end{itemize}
 
 %speed-3-malloc.eps
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-3-malloc}
-\caption{speed-3-malloc}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-3-malloc} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-3-malloc} }
+\caption{Speed benchmark chain: malloc}
 \label{fig:speed-3-malloc}
 \end{figure}
@@ -227,6 +237,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-4-realloc}
-\caption{speed-4-realloc}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-4-realloc} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-4-realloc} }
+\caption{Speed benchmark chain: realloc}
 \label{fig:speed-4-realloc}
 \end{figure}
@@ -235,6 +246,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-5-free}
-\caption{speed-5-free}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-5-free} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-5-free} }
+\caption{Speed benchmark chain: free}
 \label{fig:speed-5-free}
 \end{figure}
@@ -243,6 +255,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-6-calloc}
-\caption{speed-6-calloc}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-6-calloc} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-6-calloc} }
+\caption{Speed benchmark chain: calloc}
 \label{fig:speed-6-calloc}
 \end{figure}
@@ -251,6 +264,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-7-malloc-free}
-\caption{speed-7-malloc-free}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-7-malloc-free} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-7-malloc-free} }
+\caption{Speed benchmark chain: malloc-free}
 \label{fig:speed-7-malloc-free}
 \end{figure}
@@ -259,6 +273,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-8-realloc-free}
-\caption{speed-8-realloc-free}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-8-realloc-free} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-8-realloc-free} }
+\caption{Speed benchmark chain: realloc-free}
 \label{fig:speed-8-realloc-free}
 \end{figure}
@@ -267,6 +282,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-9-calloc-free}
-\caption{speed-9-calloc-free}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-9-calloc-free} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-9-calloc-free} }
+\caption{Speed benchmark chain: calloc-free}
 \label{fig:speed-9-calloc-free}
 \end{figure}
@@ -275,6 +291,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-10-malloc-realloc}
-\caption{speed-10-malloc-realloc}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-10-malloc-realloc} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-10-malloc-realloc} }
+\caption{Speed benchmark chain: malloc-realloc}
 \label{fig:speed-10-malloc-realloc}
 \end{figure}
@@ -283,6 +300,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-11-calloc-realloc}
-\caption{speed-11-calloc-realloc}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-11-calloc-realloc} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-11-calloc-realloc} }
+\caption{Speed benchmark chain: calloc-realloc}
 \label{fig:speed-11-calloc-realloc}
 \end{figure}
@@ -291,6 +309,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-12-malloc-realloc-free}
-\caption{speed-12-malloc-realloc-free}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-12-malloc-realloc-free} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-12-malloc-realloc-free} }
+\caption{Speed benchmark chain: malloc-realloc-free}
 \label{fig:speed-12-malloc-realloc-free}
 \end{figure}
@@ -299,6 +318,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-13-calloc-realloc-free}
-\caption{speed-13-calloc-realloc-free}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-13-calloc-realloc-free} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-13-calloc-realloc-free} }
+\caption{Speed benchmark chain: calloc-realloc-free}
 \label{fig:speed-13-calloc-realloc-free}
 \end{figure}
@@ -307,7 +327,8 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-14-{m,c,re}alloc-free}
-\caption{speed-14-{m,c,re}alloc-free}
-\label{fig:speed-14-{m,c,re}alloc-free}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-14-m-c-re-alloc-free} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-14-m-c-re-alloc-free} }
+\caption{Speed benchmark chain: malloc-calloc-realloc-free}
+\label{fig:speed-14-malloc-calloc-realloc-free}
 \end{figure}
 
@@ -318,9 +339,104 @@
 \subsection{Memory Benchmark}
 
+Speed benchmark tested memory allocators for their memory footprint.
+
+This experiment was run with following two configurations for each allocator:\\
+
+Configuration 1:
+
+-threadA :  1
+
+-threadF :  1
+
+-maxS    :  500
+
+-minS    :  50
+
+-stepS   :  50
+
+-distroS :  fisher
+
+-objN    :  100000
+
+-consumeS:  100000\\
+
+Configuration 2:
+
+-threadA :  4
+
+-threadF :  4
+
+-maxS    :  500
+
+-minS    :  50
+
+-stepS   :  50
+
+-distroS :  fisher
+
+-objN    :  100000
+
+-consumeS:  100000
+
+Difference between the two configurations is the number of producers and consumers.
+Configuration 1 has one producer and one consumer.
+While configuration 2 has four producers where each producer has four consumers.
+
+\begin{table}[h!]
+\centering
+    \begin{tabular}{ |c||c|c| }
+     \hline
+    Memory Allocator & Configuration 1 Result & Configuration 2 Result\\
+     \hline
+    cfa & Fig. \ref{fig:mem-1-prod-1-cons-100-cfa} & Fig. \ref{fig:mem-4-prod-4-cons-100-cfa}\\
+     \hline
+    dl & Fig. \ref{fig:mem-1-prod-1-cons-100-dl} & Fig. \ref{fig:mem-4-prod-4-cons-100-dl}\\
+     \hline
+    glibc & Fig. \ref{fig:mem-1-prod-1-cons-100-glc} & Fig. \ref{fig:mem-4-prod-4-cons-100-glc}\\
+     \hline
+    hoard & Fig. \ref{fig:mem-1-prod-1-cons-100-hrd} & Fig. \ref{fig:mem-4-prod-4-cons-100-hrd}\\
+     \hline
+    je & Fig. \ref{fig:mem-1-prod-1-cons-100-je} & Fig. \ref{fig:mem-4-prod-4-cons-100-je}\\
+     \hline
+    pt3 & Fig. \ref{fig:mem-1-prod-1-cons-100-pt3} & Fig. \ref{fig:mem-4-prod-4-cons-100-pt3}\\
+     \hline
+    rp & Fig. \ref{fig:mem-1-prod-1-cons-100-rp} & Fig. \ref{fig:mem-4-prod-4-cons-100-rp}\\
+     \hline
+    tbb & Fig. \ref{fig:mem-1-prod-1-cons-100-tbb} & Fig. \ref{fig:mem-4-prod-4-cons-100-tbb}\\
+     \hline
+    \end{tabular}
+\caption{Memory benchmark results}
+\label{table:mem-benchmark-figs}
+\end{table}
+
+Results for memory benchmark are shown in 16 figures, two figures for each of the 8 allocators, one for each configuration.
+Table \ref{table:mem-benchmark-figs} shows the list of figures that contain memory benchmar results.
+
+Each figure has 2 graphs, one for each experiment environment.
+Each graph has following 5 subgraphs that show program's memory usage and statistics throughout the program lifetime.
+
+\begin{itemize}
+\item \textit{\textbf{current\_req\_mem(B)}} shows the amount of dynamic memory requested and currently in-use of the benchmark.
+\item \textit{\textbf{heap}}* shows the memory requested by the program (allocator) from the system that lies in the heap area.
+\item \textit{\textbf{mmap\_so}}* shows the memory requested by the program (allocator) from the system that lies in the mmap area.
+\item \textit{\textbf{mmap}}* shows the memory requested by the program (allocator or shared libraries) from the system that lies in the mmap area.
+\item \textit{\textbf{total\_dynamic}} shows the total usage of dynamic memory by the benchmark program which is a sum of heap, mmap, and mmap\_so.
+\end{itemize}
+
+* These statistics are gathered by monitoring the \textit{/proc/self/maps} file of the process in linux system.
+
+For each subgraph, x-axis shows the time during the program lifetime at which the datapoint was generated.
+Y-axis shows the memory usage in bytes.
+
+For the experiment, at a certain time in the prgram's life, the difference betweem the memory requested by the benchmark (\textit{current\_req\_mem(B)})
+and the memory that the process has recieved from system (\textit{heap}, \textit{mmap}) should be minimum.
+This difference is the memory overhead caused by the allocator and shows the level of fragmentation in the allocator.
+
 %mem-1-prod-1-cons-100-cfa.eps
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-cfa}
-\caption{mem-1-prod-1-cons-100-cfa}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-cfa} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-cfa} }
+\caption{Memory benchmaark results with 1 producer for cfa memory allocator}
 \label{fig:mem-1-prod-1-cons-100-cfa}
 \end{figure}
@@ -329,6 +445,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-dl}
-\caption{mem-1-prod-1-cons-100-dl}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-dl} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-dl} }
+\caption{Memory benchmaark results with 1 producer for dl memory allocator}
 \label{fig:mem-1-prod-1-cons-100-dl}
 \end{figure}
@@ -337,6 +454,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-glc}
-\caption{mem-1-prod-1-cons-100-glc}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-glc} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-glc} }
+\caption{Memory benchmaark results with 1 producer for glibc memory allocator}
 \label{fig:mem-1-prod-1-cons-100-glc}
 \end{figure}
@@ -345,6 +463,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-hrd}
-\caption{mem-1-prod-1-cons-100-hrd}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-hrd} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-hrd} }
+\caption{Memory benchmaark results with 1 producer for hoard memory allocator}
 \label{fig:mem-1-prod-1-cons-100-hrd}
 \end{figure}
@@ -353,6 +472,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-je}
-\caption{mem-1-prod-1-cons-100-je}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-je} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-je} }
+\caption{Memory benchmaark results with 1 producer for je memory allocator}
 \label{fig:mem-1-prod-1-cons-100-je}
 \end{figure}
@@ -361,6 +481,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-pt3}
-\caption{mem-1-prod-1-cons-100-pt3}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-pt3} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-pt3} }
+\caption{Memory benchmaark results with 1 producer for pt3 memory allocator}
 \label{fig:mem-1-prod-1-cons-100-pt3}
 \end{figure}
@@ -369,6 +490,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-rp}
-\caption{mem-1-prod-1-cons-100-rp}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-rp} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-rp} }
+\caption{Memory benchmaark results with 1 producer for rp memory allocator}
 \label{fig:mem-1-prod-1-cons-100-rp}
 \end{figure}
@@ -377,6 +499,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-tbb}
-\caption{mem-1-prod-1-cons-100-tbb}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-tbb} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-tbb} }
+\caption{Memory benchmaark results with 1 producer for tbb memory allocator}
 \label{fig:mem-1-prod-1-cons-100-tbb}
 \end{figure}
@@ -385,6 +508,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-cfa}
-\caption{mem-4-prod-4-cons-100-cfa}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-cfa} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-cfa} }
+\caption{Memory benchmaark results with 4 producers for cfa memory allocator}
 \label{fig:mem-4-prod-4-cons-100-cfa}
 \end{figure}
@@ -393,6 +517,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-dl}
-\caption{mem-4-prod-4-cons-100-dl}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-dl} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-dl} }
+\caption{Memory benchmaark results with 4 producers for dl memory allocator}
 \label{fig:mem-4-prod-4-cons-100-dl}
 \end{figure}
@@ -401,6 +526,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-glc}
-\caption{mem-4-prod-4-cons-100-glc}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-glc} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-glc} }
+\caption{Memory benchmaark results with 4 producers for glibc memory allocator}
 \label{fig:mem-4-prod-4-cons-100-glc}
 \end{figure}
@@ -409,6 +535,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-hrd}
-\caption{mem-4-prod-4-cons-100-hrd}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-hrd} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-hrd} }
+\caption{Memory benchmaark results with 4 producers for hoard memory allocator}
 \label{fig:mem-4-prod-4-cons-100-hrd}
 \end{figure}
@@ -417,6 +544,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-je}
-\caption{mem-4-prod-4-cons-100-je}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-je} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-je} }
+\caption{Memory benchmaark results with 4 producers for je memory allocator}
 \label{fig:mem-4-prod-4-cons-100-je}
 \end{figure}
@@ -425,6 +553,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-pt3}
-\caption{mem-4-prod-4-cons-100-pt3}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-pt3} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-pt3} }
+\caption{Memory benchmaark results with 4 producers for pt3 memory allocator}
 \label{fig:mem-4-prod-4-cons-100-pt3}
 \end{figure}
@@ -433,6 +562,7 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-rp}
-\caption{mem-4-prod-4-cons-100-rp}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-rp} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-rp} }
+\caption{Memory benchmaark results with 4 producers for rp memory allocator}
 \label{fig:mem-4-prod-4-cons-100-rp}
 \end{figure}
@@ -441,6 +571,11 @@
 \begin{figure}
 \centering
-\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-tbb}
-\caption{mem-4-prod-4-cons-100-tbb}
+    \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-tbb} }
+    \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-tbb} }
+\caption{Memory benchmaark results with 4 producers for tbb memory allocator}
 \label{fig:mem-4-prod-4-cons-100-tbb}
 \end{figure}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% ANALYSIS
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
