Changeset 4994d67


Ignore:
Timestamp:
Apr 27, 2022, 2:35:28 PM (17 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
Children:
a6c10de
Parents:
8eeca77
Message:

small changes to performance chapter

File:
1 edited

Legend:

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

    r8eeca77 r4994d67  
    454454% -consumeS:  100000
    455455
    456 \begin{table}[b]
    457 \centering
    458     \begin{tabular}{ |c|c|c| }
    459      \hline
    460     Memory Allocator & Configuration 1 Result & Configuration 2 Result\\
    461      \hline
    462     llh & \VRef[Figure]{fig:mem-1-prod-1-cons-100-cfa} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-cfa}\\
    463      \hline
    464     dl & \VRef[Figure]{fig:mem-1-prod-1-cons-100-dl} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-dl}\\
    465      \hline
    466     glibc & \VRef[Figure]{fig:mem-1-prod-1-cons-100-glc} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-glc}\\
    467      \hline
    468     hoard & \VRef[Figure]{fig:mem-1-prod-1-cons-100-hrd} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-hrd}\\
    469      \hline
    470     je & \VRef[Figure]{fig:mem-1-prod-1-cons-100-je} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-je}\\
    471      \hline
    472     pt3 & \VRef[Figure]{fig:mem-1-prod-1-cons-100-pt3} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-pt3}\\
    473      \hline
    474     rp & \VRef[Figure]{fig:mem-1-prod-1-cons-100-rp} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-rp}\\
    475      \hline
    476     tbb & \VRef[Figure]{fig:mem-1-prod-1-cons-100-tbb} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-tbb}\\
    477      \hline
    478     \end{tabular}
    479 \caption{Memory benchmark results}
    480 \label{table:mem-benchmark-figs}
    481 \end{table}
     456% \begin{table}[b]
     457% \centering
     458%     \begin{tabular}{ |c|c|c| }
     459%      \hline
     460%     Memory Allocator & Configuration 1 Result & Configuration 2 Result\\
     461%      \hline
     462%     llh & \VRef[Figure]{fig:mem-1-prod-1-cons-100-cfa} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-cfa}\\
     463%      \hline
     464%     dl & \VRef[Figure]{fig:mem-1-prod-1-cons-100-dl} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-dl}\\
     465%      \hline
     466%     glibc & \VRef[Figure]{fig:mem-1-prod-1-cons-100-glc} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-glc}\\
     467%      \hline
     468%     hoard & \VRef[Figure]{fig:mem-1-prod-1-cons-100-hrd} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-hrd}\\
     469%      \hline
     470%     je & \VRef[Figure]{fig:mem-1-prod-1-cons-100-je} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-je}\\
     471%      \hline
     472%     pt3 & \VRef[Figure]{fig:mem-1-prod-1-cons-100-pt3} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-pt3}\\
     473%      \hline
     474%     rp & \VRef[Figure]{fig:mem-1-prod-1-cons-100-rp} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-rp}\\
     475%      \hline
     476%     tbb & \VRef[Figure]{fig:mem-1-prod-1-cons-100-tbb} & \VRef[Figure]{fig:mem-4-prod-4-cons-100-tbb}\\
     477%      \hline
     478%     \end{tabular}
     479% \caption{Memory benchmark results}
     480% \label{table:mem-benchmark-figs}
     481% \end{table}
     482% Table \ref{table:mem-benchmark-figs} shows the list of figures that contain memory benchmark results.
    482483
    483484\VRefrange[Figures]{fig:mem-1-prod-1-cons-100-cfa}{fig:mem-4-prod-4-cons-100-tbb} show 16 figures, two figures for each of the 8 allocators, one for each configuration.
    484 Table \ref{table:mem-benchmark-figs} shows the list of figures that contain memory benchmark results.
    485 
    486485Each 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 
     486Each graph has following 5 subgraphs that show memory usage and statistics throughout the micro-benchmark's lifetime.
    489487\begin{itemize}
    490488\item \textit{\textbf{current\_req\_mem(B)}} shows the amount of dynamic memory requested and currently in-use 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 mmap area.
    493 \item \textit{\textbf{mmap}}* shows the memory requested by the program (allocator or shared libraries) from the system that lies in the mmap area.
    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}.
    495493\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, x-axis shows the time during the program lifetime at which the data point was generated.
    500 Y-axis 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
     496The X-axis shows the time when the memory information is polled.
     497The Y-axis shows the memory usage in bytes.
     498
     499For 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.
    504500This difference is the memory overhead caused by the allocator and shows the level of fragmentation in the allocator.
     501
     502First, 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.
     503Hence, it is possible to focus on either the top or bottom graph.
     504The heap curve It is possible glib, hoard, jemalloc, ptmalloc3, rpmalloc do not use the sbrk area => only uses mmap.
     505
     506hoard, tbbmalloc uses more total memory
     507
     508ptmalloc3 gives memory back to operating system
    505509
    506510%mem-1-prod-1-cons-100-cfa.eps
     
    513517\end{figure}
    514518
     519%mem-4-prod-4-cons-100-cfa.eps
     520\begin{figure}
     521\centering
     522    \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-cfa} }
     523    \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-cfa} }
     524\caption{Memory benchmark results with 4 producers for llh memory allocator}
     525\label{fig:mem-4-prod-4-cons-100-cfa}
     526\end{figure}
     527
    515528%mem-1-prod-1-cons-100-dl.eps
    516529\begin{figure}
     
    522535\end{figure}
    523536
     537%mem-4-prod-4-cons-100-dl.eps
     538\begin{figure}
     539\centering
     540    \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-dl} }
     541    \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-dl} }
     542\caption{Memory benchmark results with 4 producers for dl memory allocator}
     543\label{fig:mem-4-prod-4-cons-100-dl}
     544\end{figure}
     545
    524546%mem-1-prod-1-cons-100-glc.eps
    525547\begin{figure}
     
    531553\end{figure}
    532554
     555%mem-4-prod-4-cons-100-glc.eps
     556\begin{figure}
     557\centering
     558    \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-glc} }
     559    \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-glc} }
     560\caption{Memory benchmark results with 4 producers for glibc memory allocator}
     561\label{fig:mem-4-prod-4-cons-100-glc}
     562\end{figure}
     563
    533564%mem-1-prod-1-cons-100-hrd.eps
    534565\begin{figure}
     
    540571\end{figure}
    541572
     573%mem-4-prod-4-cons-100-hrd.eps
     574\begin{figure}
     575\centering
     576    \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-hrd} }
     577    \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-hrd} }
     578\caption{Memory benchmark results with 4 producers for hoard memory allocator}
     579\label{fig:mem-4-prod-4-cons-100-hrd}
     580\end{figure}
     581
    542582%mem-1-prod-1-cons-100-je.eps
    543583\begin{figure}
     
    549589\end{figure}
    550590
     591%mem-4-prod-4-cons-100-je.eps
     592\begin{figure}
     593\centering
     594    \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-je} }
     595    \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-je} }
     596\caption{Memory benchmark results with 4 producers for je memory allocator}
     597\label{fig:mem-4-prod-4-cons-100-je}
     598\end{figure}
     599
    551600%mem-1-prod-1-cons-100-pt3.eps
    552601\begin{figure}
     
    558607\end{figure}
    559608
     609%mem-4-prod-4-cons-100-pt3.eps
     610\begin{figure}
     611\centering
     612    \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-pt3} }
     613    \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-pt3} }
     614\caption{Memory benchmark results with 4 producers for pt3 memory allocator}
     615\label{fig:mem-4-prod-4-cons-100-pt3}
     616\end{figure}
     617
    560618%mem-1-prod-1-cons-100-rp.eps
    561619\begin{figure}
     
    567625\end{figure}
    568626
     627%mem-4-prod-4-cons-100-rp.eps
     628\begin{figure}
     629\centering
     630    \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-rp} }
     631    \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-rp} }
     632\caption{Memory benchmark results with 4 producers for rp memory allocator}
     633\label{fig:mem-4-prod-4-cons-100-rp}
     634\end{figure}
     635
    569636%mem-1-prod-1-cons-100-tbb.eps
    570637\begin{figure}
     
    576643\end{figure}
    577644
    578 %mem-4-prod-4-cons-100-cfa.eps
    579 \begin{figure}
    580 \centering
    581     \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-cfa} }
    582     \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-cfa} }
    583 \caption{Memory benchmark results with 4 producers for llh memory allocator}
    584 \label{fig:mem-4-prod-4-cons-100-cfa}
    585 \end{figure}
    586 
    587 %mem-4-prod-4-cons-100-dl.eps
    588 \begin{figure}
    589 \centering
    590     \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-dl} }
    591     \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-dl} }
    592 \caption{Memory benchmark results with 4 producers for dl memory allocator}
    593 \label{fig:mem-4-prod-4-cons-100-dl}
    594 \end{figure}
    595 
    596 %mem-4-prod-4-cons-100-glc.eps
    597 \begin{figure}
    598 \centering
    599     \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-glc} }
    600     \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-glc} }
    601 \caption{Memory benchmark results with 4 producers for glibc memory allocator}
    602 \label{fig:mem-4-prod-4-cons-100-glc}
    603 \end{figure}
    604 
    605 %mem-4-prod-4-cons-100-hrd.eps
    606 \begin{figure}
    607 \centering
    608     \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-hrd} }
    609     \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-hrd} }
    610 \caption{Memory benchmark results with 4 producers for hoard memory allocator}
    611 \label{fig:mem-4-prod-4-cons-100-hrd}
    612 \end{figure}
    613 
    614 %mem-4-prod-4-cons-100-je.eps
    615 \begin{figure}
    616 \centering
    617     \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-je} }
    618     \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-je} }
    619 \caption{Memory benchmark results with 4 producers for je memory allocator}
    620 \label{fig:mem-4-prod-4-cons-100-je}
    621 \end{figure}
    622 
    623 %mem-4-prod-4-cons-100-pt3.eps
    624 \begin{figure}
    625 \centering
    626     \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-pt3} }
    627     \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-pt3} }
    628 \caption{Memory benchmark results with 4 producers for pt3 memory allocator}
    629 \label{fig:mem-4-prod-4-cons-100-pt3}
    630 \end{figure}
    631 
    632 %mem-4-prod-4-cons-100-rp.eps
    633 \begin{figure}
    634 \centering
    635     \subfigure[Algol]{ \includegraphics[width=0.95\textwidth]{evaluations/algol-perf-eps/mem-4-prod-4-cons-100-rp} }
    636     \subfigure[Nasus]{ \includegraphics[width=0.95\textwidth]{evaluations/nasus-perf-eps/mem-4-prod-4-cons-100-rp} }
    637 \caption{Memory benchmark results with 4 producers for rp memory allocator}
    638 \label{fig:mem-4-prod-4-cons-100-rp}
    639 \end{figure}
    640 
    641645%mem-4-prod-4-cons-100-tbb.eps
    642646\begin{figure}
Note: See TracChangeset for help on using the changeset viewer.