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/intro.tex

    rd8075d28 r29d8c02  
    5353When this allocator proves inadequate, programmers often write specialize allocators for specific needs.
    5454C and \CC allow easy replacement of the default memory allocator with an alternative specialized or general-purpose memory-allocator.
    55 (Jikes RVM MMTk~\cite{MMTk} provides a similar generalization for the Java virtual machine.)
     55Jikes RVM MMTk~\cite{MMTk} provides a similar generalization for the Java virtual machine.
    5656However, high-performance memory-allocators for kernel and user multi-threaded programs are still being designed and improved.
    5757For this reason, several alternative general-purpose allocators have been written for C/\CC with the goal of scaling in a multi-threaded program~\cite{Berger00,mtmalloc,streamflow,tcmalloc}.
     
    6565\begin{enumerate}[leftmargin=*]
    6666\item
    67 Implementation of a new stand-lone concurrent low-latency memory-allocator ($\approx$1,200 lines of code) for C/\CC programs using kernel threads (1:1 threading), and specialized versions of the allocator for the programming languages \uC and \CFA using user-level threads running over multiple kernel threads (M:N threading).
    68 
    69 \item
    70 Adopt @nullptr@ return for a zero-sized allocation, rather than an actual memory address, which can be passed to @free@.
     67Implementation of a new stand-alone concurrent low-latency memory-allocator ($\approx$1,200 lines of code) for C/\CC programs using kernel threads (1:1 threading), and specialized versions of the allocator for the programming languages \uC and \CFA using user-level threads running over multiple kernel threads (M:N threading).
    7168
    7269\item
     
    104101
    105102\item
    106 Provide additional heap wrapper functions in \CFA creating an orthogonal set of allocation operations and properties.
     103Provide additional heap wrapper functions in \CFA creating a more usable set of allocation operations and properties.
    107104
    108105\item
     
    111108\item
    112109@malloc_alignment( addr )@ returns the alignment of the allocation pointed-to by @addr@.
    113 If the allocation is not aligned or @addr@ is the @nulladdr@, the minimal alignment is returned.
     110If the allocation is not aligned or @addr@ is the @NULL@, the minimal alignment is returned.
    114111\item
    115112@malloc_zero_fill( addr )@ returns a boolean result indicating if the memory pointed-to by @addr@ is allocated with zero fill, e.g., by @calloc@/@cmemalign@.
     
    119116@malloc_usable_size( addr )@ returns the usable (total) size of the memory pointed-to by @addr@, i.e., the bin size containing the allocation, where @malloc_size( addr )@ $\le$ @malloc_usable_size( addr )@.
    120117\end{itemize}
    121 
    122 \item
    123 Provide mostly contention-free allocation and free operations via a heap-per-kernel-thread implementation.
    124118
    125119\item
     
    136130
    137131\item
    138 Provide extensive runtime checks to valid allocation operations and identify the amount of unfreed storage at program termination.
     132Provide extensive runtime checks to validate allocation operations and identify the amount of unfreed storage at program termination.
    139133
    140134\item
Note: See TracChangeset for help on using the changeset viewer.