http://CppCon.org
—
Discussion & Comments: https://www.reddit.com/r/cpp/
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2019
—
The most efficient concurrent C++ data structures used in the wild today usually achieve break-neck performance by either constraining their workload or constraining correctness to a particular memory model. The audience will learn about the Wild West of abusing memory models for performance and simplification, through real world examples. Non-blocking data structures and their benefits often come at the cost of increased latency because they require additional complexity in the common case. There are plenty of exceptions to this if the requirements of the data structure are relaxed, such as supporting only a bounded level of write or read concurrency or if correctness is constrained to a particular memory model. For this reason, well-designed specialized non-blocking data structures guarantee improved resiliency, throughput and latency in all cases compared to alternatives relying on traditional concurrency primitives. Specialized concurrent structures are common place in the Linux kernel and other performance critical systems.
You will learn about foundational concepts to understanding your underlying hardware's memory model and abusing memory models for fun and profit:
* Cache coherency
* Store Buffers
* Pipelines and speculative execution
This talk provides real-world examples that exploit the x86-TSO model to their advantage:
* A general technique to turn literally, any, open-addressed hash table into a concurrent hash table with low to negligible (near 0) cost. The transformation makes your hash table wait-free for writers and mostly wait-free for readers (lock-free in hypothetical worse cases) and is practical for languages such as C++. The mechanism is superior to the previously popular Azure lock-free hash table and even more importantly, practical for any non-garbage-collected environment. The overhead is negligible on TSO and low on non-TSO.
* Blazingly fast event counters. An extremely efficient replacement for condition variables is introduced and faster than any other alternative. This is implemented without requiring any heavy-weight atomic operations on the fast path by exploiting properties of the x86-TSO model.
* Scalable memory management: Exploit the ordering and visibility constraints of the underlying architecture for blazingly fast implementations of RCU and other safe memory reclamation schemes.
* and more.
—
Samy Al Bahra
Backtrace
CTO
Greater New York City Area
Samy Al Bahra is the cofounder of Backtrace, where he is helping build a modern debugging platform for today’s complex applications. Prior to Backtrace, Samy was a principal engineer at AppNexus, where he played a lead role in the architecture and development of many mission-critical components of the ecosystem. His work at AppNexus was instrumental in scaling the system to 18 billion impressions with orders of magnitude in efficiency improvements. Prior to AppNexus, Samy was behind major performance improvements to the core technology at Message Systems. At the George Washington University High Performance Computing Laboratory, Samy worked on the UPC programming language, heterogeneous computing, and multicore synchronization. Samy is also the founder of the Concurrency Kit project, which is part of the FreeBSD kernel and several leading technology companies rely on for scalability and performance. Samy serves on the ACM Queue Editorial Board
Paul Khuong
Not Google
Vice President
New York, NY
After toiling on his dissertation about mathematical optimisation methods for large-scale network design, Paul Khuong has spent the majority of his professional and hobbyist life reverse engineering and modernising C, C++, and Common Lisp legacy systems. When not engaged in code archaeology, Paul enjoys overfitting classic data structures and algorithms to contemporary computers, which lead to his work on linear Robin Hood hashing, on searching in sorted arrays and permutations thereof, and on abusing timesharing for even more asymmetric synchronisation.
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
c thomas howell CppCon 2019: Samy Al Bahra, Paul Khuong “Abusing Your Memory Model for Fun and Profit” | |
| 53 Likes | 53 Dislikes |
| 2,136 views views | 63.8K followers |
| Education | Upload TimePublished on 1 Oct 2019 |
Related keywords
c train schedule,c diff,c corporation,c town,c train service,video services uiuc,video services unlimited,c section scar,c to k,video services inc,video services contract,c battery,video services of america,c span,video services on switch,video services list,c street,c suite,video services group,video services of va,video services near me,video services like netflix,c chord guitar,video services boise,c train status,video services conroe tx,video services forum,c section,video services other than youtube,video services group inc,c train,video services like youtube,c to f,c stock,c reactive protein,video services before youtube,video services pricing,video services contract template,c elegans,
Không có nhận xét nào:
Đăng nhận xét