Changeset 4994d67
 Timestamp:
 Apr 27, 2022, 2:35:28 PM (2 years ago)
 Branches:
 ADT, astexperimental, master, pthreademulation, qualifiedEnum
 Children:
 a6c10de
 Parents:
 8eeca77
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

doc/theses/mubeen_zulfiqar_MMath/performance.tex
r8eeca77 r4994d67 454 454 % consumeS: 100000 455 455 456 \begin{table}[b] 457 \centering 458 \begin{tabular}{ ccc } 459 \hline 460 Memory Allocator & Configuration 1 Result & Configuration 2 Result\\ 461 \hline 462 llh & \VRef[Figure]{fig:mem1prod1cons100cfa} & \VRef[Figure]{fig:mem4prod4cons100cfa}\\ 463 \hline 464 dl & \VRef[Figure]{fig:mem1prod1cons100dl} & \VRef[Figure]{fig:mem4prod4cons100dl}\\ 465 \hline 466 glibc & \VRef[Figure]{fig:mem1prod1cons100glc} & \VRef[Figure]{fig:mem4prod4cons100glc}\\ 467 \hline 468 hoard & \VRef[Figure]{fig:mem1prod1cons100hrd} & \VRef[Figure]{fig:mem4prod4cons100hrd}\\ 469 \hline 470 je & \VRef[Figure]{fig:mem1prod1cons100je} & \VRef[Figure]{fig:mem4prod4cons100je}\\ 471 \hline 472 pt3 & \VRef[Figure]{fig:mem1prod1cons100pt3} & \VRef[Figure]{fig:mem4prod4cons100pt3}\\ 473 \hline 474 rp & \VRef[Figure]{fig:mem1prod1cons100rp} & \VRef[Figure]{fig:mem4prod4cons100rp}\\ 475 \hline 476 tbb & \VRef[Figure]{fig:mem1prod1cons100tbb} & \VRef[Figure]{fig:mem4prod4cons100tbb}\\ 477 \hline 478 \end{tabular} 479 \caption{Memory benchmark results} 480 \label{table:membenchmarkfigs} 481 \end{table} 456 % \begin{table}[b] 457 % \centering 458 % \begin{tabular}{ ccc } 459 % \hline 460 % Memory Allocator & Configuration 1 Result & Configuration 2 Result\\ 461 % \hline 462 % llh & \VRef[Figure]{fig:mem1prod1cons100cfa} & \VRef[Figure]{fig:mem4prod4cons100cfa}\\ 463 % \hline 464 % dl & \VRef[Figure]{fig:mem1prod1cons100dl} & \VRef[Figure]{fig:mem4prod4cons100dl}\\ 465 % \hline 466 % glibc & \VRef[Figure]{fig:mem1prod1cons100glc} & \VRef[Figure]{fig:mem4prod4cons100glc}\\ 467 % \hline 468 % hoard & \VRef[Figure]{fig:mem1prod1cons100hrd} & \VRef[Figure]{fig:mem4prod4cons100hrd}\\ 469 % \hline 470 % je & \VRef[Figure]{fig:mem1prod1cons100je} & \VRef[Figure]{fig:mem4prod4cons100je}\\ 471 % \hline 472 % pt3 & \VRef[Figure]{fig:mem1prod1cons100pt3} & \VRef[Figure]{fig:mem4prod4cons100pt3}\\ 473 % \hline 474 % rp & \VRef[Figure]{fig:mem1prod1cons100rp} & \VRef[Figure]{fig:mem4prod4cons100rp}\\ 475 % \hline 476 % tbb & \VRef[Figure]{fig:mem1prod1cons100tbb} & \VRef[Figure]{fig:mem4prod4cons100tbb}\\ 477 % \hline 478 % \end{tabular} 479 % \caption{Memory benchmark results} 480 % \label{table:membenchmarkfigs} 481 % \end{table} 482 % Table \ref{table:membenchmarkfigs} shows the list of figures that contain memory benchmark results. 482 483 483 484 \VRefrange[Figures]{fig:mem1prod1cons100cfa}{fig:mem4prod4cons100tbb} show 16 figures, two figures for each of the 8 allocators, one for each configuration. 484 Table \ref{table:membenchmarkfigs} shows the list of figures that contain memory benchmark results.485 486 485 Each figure has 2 graphs, one for each experiment environment. 487 Each graph has following 5 subgraphs that show program's memory usage and statistics throughout the program lifetime. 488 486 Each graph has following 5 subgraphs that show memory usage and statistics throughout the microbenchmark's lifetime. 489 487 \begin{itemize} 490 488 \item \textit{\textbf{current\_req\_mem(B)}} shows the amount of dynamic memory requested and currently inuse of the benchmark. 491 \item \textit{\textbf{heap}}* shows the memory requested by the program (allocator) from the system that lies in the heap area.492 \item \textit{\textbf{mmap\_so}}* shows the memory requested by the program (allocator) from the system that lies in the mmaparea.493 \item \textit{\textbf{mmap}}* shows the memory requested by the program (allocator or shared libraries) from the system that lies in the mmaparea.494 \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.489 \item \textit{\textbf{heap}}* shows the memory requested by the program (allocator) from the system that lies in the heap (@sbrk@) area. 490 \item \textit{\textbf{mmap\_so}}* shows the memory requested by the program (allocator) from the system that lies in the @mmap@ area. 491 \item \textit{\textbf{mmap}}* shows the memory requested by the program (allocator or shared libraries) from the system that lies in the @mmap@ area. 492 \item \textit{\textbf{total\_dynamic}} shows the total usage of dynamic memory by the benchmark program, which is a sum of \textit{heap}, \textit{mmap}, and \textit{mmap\_so}. 495 493 \end{itemize} 496 497 * These statistics are gathered by monitoring the \textit{/proc/self/maps} file of the process in linux system. 498 499 For each subgraph, xaxis shows the time during the program lifetime at which the data point was generated. 500 Yaxis shows the memory usage in bytes. 501 502 For the experiment, at a certain time in the program's life, the difference between the memory requested by the benchmark (\textit{current\_req\_mem(B)}) 503 and the memory that the process has received from system (\textit{heap}, \textit{mmap}) should be minimum. 494 * These statistics are gathered by monitoring a process's @/proc/self/maps@ file. 495 496 The Xaxis shows the time when the memory information is polled. 497 The Yaxis shows the memory usage in bytes. 498 499 For the experiment, at a certain time in the program's life, the difference between the memory requested by the benchmark (\textit{current\_req\_mem(B)}) and the memory that the process has received from system (\textit{heap}, \textit{mmap}) should be minimum. 504 500 This difference is the memory overhead caused by the allocator and shows the level of fragmentation in the allocator. 501 502 First, the differences in the shape of the curves between architectures (top ARM, bottom x64) is small, where the differences are in the amount of memory used. 503 Hence, it is possible to focus on either the top or bottom graph. 504 The heap curve It is possible glib, hoard, jemalloc, ptmalloc3, rpmalloc do not use the sbrk area => only uses mmap. 505 506 hoard, tbbmalloc uses more total memory 507 508 ptmalloc3 gives memory back to operating system 505 509 506 510 %mem1prod1cons100cfa.eps … … 513 517 \end{figure} 514 518 519 %mem4prod4cons100cfa.eps 520 \begin{figure} 521 \centering 522 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100cfa} } 523 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100cfa} } 524 \caption{Memory benchmark results with 4 producers for llh memory allocator} 525 \label{fig:mem4prod4cons100cfa} 526 \end{figure} 527 515 528 %mem1prod1cons100dl.eps 516 529 \begin{figure} … … 522 535 \end{figure} 523 536 537 %mem4prod4cons100dl.eps 538 \begin{figure} 539 \centering 540 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100dl} } 541 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100dl} } 542 \caption{Memory benchmark results with 4 producers for dl memory allocator} 543 \label{fig:mem4prod4cons100dl} 544 \end{figure} 545 524 546 %mem1prod1cons100glc.eps 525 547 \begin{figure} … … 531 553 \end{figure} 532 554 555 %mem4prod4cons100glc.eps 556 \begin{figure} 557 \centering 558 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100glc} } 559 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100glc} } 560 \caption{Memory benchmark results with 4 producers for glibc memory allocator} 561 \label{fig:mem4prod4cons100glc} 562 \end{figure} 563 533 564 %mem1prod1cons100hrd.eps 534 565 \begin{figure} … … 540 571 \end{figure} 541 572 573 %mem4prod4cons100hrd.eps 574 \begin{figure} 575 \centering 576 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100hrd} } 577 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100hrd} } 578 \caption{Memory benchmark results with 4 producers for hoard memory allocator} 579 \label{fig:mem4prod4cons100hrd} 580 \end{figure} 581 542 582 %mem1prod1cons100je.eps 543 583 \begin{figure} … … 549 589 \end{figure} 550 590 591 %mem4prod4cons100je.eps 592 \begin{figure} 593 \centering 594 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100je} } 595 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100je} } 596 \caption{Memory benchmark results with 4 producers for je memory allocator} 597 \label{fig:mem4prod4cons100je} 598 \end{figure} 599 551 600 %mem1prod1cons100pt3.eps 552 601 \begin{figure} … … 558 607 \end{figure} 559 608 609 %mem4prod4cons100pt3.eps 610 \begin{figure} 611 \centering 612 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100pt3} } 613 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100pt3} } 614 \caption{Memory benchmark results with 4 producers for pt3 memory allocator} 615 \label{fig:mem4prod4cons100pt3} 616 \end{figure} 617 560 618 %mem1prod1cons100rp.eps 561 619 \begin{figure} … … 567 625 \end{figure} 568 626 627 %mem4prod4cons100rp.eps 628 \begin{figure} 629 \centering 630 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100rp} } 631 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100rp} } 632 \caption{Memory benchmark results with 4 producers for rp memory allocator} 633 \label{fig:mem4prod4cons100rp} 634 \end{figure} 635 569 636 %mem1prod1cons100tbb.eps 570 637 \begin{figure} … … 576 643 \end{figure} 577 644 578 %mem4prod4cons100cfa.eps579 \begin{figure}580 \centering581 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100cfa} }582 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100cfa} }583 \caption{Memory benchmark results with 4 producers for llh memory allocator}584 \label{fig:mem4prod4cons100cfa}585 \end{figure}586 587 %mem4prod4cons100dl.eps588 \begin{figure}589 \centering590 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100dl} }591 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100dl} }592 \caption{Memory benchmark results with 4 producers for dl memory allocator}593 \label{fig:mem4prod4cons100dl}594 \end{figure}595 596 %mem4prod4cons100glc.eps597 \begin{figure}598 \centering599 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100glc} }600 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100glc} }601 \caption{Memory benchmark results with 4 producers for glibc memory allocator}602 \label{fig:mem4prod4cons100glc}603 \end{figure}604 605 %mem4prod4cons100hrd.eps606 \begin{figure}607 \centering608 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100hrd} }609 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100hrd} }610 \caption{Memory benchmark results with 4 producers for hoard memory allocator}611 \label{fig:mem4prod4cons100hrd}612 \end{figure}613 614 %mem4prod4cons100je.eps615 \begin{figure}616 \centering617 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100je} }618 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100je} }619 \caption{Memory benchmark results with 4 producers for je memory allocator}620 \label{fig:mem4prod4cons100je}621 \end{figure}622 623 %mem4prod4cons100pt3.eps624 \begin{figure}625 \centering626 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100pt3} }627 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100pt3} }628 \caption{Memory benchmark results with 4 producers for pt3 memory allocator}629 \label{fig:mem4prod4cons100pt3}630 \end{figure}631 632 %mem4prod4cons100rp.eps633 \begin{figure}634 \centering635 \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algolperfeps/mem4prod4cons100rp} }636 \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasusperfeps/mem4prod4cons100rp} }637 \caption{Memory benchmark results with 4 producers for rp memory allocator}638 \label{fig:mem4prod4cons100rp}639 \end{figure}640 641 645 %mem4prod4cons100tbb.eps 642 646 \begin{figure}
Note: See TracChangeset
for help on using the changeset viewer.