Changes in / [4c530a5:f6e6a55]
- Location:
- doc/theses/mubeen_zulfiqar_MMath
- Files:
-
- 2 added
- 2 deleted
- 2 edited
-
benchmarks.tex (modified) (3 diffs)
-
evaluations/algol-perf-eps/speed-14-m-c-re-alloc-free.eps (deleted)
-
evaluations/algol-perf-eps/speed-14-{m,c,re}alloc-free.eps (added)
-
evaluations/nasus-perf-eps/speed-14-m-c-re-alloc-free.eps (deleted)
-
evaluations/nasus-perf-eps/speed-14-{m,c,re}alloc-free.eps (added)
-
performance.tex (modified) (28 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mubeen_zulfiqar_MMath/benchmarks.tex
r4c530a5 rf6e6a55 56 56 -threadA : sets number of alloc threads (producers) for mem benchmark\\ 57 57 -consumeS: sets production and conumption round size\\ 58 -threadF : sets number of free threads (consumers) for each producer formem benchmark58 -threadF : sets number of free threads (consumers) for mem benchmark 59 59 60 60 Object allocation size can be changed using the knobs:\\ … … 70 70 It uses following chains and measures allocator runtime speed against them: 71 71 \begin{itemize} 72 \item malloc 0 73 \item free NULL 72 74 \item malloc 73 75 \item realloc … … 99 101 each chain. 100 102 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\\ 103 Number of worker threads can be adjust using a command-line argument -threadN. 108 104 109 105 \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 188 188 \subsection{Speed Benchmark} 189 189 190 Speed benchmark tested memory allocators for runtime latency.190 Speed benchmark tested memory allocators for program induced allocator preserved passive false sharing. 191 191 192 192 This experiment was run with following configurations: 193 193 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} 226 217 227 218 %speed-3-malloc.eps 228 219 \begin{figure} 229 220 \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} 233 223 \label{fig:speed-3-malloc} 234 224 \end{figure} … … 237 227 \begin{figure} 238 228 \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} 242 231 \label{fig:speed-4-realloc} 243 232 \end{figure} … … 246 235 \begin{figure} 247 236 \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} 251 239 \label{fig:speed-5-free} 252 240 \end{figure} … … 255 243 \begin{figure} 256 244 \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} 260 247 \label{fig:speed-6-calloc} 261 248 \end{figure} … … 264 251 \begin{figure} 265 252 \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} 269 255 \label{fig:speed-7-malloc-free} 270 256 \end{figure} … … 273 259 \begin{figure} 274 260 \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} 278 263 \label{fig:speed-8-realloc-free} 279 264 \end{figure} … … 282 267 \begin{figure} 283 268 \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} 287 271 \label{fig:speed-9-calloc-free} 288 272 \end{figure} … … 291 275 \begin{figure} 292 276 \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} 296 279 \label{fig:speed-10-malloc-realloc} 297 280 \end{figure} … … 300 283 \begin{figure} 301 284 \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} 305 287 \label{fig:speed-11-calloc-realloc} 306 288 \end{figure} … … 309 291 \begin{figure} 310 292 \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} 314 295 \label{fig:speed-12-malloc-realloc-free} 315 296 \end{figure} … … 318 299 \begin{figure} 319 300 \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} 323 303 \label{fig:speed-13-calloc-realloc-free} 324 304 \end{figure} … … 327 307 \begin{figure} 328 308 \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} 333 312 \end{figure} 334 313 … … 339 318 \subsection{Memory Benchmark} 340 319 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 : 1348 349 -threadF : 1350 351 -maxS : 500352 353 -minS : 50354 355 -stepS : 50356 357 -distroS : fisher358 359 -objN : 100000360 361 -consumeS: 100000\\362 363 Configuration 2:364 365 -threadA : 4366 367 -threadF : 4368 369 -maxS : 500370 371 -minS : 50372 373 -stepS : 50374 375 -distroS : fisher376 377 -objN : 100000378 379 -consumeS: 100000380 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 \centering387 \begin{tabular}{ |c||c|c| }388 \hline389 Memory Allocator & Configuration 1 Result & Configuration 2 Result\\390 \hline391 cfa & Fig. \ref{fig:mem-1-prod-1-cons-100-cfa} & Fig. \ref{fig:mem-4-prod-4-cons-100-cfa}\\392 \hline393 dl & Fig. \ref{fig:mem-1-prod-1-cons-100-dl} & Fig. \ref{fig:mem-4-prod-4-cons-100-dl}\\394 \hline395 glibc & Fig. \ref{fig:mem-1-prod-1-cons-100-glc} & Fig. \ref{fig:mem-4-prod-4-cons-100-glc}\\396 \hline397 hoard & Fig. \ref{fig:mem-1-prod-1-cons-100-hrd} & Fig. \ref{fig:mem-4-prod-4-cons-100-hrd}\\398 \hline399 je & Fig. \ref{fig:mem-1-prod-1-cons-100-je} & Fig. \ref{fig:mem-4-prod-4-cons-100-je}\\400 \hline401 pt3 & Fig. \ref{fig:mem-1-prod-1-cons-100-pt3} & Fig. \ref{fig:mem-4-prod-4-cons-100-pt3}\\402 \hline403 rp & Fig. \ref{fig:mem-1-prod-1-cons-100-rp} & Fig. \ref{fig:mem-4-prod-4-cons-100-rp}\\404 \hline405 tbb & Fig. \ref{fig:mem-1-prod-1-cons-100-tbb} & Fig. \ref{fig:mem-4-prod-4-cons-100-tbb}\\406 \hline407 \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 435 320 %mem-1-prod-1-cons-100-cfa.eps 436 321 \begin{figure} 437 322 \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} 441 325 \label{fig:mem-1-prod-1-cons-100-cfa} 442 326 \end{figure} … … 445 329 \begin{figure} 446 330 \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} 450 333 \label{fig:mem-1-prod-1-cons-100-dl} 451 334 \end{figure} … … 454 337 \begin{figure} 455 338 \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} 459 341 \label{fig:mem-1-prod-1-cons-100-glc} 460 342 \end{figure} … … 463 345 \begin{figure} 464 346 \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} 468 349 \label{fig:mem-1-prod-1-cons-100-hrd} 469 350 \end{figure} … … 472 353 \begin{figure} 473 354 \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} 477 357 \label{fig:mem-1-prod-1-cons-100-je} 478 358 \end{figure} … … 481 361 \begin{figure} 482 362 \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} 486 365 \label{fig:mem-1-prod-1-cons-100-pt3} 487 366 \end{figure} … … 490 369 \begin{figure} 491 370 \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} 495 373 \label{fig:mem-1-prod-1-cons-100-rp} 496 374 \end{figure} … … 499 377 \begin{figure} 500 378 \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} 504 381 \label{fig:mem-1-prod-1-cons-100-tbb} 505 382 \end{figure} … … 508 385 \begin{figure} 509 386 \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} 513 389 \label{fig:mem-4-prod-4-cons-100-cfa} 514 390 \end{figure} … … 517 393 \begin{figure} 518 394 \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} 522 397 \label{fig:mem-4-prod-4-cons-100-dl} 523 398 \end{figure} … … 526 401 \begin{figure} 527 402 \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} 531 405 \label{fig:mem-4-prod-4-cons-100-glc} 532 406 \end{figure} … … 535 409 \begin{figure} 536 410 \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} 540 413 \label{fig:mem-4-prod-4-cons-100-hrd} 541 414 \end{figure} … … 544 417 \begin{figure} 545 418 \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} 549 421 \label{fig:mem-4-prod-4-cons-100-je} 550 422 \end{figure} … … 553 425 \begin{figure} 554 426 \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} 558 429 \label{fig:mem-4-prod-4-cons-100-pt3} 559 430 \end{figure} … … 562 433 \begin{figure} 563 434 \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} 567 437 \label{fig:mem-4-prod-4-cons-100-rp} 568 438 \end{figure} … … 571 441 \begin{figure} 572 442 \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} 576 445 \label{fig:mem-4-prod-4-cons-100-tbb} 577 446 \end{figure} 578 579 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%580 %% ANALYSIS581 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note:
See TracChangeset
for help on using the changeset viewer.