Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Advanced Topics in Programming Languages: A Lock-Free Hash Table

    GoogleTalksArchive

    4 HN recommenders · recommended in 5 months, 2013–2024

    YouTube

    58:36 · 29K views · Aug 22, 2012

    A 2007 Google Tech Talk in which Cliff Click of Azul Systems presents a lock-free concurrent hash table that scales to 768 CPUs. He explains why it is correct by reasoning in a different way than usual happens-before and memory-order arguments.

    HN regards it as one of the best technical talks, a deep and clear walkthrough of scalable lock-free hash tables built on compare-and-swap.

    Mathematics & Theoretical CSAlgorithms & data structuresSoftware performance & optimizationDistributed systems
    1. 1:12:02
      Java on a 1000 Cores - Tales of Hardware / Software CoDesignGoogle TechTalks23K views • 17 years ago
    2. 59:34
      CppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”CppCon137K views • 9 years ago
    3. 54:01
      Abseil's Open Source Hashtables: 2 Years In - Matt Kulukundis - CppCon 2019CppCon22K views • 7 years ago
    4. 51:27
      Google I/O 2012 - Go Concurrency PatternsGoogle for Developers894K views • 14 years ago
    5. 1:30:53
      C++Now 2018: You Can Do Better than std::unordered_map: New Improvements to Hash Table PerformanceCppNow63K views • 8 years ago
    6. 45:11
      Kilim: Fast, lightweight, cheap message passing in Java.Google TechTalks33K views • 18 years ago
    7. 30:37
      High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18Dyalog User Meetings5.8K views • 7 years ago
    8. 52:54
      Rust at speed — building a fast concurrent databaseJon Gjengset225K views • 7 years ago
    9. 1:13:41
      CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"CppCon235K views • 12 years ago
    10. 2:32:39
      Clojure Concurrency - Rich HickeyClojureTV73K views • 13 years ago
    11. 41:06
      "Unison: a new distributed programming language" by Paul ChiusanoStrange Loop Conference45K views • 7 years ago
    12. 1:06:24
      Rich Hickey: Deconstructing the DatabaseInfoQ106K views • 14 years ago
    13. 51:18
      Lexical Scanning in Go - Rob PikeGoogleFOSSSydney162K views • 15 years ago
    14. 1:13:53
      Raymond Hettinger, Keynote on Concurrency, PyBay 2017SF Python161K views • 9 years ago
    15. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    16. 1:10:23
      "Systems that run forever self-heal and scale" by Joe Armstrong (2013)Strange Loop Conference86K views • 5 years ago
    17. 30:06
      "Tackling Concurrency Bugs with TLA+" by Hillel WayneStrange Loop Conference24K views • 9 years ago
    18. 1:29:55
      Sorting Algorithms: Speed Is Found In The Minds of People - Andrei Alexandrescu - CppCon 2019CppCon184K views • 7 years ago
    19. 42:03
      The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019GOTO Conferences384K views • 7 years ago
    20. 1:19:57
      Simon Peyton Jones: Data Parallel HaskellnuACM28K views • 16 years ago

    5 comments from Hacker News

    1. @qzncApr 2013· in “Ask HN: What's the best technical talk you've heard?”

      Probably this one: this video Anything from Cliff Click is quite good. This guy has a very deep understanding of compilers, virtual-machines, CPUs, and their interactions. A JVM does that? [LINK] Java on a 1000 Cores [LINK]

      Strongly recommendsView on HN
    2. @benreesmanSep 2024· in “Build a serverless ACID database with this one neat trick (atomic PutIfAbsent)”

      For folks interested in this topic I highly recommend this talk by Cliff Click about building highly scalable hash tables via Compare And Swap: this video

      Strongly recommendsView on HN
    3. @benreesmanAug 2022· in “C++ Concurrency Model on x86 for Dummies (2020)”

      It's worth noting that for a lot of people for a long time, Intel TSO was the memory model in practice (which IIRC makes `std::memory_order_seq_cst` pretty much free on Intel). Many clothes have been torn and many teeth gnashed porting C++ from Intel to more relaxed architectures. Back in the day that usually meant like SPARC, today that usually means ARM. "Acquire" and "Release" are relatively comprehensible in isolated examples, but the intuitions don't compose well. It's realllly easy to end up with an ABA type issue or an architecture dependency even with the simplest lock-free primitives like CAS. Combine that with how cheap `std::mutex` is on most platforms and it's just really a last resort, at least on server-class gear. Google engineers have more experience with this than probably anyone, and they've summed it up nicely here: [LINK] . Doing raw atomics isn't quite "roll your own cryptography", but it's clearly in "if you have to ask, don't use it" territory. I've lost count of how many times I've fuzzed something to Mars and back to show it "correct" and not been able to justify it compared to `pthread` when the profiles were in. With that disclaimer, people are going to do it, and so I should probably leave an example of it done well: this video

      RecommendsView on HN
    4. @ignoramousFeb 2016· in “A resizable concurrent map”

      Dr. Cliff Click's Google talk on Lock-Free Hashtable is here: this video Acc to Dr. Click, if you do not have 30+ CPUs in a single machine, ConcurrentHashMap (built-in to the JDK) will do the trick more often than not. The talk is really worth it, if you're curious about the design, esp. Dr. Click also had memorable debate with Rich Hickey over STMs. He works at h2o.ai and wrote about building a Key-Value store two years ago: [LINK]

      RecommendsView on HN
    5. @eternalbanMay 2017· in “An Atomic Hash Table”

      I've always admired the wizardry of Cliff Click's concurrent hash: [LINK] this video I'm not sure what to make of an "atomic" hash. I don't think OP does as well: "Doesn't this kind of defeat the point of concurrent algorithms? Well, in a sense, it does make it non-atomic, but it isn't really a spin-lock or anything like that, even though it can seem like that:" Concurrent hash seems to be more correct and clear.

      RecommendsView on HN