Introduction to Lock-Free Algorithms

55 views
Skip to first unread message

Samy Al Bahra

unread,
Feb 2, 2012, 2:39:58 PM2/2/12
to concurr...@googlegroups.com
If you are in New York and are new to Concurrency Kit or non-blocking
data structures,
you may be interested in the following free course:

http://www.skillshare.com/Introduction-to-Lock-Free-Algorithms/592151380/1963589433

I will look into possibly getting a video recording for the interested
that won't be able to make it. I have copy-pasted the course outline
for the interested:

This class introduces the student 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, students 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 course concludes
with a plethora of valuable resources for the student to learn more
about this exciting topic.

Class Format: The course 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. This lecture is structured in a
manner by which attendees can easily grasp techniques and concepts,
many of which are buried in sometimes inaccessible academic
literature.

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.

Prerequisites: Many of the concepts learned in this class 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.

Regards.
--
Samy Al Bahra [http://repnop.org]

Reply all
Reply to author
Forward
0 new messages