Non-Blocking and Lock-Free Systems

, Engineering Team Lead at AppNexus

This talk introduces the attendee to non-blocking algorithm design and implementation. With multi-core processors being a commodity item, the ability to design and implement composable, scalable and resilient concurrent systems is becoming an increasingly (in)valuable skill. Lock-free synchronization allows concurrent systems to exude composibility, scalability, and resilience in ways impossible (in theory and in practice) via traditional lock-based synchronization methods. As lock-free algorithms receive a fair share of inappropriate hype, attendees will leave this course possessing the ability to determine when, where, and how to best utilize lock-free data structures and algorithms in real-world systems. The talk concludes with a plethora of valuable resources for the attendee to learn more about this exciting topic.

Prerequisites
Many of the concepts explored in this talk are language-agnostic, however, the examples used will be in the C programming language (C99/GNU99). In order to maximize the value of this class, I would recommend an intermediate to advanced level of familiarity with the C or C++ programming language. It is strongly recommend that you be familiar with multi-threaded programming in some programming language.
Schedule
  • Introduction to Lock-Free Algorithms

    AppNexus

    28 W 23rd St, Floor 4
    New York, NY

    Class Format: The talk is delivered as a two hour lecture divided into an hour and a half of presentation and thirty minutes for questions and discussion. Several of the covered concepts will be developed and explored in real time.

    Topics include: blocking synchronization, atomic operations and the consensus problem, obstruction-freedom, wait-freedom, lock-freedom, memory models, the ABA problem, safe memory reclamation and the practical implications of non-blocking synchronization.

    This first introductory class is meant to be a survey. We will go through a lot of material in preparation for sessions involving more in-depth study of lock-free data structure design and implementation.

    Sep
    25
    Tue, September 25th, 2012

    6:30 pm - 8:30 pm EDT

    Add to Cal
  • Introduction to Lock-Free Data Structures

    AppNexus

    28 W 23rd St, Floor 4
    New York, NY

    Class Format: The talk is delivered as a two hour lecture divided into an hour and a half of presentation and thirty minutes for questions and discussion. Several of the covered concepts will be developed and explored in real time.

    Topics include: stack, FIFO, ring, hash table, design

    In this class, we will explore data structures from literature and specialisations of these data structures for real-world. We will explore performance properties as well as informal proofs of correctness.

    TBD
    TBD
    TBD

    TBD - TBD

    Add to Cal

Samy Bahra

Engineering Team Lead at AppNexus

I am an engineering team lead focused on developing a leading, real-time low latency online advertising platform. Before moving to New York, I played a crucial role on the engineering team behind the leading high-performance messaging platform. Prior to that, I was an active member of a high-performance computing laboratory and was primarily involved with Unified Parallel C and the performance modeling and analysis of shared-memory multi-processor systems.

I am actively involved in the open-source community and am the lead developer and the maintainer of Concurrency Kit, a library providing a plethora of concurrency primitives, safe memory reclamation mechanisms, and lock-less/lock-free data structures.

View Full Profile

89% Positive Reviews (9 Reviews)

    AppNexus

    28 W 23rd St, Floor...

    New York, NY

    32 / 70 Students

    • 2

      Classes

    • 84

      Students

    • 59

      Watchlist