Fedor Pikus

Practical lock-free concurrency (in C++): Part 2

Date: This event took place live on June 07 2016

Presented by: Fedor Pikus

Duration: Approximately 90 minutes.

Questions? Please send email to


Fedor Pikus covers the main differences between lock-free and lock-based programming and the reasons to write lock-free programs (as well as the reasons not to). Fedor explores writing a lock-free data structure, considering what it would take to write a generic, lock-free queue and examining some of the inherent limitations imposed by the nature of the concurrent problem, as well as the practical limitations that most application programmers can accept. (Is there really such a thing as a concurrent queue? Yes, sort of. What about a lock-free queue?) Fedor demonstrates how to take advantage of these limitations, outlining practical examples of (mostly) lock-free data structures, with actual implementations and performance measurements. Even if the specific limitations and simplifying assumptions used in this talk do not apply to your problem, you’ll leave knowing how to find such assumptions and take advantage of them; chances are you can use lock-free techniques to write code that works for you and is much simpler than what you learned before.

You can view Part 1 here: Practical lock-free concurrency (in C++) Part 1

About Fedor G. Pikus

Fedor G. Pikus is a chief engineering scientist in the Design-to-Silicon division of Mentor Graphics, where his responsibilities include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, the design and architecture of the software, and research in new design and software technologies. Previously, Fedor was a senior software engineer at Google and the chief software architect for Calibre PERC, LVS, and DFM at Mentor Graphics. He joined Mentor Graphics in 1998, transitioning from academic research in computational physics to the software industry.