Changeset 3c79ea9 for doc/theses/mubeen_zulfiqar_MMath
- Timestamp:
- Apr 21, 2022, 9:02:09 AM (3 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
- Children:
- 4c530a5
- Parents:
- 5b84a321
- Location:
- doc/theses/mubeen_zulfiqar_MMath
- Files:
-
- 2 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mubeen_zulfiqar_MMath/benchmarks.tex
r5b84a321 r3c79ea9 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 mem benchmark58 -threadF : sets number of free threads (consumers) for each producer 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 073 \item free NULL74 72 \item malloc 75 73 \item realloc … … 101 99 each chain. 102 100 103 Number of worker threads can be adjust using a command-line argument -threadN. 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\\ 104 108 105 109 \section{Churn Benchmark} Churn benchmark measures the overall runtime speed of an allocator in a multi-threaded -
doc/theses/mubeen_zulfiqar_MMath/performance.tex
r5b84a321 r3c79ea9 188 188 \subsection{Speed Benchmark} 189 189 190 Speed benchmark tested memory allocators for program induced allocator preserved passive false sharing.190 Speed benchmark tested memory allocators for runtime latency. 191 191 192 192 This experiment was run with following configurations: 193 193 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} 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} 217 226 218 227 %speed-3-malloc.eps 219 228 \begin{figure} 220 229 \centering 221 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-3-malloc} 222 \caption{speed-3-malloc} 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} 223 233 \label{fig:speed-3-malloc} 224 234 \end{figure} … … 227 237 \begin{figure} 228 238 \centering 229 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-4-realloc} 230 \caption{speed-4-realloc} 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} 231 242 \label{fig:speed-4-realloc} 232 243 \end{figure} … … 235 246 \begin{figure} 236 247 \centering 237 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-5-free} 238 \caption{speed-5-free} 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} 239 251 \label{fig:speed-5-free} 240 252 \end{figure} … … 243 255 \begin{figure} 244 256 \centering 245 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-6-calloc} 246 \caption{speed-6-calloc} 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} 247 260 \label{fig:speed-6-calloc} 248 261 \end{figure} … … 251 264 \begin{figure} 252 265 \centering 253 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-7-malloc-free} 254 \caption{speed-7-malloc-free} 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} 255 269 \label{fig:speed-7-malloc-free} 256 270 \end{figure} … … 259 273 \begin{figure} 260 274 \centering 261 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-8-realloc-free} 262 \caption{speed-8-realloc-free} 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} 263 278 \label{fig:speed-8-realloc-free} 264 279 \end{figure} … … 267 282 \begin{figure} 268 283 \centering 269 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-9-calloc-free} 270 \caption{speed-9-calloc-free} 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} 271 287 \label{fig:speed-9-calloc-free} 272 288 \end{figure} … … 275 291 \begin{figure} 276 292 \centering 277 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-10-malloc-realloc} 278 \caption{speed-10-malloc-realloc} 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} 279 296 \label{fig:speed-10-malloc-realloc} 280 297 \end{figure} … … 283 300 \begin{figure} 284 301 \centering 285 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-11-calloc-realloc} 286 \caption{speed-11-calloc-realloc} 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} 287 305 \label{fig:speed-11-calloc-realloc} 288 306 \end{figure} … … 291 309 \begin{figure} 292 310 \centering 293 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-12-malloc-realloc-free} 294 \caption{speed-12-malloc-realloc-free} 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} 295 314 \label{fig:speed-12-malloc-realloc-free} 296 315 \end{figure} … … 299 318 \begin{figure} 300 319 \centering 301 \includegraphics[width=1\textwidth]{evaluations/nasus-perf-eps/speed-13-calloc-realloc-free} 302 \caption{speed-13-calloc-realloc-free} 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} 303 323 \label{fig:speed-13-calloc-realloc-free} 304 324 \end{figure} … … 307 327 \begin{figure} 308 328 \centering 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} 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} 312 333 \end{figure} 313 334 … … 318 339 \subsection{Memory Benchmark} 319 340 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 320 435 %mem-1-prod-1-cons-100-cfa.eps 321 436 \begin{figure} 322 437 \centering 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} 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} 325 441 \label{fig:mem-1-prod-1-cons-100-cfa} 326 442 \end{figure} … … 329 445 \begin{figure} 330 446 \centering 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} 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} 333 450 \label{fig:mem-1-prod-1-cons-100-dl} 334 451 \end{figure} … … 337 454 \begin{figure} 338 455 \centering 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} 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} 341 459 \label{fig:mem-1-prod-1-cons-100-glc} 342 460 \end{figure} … … 345 463 \begin{figure} 346 464 \centering 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} 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} 349 468 \label{fig:mem-1-prod-1-cons-100-hrd} 350 469 \end{figure} … … 353 472 \begin{figure} 354 473 \centering 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} 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} 357 477 \label{fig:mem-1-prod-1-cons-100-je} 358 478 \end{figure} … … 361 481 \begin{figure} 362 482 \centering 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} 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} 365 486 \label{fig:mem-1-prod-1-cons-100-pt3} 366 487 \end{figure} … … 369 490 \begin{figure} 370 491 \centering 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} 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} 373 495 \label{fig:mem-1-prod-1-cons-100-rp} 374 496 \end{figure} … … 377 499 \begin{figure} 378 500 \centering 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} 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} 381 504 \label{fig:mem-1-prod-1-cons-100-tbb} 382 505 \end{figure} … … 385 508 \begin{figure} 386 509 \centering 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} 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} 389 513 \label{fig:mem-4-prod-4-cons-100-cfa} 390 514 \end{figure} … … 393 517 \begin{figure} 394 518 \centering 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} 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} 397 522 \label{fig:mem-4-prod-4-cons-100-dl} 398 523 \end{figure} … … 401 526 \begin{figure} 402 527 \centering 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} 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} 405 531 \label{fig:mem-4-prod-4-cons-100-glc} 406 532 \end{figure} … … 409 535 \begin{figure} 410 536 \centering 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} 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} 413 540 \label{fig:mem-4-prod-4-cons-100-hrd} 414 541 \end{figure} … … 417 544 \begin{figure} 418 545 \centering 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} 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} 421 549 \label{fig:mem-4-prod-4-cons-100-je} 422 550 \end{figure} … … 425 553 \begin{figure} 426 554 \centering 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} 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} 429 558 \label{fig:mem-4-prod-4-cons-100-pt3} 430 559 \end{figure} … … 433 562 \begin{figure} 434 563 \centering 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} 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} 437 567 \label{fig:mem-4-prod-4-cons-100-rp} 438 568 \end{figure} … … 441 571 \begin{figure} 442 572 \centering 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} 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} 445 576 \label{fig:mem-4-prod-4-cons-100-tbb} 446 577 \end{figure} 578 579 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 580 %% ANALYSIS 581 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracChangeset
for help on using the changeset viewer.