CppCon 2017: Ansel Sermersheim “Multithreading is the answer. What is the question? (part 2 of 2)”

preview_player
Показать описание


The main focus of this talk will be about the importance of lockless containers and RCU technology. The value of this approach will be explained and why it was added to libGuarded. I will also cover recent changes made to the RCU containers.

I will explain the importance of libGuarded and how it was used in the CsSignal library to prevent deadlocks.

Either basic familiarity with multithreading or attendance in Part I of this talk is suggested.

Ansel Sermersheim: CopperSpice, Co Founder

I have been working as a programmer for nearly twenty years. My degree is in Computer Science from Cal Poly San Luis Obispo. I have transitioned to independent consulting and I am currently working on a project for RealtyShares in San Francisco.

Co-founder of CopperSpice, a C++ GUI library.
Co-founder of DoxyPress, a C++ application for generating documentation.
Developer of the open source libraries: libGuarded, CsSignal and CsString.

I have programmed in C++, C, Lisp, Java, and Perl, with extensive knowledge in TCP/IP and mutilthreaded design. I am an avid follower of the C++ standard. Speaker at CppCon 2015, CppNow 2016, CppNow 2017, and several ACCU Bay Area meetings.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

The first part of this talk is outstanding. I think the second part falls a bit into the trap of "here is all there is in this one library" instead of motivating problems and developing generic solutions more gradually, as the first part so nicely did.

However this part of the talk is a very good example of what Sean Perant means by "no raw synchronization primitives".

ChristianBrugger
Автор

Good talk. I really liked the examples, but I got the sense that some of the examples he gave for why this was a better solution felt like workarounds to a set of badly designed components. Eg. saying the mutable lock + const method doesn't work in the general case where you have different objects being const at different times seems like a design flaw. The latter shouldn't really happen if you have well-designed compoenents each responsible for one thing.

hmpcon
Автор

I guess, at about 11:40 the return statement should use the "patronTicket", otherwise it looks like a typo.

tetramaximum
Автор

Great talk, great ideas... Big thanks!

Kodreanu
Автор

Great talk. Interesting theory, interesting implementation.

Who's the guy at 42:00 - I'd like to see his talk, if it's on video.

williamchamberlain
Автор

This reminds me of the way clojure handles mutation

greenfloatingtoad
Автор

I like question for const modifier on lookup and the answer isn't satisfiable for me. But in general this talk is good.

iyalovecky