Changes in / [4c530a5:f6e6a55]


Ignore:
Location:
doc/theses/mubeen_zulfiqar_MMath
Files:
2 added
2 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/mubeen_zulfiqar_MMath/benchmarks.tex

    r4c530a5 rf6e6a55  
    5656-threadA :  sets number of alloc threads (producers) for mem benchmark\\
    5757-consumeS:  sets production and conumption round size\\
    58 -threadF :  sets number of free threads (consumers) for each producer for mem benchmark
     58-threadF :  sets number of free threads (consumers) for mem benchmark
    5959
    6060Object allocation size can be changed using the knobs:\\
     
    7070 It uses following chains and measures allocator runtime speed against them:
    7171\begin{itemize}
     72\item malloc 0
     73\item free NULL
    7274\item malloc
    7375\item realloc
     
    99101each chain.
    100102
    101 Following knobs can be adjusted to tune memory usage.\\
    102 -maxS    :  sets max object size\\
    103 -minS    :  sets min object size\\
    104 -stepS   :  sets object size increment\\
    105 -distroS :  sets object size distribution\\
    106 -objN    :  sets number of objects per thread\\
    107 -threadN :  sets number of worker threads\\
     103Number of worker threads can be adjust using a command-line argument -threadN.
    108104
    109105\section{Churn Benchmark} Churn benchmark measures the overall runtime speed of an allocator in a multi-threaded
  • doc/theses/mubeen_zulfiqar_MMath/performance.tex

    r4c530a5 rf6e6a55  
    188188\subsection{Speed Benchmark}
    189189
    190 Speed benchmark tested memory allocators for runtime latency.
     190Speed benchmark tested memory allocators for program induced allocator preserved passive false sharing.
    191191
    192192This experiment was run with following configurations:
    193193
    194 -maxS    :  500
    195 
    196 -minS    :  50
    197 
    198 -stepS   :  50
    199 
    200 -distroS :  fisher
    201 
    202 -objN    :  1000000
    203 
    204 -threadN    : \{ 1, 2, 4, 8, 16 \} *
    205 
    206 * 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.
    207 
    208 Results for speed benchmark are shown in 12 figures, one figure for each chain of speed benchmark.
    209 X-axis shows number of threads. Each allocator's performance for each thread is shown in different colors.
    210 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.
    211 
    212 \begin{itemize}
    213 \item Fig. \ref{fig:speed-3-malloc} shows results for chain: malloc
    214 \item Fig. \ref{fig:speed-4-realloc} shows results for chain: realloc
    215 \item Fig. \ref{fig:speed-5-free} shows results for chain: free
    216 \item Fig. \ref{fig:speed-6-calloc} shows results for chain: calloc
    217 \item Fig. \ref{fig:speed-7-malloc-free} shows results for chain: malloc-free
    218 \item Fig. \ref{fig:speed-8-realloc-free} shows results for chain: realloc-free
    219 \item Fig. \ref{fig:speed-9-calloc-free} shows results for chain: calloc-free
    220 \item Fig. \ref{fig:speed-10-malloc-realloc} shows results for chain: malloc-realloc
    221 \item Fig. \ref{fig:speed-11-calloc-realloc} shows results for chain: calloc-realloc
    222 \item Fig. \ref{fig:speed-12-malloc-realloc-free} shows results for chain: malloc-realloc-free
    223 \item Fig. \ref{fig:speed-13-calloc-realloc-free} shows results for chain: calloc-realloc-free
    224 \item Fig. \ref{fig:speed-14-malloc-calloc-realloc-free} shows results for chain: malloc-realloc-free-calloc
    225 \end{itemize}
     194-threadN :  sets number of threads, K\\
     195-cSpots  :  sets number of spots for churn, M\\
     196-objN    :  sets number of objects per thread, N\\
     197-maxS    :  sets max object size\\
     198-minS    :  sets min object size\\
     199-stepS   :  sets object size increment\\
     200-distroS :  sets object size distribution
     201
     202%speed-1-malloc-null.eps
     203\begin{figure}
     204\centering
     205\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-1-malloc-null}
     206\caption{speed-1-malloc-null}
     207\label{fig:speed-1-malloc-null}
     208\end{figure}
     209
     210%speed-2-free-null.eps
     211\begin{figure}
     212\centering
     213\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-2-free-null}
     214\caption{speed-2-free-null}
     215\label{fig:speed-2-free-null}
     216\end{figure}
    226217
    227218%speed-3-malloc.eps
    228219\begin{figure}
    229220\centering
    230     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-3-malloc} }
    231     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-3-malloc} }
    232 \caption{Speed benchmark chain: malloc}
     221\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-3-malloc}
     222\caption{speed-3-malloc}
    233223\label{fig:speed-3-malloc}
    234224\end{figure}
     
    237227\begin{figure}
    238228\centering
    239     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-4-realloc} }
    240     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-4-realloc} }
    241 \caption{Speed benchmark chain: realloc}
     229\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-4-realloc}
     230\caption{speed-4-realloc}
    242231\label{fig:speed-4-realloc}
    243232\end{figure}
     
    246235\begin{figure}
    247236\centering
    248     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-5-free} }
    249     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-5-free} }
    250 \caption{Speed benchmark chain: free}
     237\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-5-free}
     238\caption{speed-5-free}
    251239\label{fig:speed-5-free}
    252240\end{figure}
     
    255243\begin{figure}
    256244\centering
    257     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-6-calloc} }
    258     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-6-calloc} }
    259 \caption{Speed benchmark chain: calloc}
     245\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-6-calloc}
     246\caption{speed-6-calloc}
    260247\label{fig:speed-6-calloc}
    261248\end{figure}
     
    264251\begin{figure}
    265252\centering
    266     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-7-malloc-free} }
    267     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-7-malloc-free} }
    268 \caption{Speed benchmark chain: malloc-free}
     253\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-7-malloc-free}
     254\caption{speed-7-malloc-free}
    269255\label{fig:speed-7-malloc-free}
    270256\end{figure}
     
    273259\begin{figure}
    274260\centering
    275     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-8-realloc-free} }
    276     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-8-realloc-free} }
    277 \caption{Speed benchmark chain: realloc-free}
     261\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-8-realloc-free}
     262\caption{speed-8-realloc-free}
    278263\label{fig:speed-8-realloc-free}
    279264\end{figure}
     
    282267\begin{figure}
    283268\centering
    284     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-9-calloc-free} }
    285     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-9-calloc-free} }
    286 \caption{Speed benchmark chain: calloc-free}
     269\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-9-calloc-free}
     270\caption{speed-9-calloc-free}
    287271\label{fig:speed-9-calloc-free}
    288272\end{figure}
     
    291275\begin{figure}
    292276\centering
    293     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-10-malloc-realloc} }
    294     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-10-malloc-realloc} }
    295 \caption{Speed benchmark chain: malloc-realloc}
     277\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-10-malloc-realloc}
     278\caption{speed-10-malloc-realloc}
    296279\label{fig:speed-10-malloc-realloc}
    297280\end{figure}
     
    300283\begin{figure}
    301284\centering
    302     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-11-calloc-realloc} }
    303     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-11-calloc-realloc} }
    304 \caption{Speed benchmark chain: calloc-realloc}
     285\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-11-calloc-realloc}
     286\caption{speed-11-calloc-realloc}
    305287\label{fig:speed-11-calloc-realloc}
    306288\end{figure}
     
    309291\begin{figure}
    310292\centering
    311     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-12-malloc-realloc-free} }
    312     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-12-malloc-realloc-free} }
    313 \caption{Speed benchmark chain: malloc-realloc-free}
     293\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-12-malloc-realloc-free}
     294\caption{speed-12-malloc-realloc-free}
    314295\label{fig:speed-12-malloc-realloc-free}
    315296\end{figure}
     
    318299\begin{figure}
    319300\centering
    320     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-13-calloc-realloc-free} }
    321     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-13-calloc-realloc-free} }
    322 \caption{Speed benchmark chain: calloc-realloc-free}
     301\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-13-calloc-realloc-free}
     302\caption{speed-13-calloc-realloc-free}
    323303\label{fig:speed-13-calloc-realloc-free}
    324304\end{figure}
     
    327307\begin{figure}
    328308\centering
    329     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/speed-14-m-c-re-alloc-free} }
    330     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/speed-14-m-c-re-alloc-free} }
    331 \caption{Speed benchmark chain: malloc-calloc-realloc-free}
    332 \label{fig:speed-14-malloc-calloc-realloc-free}
     309\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-14-{m,c,re}alloc-free}
     310\caption{speed-14-{m,c,re}alloc-free}
     311\label{fig:speed-14-{m,c,re}alloc-free}
    333312\end{figure}
    334313
     
    339318\subsection{Memory Benchmark}
    340319
    341 Speed benchmark tested memory allocators for their memory footprint.
    342 
    343 This experiment was run with following two configurations for each allocator:\\
    344 
    345 Configuration 1:
    346 
    347 -threadA :  1
    348 
    349 -threadF :  1
    350 
    351 -maxS    :  500
    352 
    353 -minS    :  50
    354 
    355 -stepS   :  50
    356 
    357 -distroS :  fisher
    358 
    359 -objN    :  100000
    360 
    361 -consumeS:  100000\\
    362 
    363 Configuration 2:
    364 
    365 -threadA :  4
    366 
    367 -threadF :  4
    368 
    369 -maxS    :  500
    370 
    371 -minS    :  50
    372 
    373 -stepS   :  50
    374 
    375 -distroS :  fisher
    376 
    377 -objN    :  100000
    378 
    379 -consumeS:  100000
    380 
    381 Difference between the two configurations is the number of producers and consumers.
    382 Configuration 1 has one producer and one consumer.
    383 While configuration 2 has four producers where each producer has four consumers.
    384 
    385 \begin{table}[h!]
    386 \centering
    387     \begin{tabular}{ |c||c|c| }
    388      \hline
    389     Memory Allocator & Configuration 1 Result & Configuration 2 Result\\
    390      \hline
    391     cfa & Fig. \ref{fig:mem-1-prod-1-cons-100-cfa} & Fig. \ref{fig:mem-4-prod-4-cons-100-cfa}\\
    392      \hline
    393     dl & Fig. \ref{fig:mem-1-prod-1-cons-100-dl} & Fig. \ref{fig:mem-4-prod-4-cons-100-dl}\\
    394      \hline
    395     glibc & Fig. \ref{fig:mem-1-prod-1-cons-100-glc} & Fig. \ref{fig:mem-4-prod-4-cons-100-glc}\\
    396      \hline
    397     hoard & Fig. \ref{fig:mem-1-prod-1-cons-100-hrd} & Fig. \ref{fig:mem-4-prod-4-cons-100-hrd}\\
    398      \hline
    399     je & Fig. \ref{fig:mem-1-prod-1-cons-100-je} & Fig. \ref{fig:mem-4-prod-4-cons-100-je}\\
    400      \hline
    401     pt3 & Fig. \ref{fig:mem-1-prod-1-cons-100-pt3} & Fig. \ref{fig:mem-4-prod-4-cons-100-pt3}\\
    402      \hline
    403     rp & Fig. \ref{fig:mem-1-prod-1-cons-100-rp} & Fig. \ref{fig:mem-4-prod-4-cons-100-rp}\\
    404      \hline
    405     tbb & Fig. \ref{fig:mem-1-prod-1-cons-100-tbb} & Fig. \ref{fig:mem-4-prod-4-cons-100-tbb}\\
    406      \hline
    407     \end{tabular}
    408 \caption{Memory benchmark results}
    409 \label{table:mem-benchmark-figs}
    410 \end{table}
    411 
    412 Results for memory benchmark are shown in 16 figures, two figures for each of the 8 allocators, one for each configuration.
    413 Table \ref{table:mem-benchmark-figs} shows the list of figures that contain memory benchmar results.
    414 
    415 Each figure has 2 graphs, one for each experiment environment.
    416 Each graph has following 5 subgraphs that show program's memory usage and statistics throughout the program lifetime.
    417 
    418 \begin{itemize}
    419 \item \textit{\textbf{current\_req\_mem(B)}} shows the amount of dynamic memory requested and currently in-use of the benchmark.
    420 \item \textit{\textbf{heap}}* shows the memory requested by the program (allocator) from the system that lies in the heap area.
    421 \item \textit{\textbf{mmap\_so}}* shows the memory requested by the program (allocator) from the system that lies in the mmap area.
    422 \item \textit{\textbf{mmap}}* shows the memory requested by the program (allocator or shared libraries) from the system that lies in the mmap area.
    423 \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.
    424 \end{itemize}
    425 
    426 * These statistics are gathered by monitoring the \textit{/proc/self/maps} file of the process in linux system.
    427 
    428 For each subgraph, x-axis shows the time during the program lifetime at which the datapoint was generated.
    429 Y-axis shows the memory usage in bytes.
    430 
    431 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)})
    432 and the memory that the process has recieved from system (\textit{heap}, \textit{mmap}) should be minimum.
    433 This difference is the memory overhead caused by the allocator and shows the level of fragmentation in the allocator.
    434 
    435320%mem-1-prod-1-cons-100-cfa.eps
    436321\begin{figure}
    437322\centering
    438     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-cfa} }
    439     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-cfa} }
    440 \caption{Memory benchmaark results with 1 producer for cfa memory allocator}
     323\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-cfa}
     324\caption{mem-1-prod-1-cons-100-cfa}
    441325\label{fig:mem-1-prod-1-cons-100-cfa}
    442326\end{figure}
     
    445329\begin{figure}
    446330\centering
    447     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-dl} }
    448     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-dl} }
    449 \caption{Memory benchmaark results with 1 producer for dl memory allocator}
     331\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-dl}
     332\caption{mem-1-prod-1-cons-100-dl}
    450333\label{fig:mem-1-prod-1-cons-100-dl}
    451334\end{figure}
     
    454337\begin{figure}
    455338\centering
    456     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-glc} }
    457     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-glc} }
    458 \caption{Memory benchmaark results with 1 producer for glibc memory allocator}
     339\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-glc}
     340\caption{mem-1-prod-1-cons-100-glc}
    459341\label{fig:mem-1-prod-1-cons-100-glc}
    460342\end{figure}
     
    463345\begin{figure}
    464346\centering
    465     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-hrd} }
    466     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-hrd} }
    467 \caption{Memory benchmaark results with 1 producer for hoard memory allocator}
     347\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-hrd}
     348\caption{mem-1-prod-1-cons-100-hrd}
    468349\label{fig:mem-1-prod-1-cons-100-hrd}
    469350\end{figure}
     
    472353\begin{figure}
    473354\centering
    474     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-je} }
    475     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-je} }
    476 \caption{Memory benchmaark results with 1 producer for je memory allocator}
     355\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-je}
     356\caption{mem-1-prod-1-cons-100-je}
    477357\label{fig:mem-1-prod-1-cons-100-je}
    478358\end{figure}
     
    481361\begin{figure}
    482362\centering
    483     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-pt3} }
    484     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-pt3} }
    485 \caption{Memory benchmaark results with 1 producer for pt3 memory allocator}
     363\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-pt3}
     364\caption{mem-1-prod-1-cons-100-pt3}
    486365\label{fig:mem-1-prod-1-cons-100-pt3}
    487366\end{figure}
     
    490369\begin{figure}
    491370\centering
    492     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-rp} }
    493     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-rp} }
    494 \caption{Memory benchmaark results with 1 producer for rp memory allocator}
     371\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-rp}
     372\caption{mem-1-prod-1-cons-100-rp}
    495373\label{fig:mem-1-prod-1-cons-100-rp}
    496374\end{figure}
     
    499377\begin{figure}
    500378\centering
    501     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-1-prod-1-cons-100-tbb} }
    502     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-tbb} }
    503 \caption{Memory benchmaark results with 1 producer for tbb memory allocator}
     379\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-1-prod-1-cons-100-tbb}
     380\caption{mem-1-prod-1-cons-100-tbb}
    504381\label{fig:mem-1-prod-1-cons-100-tbb}
    505382\end{figure}
     
    508385\begin{figure}
    509386\centering
    510     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-cfa} }
    511     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-cfa} }
    512 \caption{Memory benchmaark results with 4 producers for cfa memory allocator}
     387\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-cfa}
     388\caption{mem-4-prod-4-cons-100-cfa}
    513389\label{fig:mem-4-prod-4-cons-100-cfa}
    514390\end{figure}
     
    517393\begin{figure}
    518394\centering
    519     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-dl} }
    520     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-dl} }
    521 \caption{Memory benchmaark results with 4 producers for dl memory allocator}
     395\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-dl}
     396\caption{mem-4-prod-4-cons-100-dl}
    522397\label{fig:mem-4-prod-4-cons-100-dl}
    523398\end{figure}
     
    526401\begin{figure}
    527402\centering
    528     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-glc} }
    529     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-glc} }
    530 \caption{Memory benchmaark results with 4 producers for glibc memory allocator}
     403\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-glc}
     404\caption{mem-4-prod-4-cons-100-glc}
    531405\label{fig:mem-4-prod-4-cons-100-glc}
    532406\end{figure}
     
    535409\begin{figure}
    536410\centering
    537     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-hrd} }
    538     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-hrd} }
    539 \caption{Memory benchmaark results with 4 producers for hoard memory allocator}
     411\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-hrd}
     412\caption{mem-4-prod-4-cons-100-hrd}
    540413\label{fig:mem-4-prod-4-cons-100-hrd}
    541414\end{figure}
     
    544417\begin{figure}
    545418\centering
    546     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-je} }
    547     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-je} }
    548 \caption{Memory benchmaark results with 4 producers for je memory allocator}
     419\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-je}
     420\caption{mem-4-prod-4-cons-100-je}
    549421\label{fig:mem-4-prod-4-cons-100-je}
    550422\end{figure}
     
    553425\begin{figure}
    554426\centering
    555     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-pt3} }
    556     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-pt3} }
    557 \caption{Memory benchmaark results with 4 producers for pt3 memory allocator}
     427\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-pt3}
     428\caption{mem-4-prod-4-cons-100-pt3}
    558429\label{fig:mem-4-prod-4-cons-100-pt3}
    559430\end{figure}
     
    562433\begin{figure}
    563434\centering
    564     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-rp} }
    565     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-rp} }
    566 \caption{Memory benchmaark results with 4 producers for rp memory allocator}
     435\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-rp}
     436\caption{mem-4-prod-4-cons-100-rp}
    567437\label{fig:mem-4-prod-4-cons-100-rp}
    568438\end{figure}
     
    571441\begin{figure}
    572442\centering
    573     \subfigure[Algol]{ \includegraphics[width=0.9\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-tbb} }
    574     \subfigure[Nasus]{ \includegraphics[width=0.9\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-tbb} }
    575 \caption{Memory benchmaark results with 4 producers for tbb memory allocator}
     443\includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-tbb}
     444\caption{mem-4-prod-4-cons-100-tbb}
    576445\label{fig:mem-4-prod-4-cons-100-tbb}
    577446\end{figure}
    578 
    579 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    580 %% ANALYSIS
    581 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracChangeset for help on using the changeset viewer.