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

    rd8075d28 r29d8c02  
    1717% ====================
    1818
    19 The goal of this thesis was to build a low-latency memory allocator for both KT and UT multi-threads systems, which is competitive with the best current memory allocators, while extending the feature set of existing and new allocator routines.
     19The goal of this thesis was to build a low-latency (or high bandwidth) memory allocator for both KT and UT multi-threading systems that is competitive with the best current memory allocators while extending the feature set of existing and new allocator routines.
    2020The new llheap memory-allocator achieves all of these goals, while maintaining and managing sticky allocation information without a performance loss.
    2121Hence, it becomes possible to use @realloc@ frequently as a safe operation, rather than just occasionally.
    2222Furthermore, the ability to query sticky properties and information allows programmers to write safer programs, as it is possible to dynamically match allocation styles from unknown library routines that return allocations.
    2323
    24 Extending the C allocation API with @resize@, advanced @realloc@, @aalloc@, @amemalign@, and @cmemalign@ means programmers do not make mistakes writing theses useful allocation operations.
     24Extending the C allocation API with @resize@, advanced @realloc@, @aalloc@, @amemalign@, and @cmemalign@ means programmers do not have to do these useful allocation operations themselves.
    2525The ability to use \CFA's advanced type-system (and possibly \CC's too) to have one allocation routine with completely orthogonal sticky properties shows how far the allocation API can be pushed, which increases safety and greatly simplifies programmer's use of dynamic allocation.
    2626
    2727Providing comprehensive statistics for all allocation operations is invaluable in understanding and debugging a program's dynamic behaviour.
    28 No other memory allocator provides comprehensive statistics gathering.
     28No other memory allocator provides such comprehensive statistics gathering.
    2929This capability was used extensively during the development of llheap to verify its behaviour.
    3030As well, providing a debugging mode where allocations are checked, along with internal pre/post conditions and invariants, is extremely useful, especially for students.
    31 While not as powerful as the @valgrind@ interpreter, a large number of allocations mistakes are detected.
     31While not as powerful as the @valgrind@ interpreter, a large number of allocation mistakes are detected.
    3232Finally, contention-free statistics gathering and debugging have a low enough cost to be used in production code.
    3333
     
    3636
    3737Starting a micro-benchmark test-suite for comparing allocators, rather than relying on a suite of arbitrary programs, has been an interesting challenge.
    38 The current micro-benchmarks allow some understand of allocator implementation properties without actually looking at the implementation.
     38The current micro-benchmarks allow some understanding of allocator implementation properties without actually looking at the implementation.
    3939For example, the memory micro-benchmark quickly identified how several of the allocators work at the global level.
    4040It was not possible to show how the micro-benchmarks adjustment knobs were used to tune to an interesting test point.
     
    4545
    4646A careful walk-though of the allocator fastpath should yield additional optimizations for a slight performance gain.
    47 In particular, looking at the implementation of rpmalloc, which is often the fastest allocator,
     47In particular, analysing the implementation of rpmalloc, which is often the fastest allocator,
    4848
    49 The micro-benchmarks project requires more testing and analysis.
    50 Additional allocations patterns are needed to extract meaningful information about allocators, and within allocation patterns, what are the best tuning knobs.
     49The micro-benchmark project requires more testing and analysis.
     50Additional allocation patterns are needed to extract meaningful information about allocators, and within allocation patterns, what are the most useful tuning knobs.
    5151Also, identifying ways to visualize the results of the micro-benchmarks is a work in progress.
    5252
    53 After llheap is made available on gitHub, interacting with its users to locate problems and improvements, will make llbench a more robust memory allocator.
    54 As well, feedback from the \uC and \CFA projects, which have adopted llheap for their memory allocator, will provide additional feedback.
     53After llheap is made available on GitHub, interacting with its users to locate problems and improvements will make llbench a more robust memory allocator.
     54As well, feedback from the \uC and \CFA projects, which have adopted llheap for their memory allocator, will provide additional information.
Note: See TracChangeset for help on using the changeset viewer.