Arvid Norberg: The C++ memory model: an intuition

Поділитися
Вставка
  • Опубліковано 9 лип 2024
  • Have you ever wondered about the meaning of acquire, release, relaxed and sequentially-consistent? These are the "memory orders" in C++. In this talk I will break down and illustrate the semantics of the memory orders in the C++ memory model. I will propose a simple mental model to help reason about atomic operations, but also highlight how error prone they can be.
    StockholmCpp 0x1B,
    www.meetup.com/StockholmCpp/e...
    kindly hosted by HiQ
    www.hiq.se/
    event photos
    www.meetup.com/StockholmCpp/p...
  • Наука та технологія

КОМЕНТАРІ • 16

  • @alexeysubbota
    @alexeysubbota Рік тому +3

    The most useful and practical explanation I've ever seen on the Internet! Thanks for the presentation!

  • @atomicCache_
    @atomicCache_ 9 місяців тому +3

    This video clarified many things, thanks 😇😇

  • @qiushizheng9208
    @qiushizheng9208 2 місяці тому

    best tutorial for the freshmen to learn the basic idea of memory model and memory barrier!!!

  • @davidli2745
    @davidli2745 2 роки тому +4

    A very easy-to-understand lesson, thanks!

  • @belalibrahim7501
    @belalibrahim7501 Рік тому +1

    Very mesmerizing illustration!

  • @quant-prep2843
    @quant-prep2843 Рік тому +2

    wow, absolutely smashed this one!! thanks a lot

  • @abhijitiitr
    @abhijitiitr 4 роки тому +4

    Good and concise talk.

  • @evgenyyakut2716
    @evgenyyakut2716 10 місяців тому +5

    I appreciate the intuitive model for atomics, though I was a bit disappointed by the speaker showing shaky understanding of the atomics, which was leaking into the presentation and some takeaways. "memory_order_relaxed is most likely a bug" is simply not true. When two threads talk to each other by means of a single atomic variable (and nothing else) it is acceptable to use memory_order_relaxed. The phrase "last resort" also didn't make sense to me. I'm assuming they meant that we should use the safest things first, optimizing as we see fit, but that wasn't clear to me at first.

  • @Quancept
    @Quancept 3 роки тому +3

    Wow! great video. Wish it was a bit longer, including the audience discussions.

  • @anna7sept
    @anna7sept 2 роки тому +4

    Herb Sutter's talk is available at ua-cam.com/video/A8eCGOqgvH4/v-deo.html

  • @isaaclacoba4458
    @isaaclacoba4458 3 роки тому +4

    The title is misleading as the talk is about multi-thread synchronisation and atomic variable; either way, really good video. Thanks for sharing!

  • @eyyo3571
    @eyyo3571 2 роки тому

    What is "ready" at 9:12

    • @ShtacketT
      @ShtacketT 2 роки тому +1

      Atomic flag indicating that w was initialized.

  • @sTammoi
    @sTammoi 3 роки тому

    Kappa

  • @shunxiancai5878
    @shunxiancai5878 Рік тому

    Title should've been "memory orders"

  • @aerobooxt
    @aerobooxt 3 роки тому +1

    I'm learning this subject, great talk!