
Lockfree algorithms - azernik
http://www.1024cores.net/home/lock-free-algorithms
======
padenot
If you want to study the subject in more depth, I cannot recommand enough "The
Art of Multiprocessor Programming" by Herlihy and Shavit. It has a nice
theoretical part, followed by more practical applications.

I also enjoyed "The Art of Concurrency" for a antagonist approach to a close
domain. It may be more accessible.

~~~
dkersten
_I cannot recommand enough "The Art of Multiprocessor Programming" by Herlihy
and Shavit._

Seconded. Its a great book, possibly my favorite book on the subject. I also
like "Patterns for Parallel Programming" by Timothy Mattson, Beverly Sanders
and Berna Massingill.

------
reitzensteinm
Rumor has it that Haswell-EP is going to bring 16 core, 32 threads CPUs (up
from the current 10 core, 20 thread chips), allowing for 128 threads on a 4
socket systems.

Which is to say, we're actually not that far way from the title of this site
becoming quaint, like Teradata does today - assuming Moore's law holds for a
while.

Interestingly, and not coincidentally, Haswell is also the first chip that
will support hardware transactional memory, which should speed efforts like
PyPy's STM, which enables you to write code without manually locking anything.

<http://morepypy.blogspot.co.nz/2012/06/stm-with-threads.html>

Great submission though - bookmarked!

~~~
dmpk2k
Considering the problems that Sun ran into with Rock, and the opinion that
Cliff Click has for Azul's own HTM implementation, I wouldn't get excited yet.

~~~
eternalban
>Considering ... Azul ...

I would like to consider: what did he say and when/where?

~~~
bmm6o
There's this: <http://news.ycombinator.com/item?id=526144>

------
smashing
This is awesome. I wish HN had more articles like this.

------
akg
I found a nice introduction to lock-free data-structures here:
<http://www.cse.yorku.ca/~ruppert/papers/lfll.pdf>

It is restricted to linked-lists but has some nice take-aways and worth the
read.

~~~
seclorum
The MidiShare folks had something interesting to say about lock-free coding in
the late 90's, early 2000's. Unfortunately their papers are not available in
grame.fr's re-design but they are available through archive.org:

[http://web.archive.org/web/20060427171449/http://www.grame.f...](http://web.archive.org/web/20060427171449/http://www.grame.fr/Research/pub.html)

EDIT: I found the new home:

[http://www.grame.fr/Recherche/rsrc/pub/index.php?lang=fr&...](http://www.grame.fr/Recherche/rsrc/pub/index.php?lang=fr&type=ARCH)

Specifically, this report titled "Lock-Free Techniques for Concurrent Access
to Shared Objects":

<http://www.grame.fr/Ressources/pub/fober-JIM2002.pdf>

It turns out that for MIDI (and Audio) processing, lock-free techniques are
quite handy .. Of course it helps if your CPU has compare-and-swap
instructions, which most do these days ..

------
cygwin98
Nice post on a topic I'm always interested in. Clicking through multiple pages
with ads around is a pain though. I would suggest the author to publish it as
an ebook in pdf. I would definitely buy a copy if it's in $5-15 range.

------
joe_the_user
So far a nice discussion... and it goes on and on and on... I'll be reading
more later

