CppCon 2017: John Lakos “Local ('Arena') Memory Allocators (part 2 of 2)”

CppCon.org
-
Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2017
-
Are allocators worth the trouble? What situations merit their use? How are they applied effectually? What’s the performance impact? This practical talk by large scale C++ expert Dr. John Lakos demonstrates that having allocators in your tool box may lead to orders of magnitude speed improvements.
The runtime implications of the physical location of allocated memory is often overlooked, even in the most performance critical code. In this talk, we will examine how the performance of systems can degrade when using `new`/`delete` and `std::allocator` . We will contrast these global allocators, which allocate memory globally for a system, with local allocators that each allocate memory for a proper subset of objects in the system. We will also demonstrate how local allocators can reduce or entirely prevent the degradation seen in systems that rely on the global allocator. Six dimensions - fragmentability, allocation density, variation, locality, utilization, and contention - will be introduced to depict the potential for performance penalties and aid the listener in determining which local allocator will offer the best performance in their subsystems. Evidence will be presented that identifying these dimensions, and selecting a local allocator based upon them, can lead to order-of-magnitude reductions in run time compared to systems using a global allocator.
-
John Lakos: Bloomberg, Software Engineering Manager
John Lakos, author of Large-Scale C++ Software Design, serves at Bloomberg LP in New York City as a senior architect and mentor for C++ Software Development world-wide. He is also an active voting member of the C++ Standards Committee’s Evolution Working Group. Previously, Dr. Lakos directed the design and development of infrastructure libraries for proprietary analytic financial applications at Bear Stearns. For 12 years prior, Dr. Lakos developed large frameworks and advanced ICCAD applications at Mentor Graphics, for which he holds multiple software patents. His academic credentials include a Ph.D. in Computer Science ('97) and an Sc.D. in Electrical Engineering ('89) from Columbia University. Dr. Lakos received his undergraduate degrees from MIT in Mathematics ('82) and Computer Science ('81). His next book, entitled Large-Scale C++-Volume I: Process and Architecture, is anticipated in 2017.
-
Videos Filmed & Edited by Bash Films: www.BashFilms.com
*-----*
Register Now For CppCon 2022: cppcon.org/registration/
*-----*

Пікірлер: 9

  • @fugu777
    @fugu777Ай бұрын

    Really impressive. Hard work on experimental part as well. Pure practical education

  • @theNISK
    @theNISK4 жыл бұрын

    2^18 bytes is 262.1 kB (kilobytes), so this is the 1st time the subsystem size exceeds the 256kB L2 cache size of the Xeon E5-2620.

  • @sicko815
    @sicko8154 ай бұрын

    I'm going to be rewarching this talk multiple times and trying the tests out myself. So amazing and succinct. Loved the cadence and the flow of the speaker. The content was presented so beautiful. Man would love to do a deep dive analyse of all these concepts from part 1 and part 2.

  • @manuvaad
    @manuvaad Жыл бұрын

    Pure gem.

  • @schulmastery
    @schulmastery5 жыл бұрын

    This guy needs a monotonic clicker.

  • @IllumTheMessage
    @IllumTheMessage6 жыл бұрын

    Interesting stuff. Need to try a few of these approaches.

  • @mrlithium69
    @mrlithium696 жыл бұрын

    wow.

  • @TheDuckofDoom.
    @TheDuckofDoom.6 жыл бұрын

    Good info, very useful. As for the presentation; not bad but not good, speech is clear with decent inflections and rhythm, material is well organized, however way too much time spent on excessive repetition of trivial bits at the expense of much more important coverage, followed by frantic skipping and rushing over the last sections to beat the clock.

  • @hmpcon

    @hmpcon

    6 жыл бұрын

    Every Lakos talk EVER!