TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A Fast Wait-Free Hash Table that Scales Linearly to Hundreds of Threads

59 pointsby causticabout 15 years ago

6 comments

kmavmabout 15 years ago
If you are into wait-free and lock-free data structures, you owe it to yourself to get Herlihy and Shavit's "Art of Multiprocessor Programming."<p><a href="http://www.amazon.com/Art-Multiprocessor-Programming-Maurice-Herlihy/dp/0123705916" rel="nofollow">http://www.amazon.com/Art-Multiprocessor-Programming-Maurice...</a><p>Not only does it provide a well-debugged, well-written collection of wait-free data structures; it teaches you to <i>think</i> about concurrency in a structured way. The mutual exclusion chapter doesn't teach you which pthread routines to use, but instead tells you how to implement mutual exclusion, and the trade-offs inherent in, e.g., spin locks vs. queueing locks. A significant bonus is Maurice Herlihy's distinctive prose voice: correct, concise, and funny in that order. It is the best computer book I've read recently, and the one I recommend to all colleagues who are trying to take their concurrency chops up to the next level.<p>(I took a course from Herlihy in '99, but am otherwise unaffiliated.)
评论 #1370654 未加载
bensummersabout 15 years ago
Download here: <a href="http://sourceforge.net/projects/high-scale-lib/" rel="nofollow">http://sourceforge.net/projects/high-scale-lib/</a><p>And some relevant blog posts by the author, Cliff Click:<p><a href="http://www.azulsystems.com/blog/cliff-click/2007-03-26-non-blocking-hashtable" rel="nofollow">http://www.azulsystems.com/blog/cliff-click/2007-03-26-non-b...</a> <a href="http://www.azulsystems.com/blog/cliff-click/2007-04-23-nonblocking-hashtable-source-code" rel="nofollow">http://www.azulsystems.com/blog/cliff-click/2007-04-23-nonbl...</a> <a href="http://www.azulsystems.com/blog/cliff-click/2007-06-03-engineering-hash-table" rel="nofollow">http://www.azulsystems.com/blog/cliff-click/2007-06-03-engin...</a> <a href="http://www.azulsystems.com/blog/cliff-click/2007-09-13-more-thinking-about-non-blocking-structures" rel="nofollow">http://www.azulsystems.com/blog/cliff-click/2007-09-13-more-...</a> <a href="http://www.azulsystems.com/blog/cliff-click/2008-01-07-adding-transactions-non-blockinghashmap" rel="nofollow">http://www.azulsystems.com/blog/cliff-click/2008-01-07-addin...</a> <a href="http://www.azulsystems.com/blog/cliff-click/2008-08-07-just-what-heck-wait-free-algorithm" rel="nofollow">http://www.azulsystems.com/blog/cliff-click/2008-08-07-just-...</a><p>His blog is a must-read if you like compilers, running things at scale, JITing Java, interesting data structures, and generally being Really Clever At Computing.
评论 #1352419 未加载
dwsabout 15 years ago
This is actually a two-part talk. At the 50 minute mark, there's a case study on optimizing a heavily-threaded Java app. It's partially about throwing heaps of RAM and cores at the problem (using the Azul platform), but it's also a general refresher on how to attack performance problems that involve lots of threads.
malkiaabout 15 years ago
Now that is something worth patenting... I'm kidding of course (I am all against them), but it seems non-trivial and non-obvious approach, unlike many other ridiculous patents.
CodeMageabout 15 years ago
Is there a downloadable version of the video anywhere?
itistodayabout 15 years ago
How does this compare to Clojure's approach?
评论 #1352734 未加载