Ignore:
Timestamp:
May 20, 2022, 10:36:32 AM (2 years ago)
Author:
m3zulfiq <m3zulfiq@…>
Branches:
ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
Children:
74ec742
Parents:
d8075d28
Message:

made corrections in thesis as per feedback from the readers

File:
1 edited

Legend:

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

    rd8075d28 r29d8c02  
    33
    44This chapter uses the micro-benchmarks from \VRef[Chapter]{s:Benchmarks} to test a number of current memory allocators, including llheap.
    5 The goal is to see if llheap is competitive with the current best memory allocators.
     5The goal is to see if llheap is competitive with the currently popular memory allocators.
    66
    77
     
    1111\begin{itemize}
    1212\item
     13\textbf{Algol} Huawei ARM TaiShan 2280 V2 Kunpeng 920, 24-core socket $\times$ 4, 2.6 GHz, GCC version 9.4.0
     14\item
    1315\textbf{Nasus} AMD EPYC 7662, 64-core socket $\times$ 2, 2.0 GHz, GCC version 9.3.0
    14 \item
    15 \textbf{Algol} Huawei ARM TaiShan 2280 V2 Kunpeng 920, 24-core socket $\times$ 4, 2.6 GHz, GCC version 9.4.0
    1616\end{itemize}
    1717
     
    3131
    3232\paragraph{glibc (\textsf{glc})}
    33 \cite{glibc} is the default gcc thread-safe allocator.
     33\cite{glibc} is the default glibc thread-safe allocator.
    3434\\
    3535\textbf{Version:} Ubuntu GLIBC 2.31-0ubuntu9.7 2.31\\
     
    4646
    4747\paragraph{hoard (\textsf{hrd})}
    48 \cite{hoard} is a thread-safe allocator that is multi-threaded and using a heap layer framework. It has per-thread heaps that have thread-local free-lists, and a global shared heap.
     48\cite{hoard} is a thread-safe allocator that is multi-threaded and uses a heap layer framework. It has per-thread heaps that have thread-local free-lists, and a global shared heap.
    4949\\
    5050\textbf{Version:} 3.13\\
     
    7878
    7979\paragraph{tbb malloc (\textsf{tbb})}
    80 \cite{tbbmalloc} is a thread-safe allocator that is multi-threaded and uses private heap for each thread.
     80\cite{tbbmalloc} is a thread-safe allocator that is multi-threaded and uses a private heap for each thread.
    8181Each private-heap has multiple bins of different sizes. Each bin contains free regions of the same size.
    8282\\
     
    9090\section{Experiments}
    9191
    92 The each micro-benchmark is configured and run with each of the allocators,
    93 The less time an allocator takes to complete a benchmark the better, so lower in the graphs is better.
     92Each micro-benchmark is configured and run with each of the allocators,
     93\PAB{The less time an allocator takes to complete a benchmark the better so lower in the graphs is better, except for the Memory micro-benchmark graphs.}
    9494All graphs use log scale on the Y-axis, except for the Memory micro-benchmark (see \VRef{s:MemoryMicroBenchmark}).
    9595
     
    231231Second is the low-performer group, which includes the rest of the memory allocators.
    232232These memory allocators have significant program-induced passive false-sharing, where \textsf{hrd}'s is the worst performing allocator.
    233 All of the allocator's in this group are sharing heaps among threads at some level.
    234 
    235 Interestingly, allocators such as \textsf{hrd} and \textsf{glc} performed well in micro-benchmark cache thrash (see \VRef{sec:cache-thrash-perf}).
    236 But, these allocators are among the low performers in the cache scratch.
    237 It suggests these allocators do not actively produce false-sharing but preserve program-induced passive false sharing.
     233All of the allocators in this group are sharing heaps among threads at some level.
     234
     235Interestingly, allocators such as \textsf{hrd} and \textsf{glc} performed well in micro-benchmark cache thrash (see \VRef{sec:cache-thrash-perf}), but, these allocators are among the low performers in the cache scratch.
     236It suggests these allocators do not actively produce false-sharing, but preserve program-induced passive false sharing.
    238237
    239238%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracChangeset for help on using the changeset viewer.