Deep dive into k-CAS: Vesa Karvonen breaks down sweat-free techniques for concurrent, lock-free programming with clear slides and full speaker notes — perfect for systems engineers and PL enthusiasts. Enlightening and practical! #kCAS #Concurrency #LockFree #ParallelComputing #SystemsProgramming #ProgrammingLanguages #VesaKarvonen #Tarides #English
https://watch.ocaml.org/videos/watch/acebc363-12df-4cd6-aec0-e8239ab325e0
k-CAS for sweat-free concurrent programming by Vesa Karvonen

PeerTube

Три стакана на двоих: самая эффективная коммуникация

Речь пойдет о достаточно типичном для приложений реального времени шаблоне взаимодействия между поставщиком и потребителем информации. Поставщик (писатель) пописывает, потребитель (читатель) почитывает. Асинхронно по отношению друг к другу, каждый — в своём темпе. Обмен происходит отдельными сообщениями, и, как это часто бывает с информацией, привязанной к текущему времени, читателю интересна только самая свежая информация, то есть только последнее сообщение, отправленное писателем. Если какое-то из предыдущих сообщений пропущено — не страшно, всё равно пропущенные данные непоправимо устарели. Наиболее эффективная техника, реализующая подобное взаимодействие, известна как тройная буферизация (Triple Buffering). Именно о ней и о её небольших обобщениях пойдет речь в данной статье.

https://habr.com/ru/articles/1002764/

#atomic #c++ #c++20 #realtime #lockfree #algorithm

Три стакана на двоих: самая эффективная коммуникация

Речь пойдет о достаточно типичном для приложений реального времени шаблоне взаимодействия между поставщиком и потребителем информации. Поставщик (писатель) пописывает, потребитель (читатель)...

Хабр

Tôi đã ra series video ngắn hướng dẫn xây dựng queue single‑producer / single‑consumer (SPSC) từ đầu: triển khai sơ khai, lý do có vẻ đúng, và các vấn đề cache, ordering. Sắp tới sẽ chuyển sang thiết kế lock‑free. Rất mong nhận phản hồi từ những người có kinh nghiệm concurrency. #Concurrency #SPSC #LockFree #LậpTrình #Queue #ĐồngThời #VideoSeries

https://youtube.com/playlist?list=PLHricCAtcO58_4dKgQOzIT6rl9ke5vS1w&si=3NBWV9fsrlKHnylV

From Naive to Lock-Free Queues

A step-by-step journey from naive queue implementations to lock-free designs. We start with intuition, break it with real code, and rebuild queues correctly ...

YouTube
Put a ring on it: a lock-free MPMC ring buffer

Fixed-size ring buffers with full lock freedom

h4x0r

Введение в атомики. C++

Заметил недостаток качественных статей по атомикам. Сам когда-то столкнулся с тем, что хотел прочитать статью, где простым и понятным языком рассказывается об этом, но, к сожалению, найти не смог.

https://habr.com/ru/articles/972856/

#C++ #atomic #atomicity #lockfree #атомики #атомик

Введение в атомики. C++

Мотивация Заметил недостаток качественных статей по атомикам. Сам когда-то столкнулся с тем, что хотел прочитать статью, где простым и понятным языком рассказывается об этом, но, к сожалению, найти не...

Хабр

Многопоточность в современном C++: Lock-Free программирование, Memory Ordering и Atomics

Многопоточное программирование в C++ традиционно ассоциируется с мьютексами, condition variables и потенциальными проблемами вроде deadlocks и race conditions. Однако современные стандарты C++ (начиная с C++11 и далее) предоставляют инструменты для написания высокопроизводительного многопоточного кода без классических блокировок. В этой статье рассмотрим продвинутые техники: lock-free программирование, атомарные операции и различные модели упорядочивания памяти.

https://habr.com/ru/articles/963818/

#multithreading_programming #c++ #concurrency #lockfree #atomic

Многопоточность в современном C++: Lock-Free программирование, Memory Ordering и Atomics

Многопоточное программирование в C++ традиционно ассоциируется с мьютексами, condition variables и потенциальными проблемами вроде deadlocks и race conditions. Однако современные стандарты C++...

Хабр

Lock-free код и шахматы: где LLM показывают свою несостоятельность

Все мы привыкли к тому, что нейросети творят чудеса. Suno генерирует музыку неотличимую от человеческой, Flux рисует картины лучше многих художников, Claude переводит тексты так, что даже носители языка не сделают это лучше. Создается впечатление, что искусственный интеллект вот-вот заменит нас во всех сферах деятельности. Но есть одна маленькая проблема. Как только задача требует настоящего размышления, а не воспроизведения заученных паттернов, LLM начинают творить такую дичь, что становится стыдно, что знаком с ними.

https://habr.com/ru/articles/935700/

#LLM #шахматы #lockfree #lockfree_algorithms #lockfree_структуры_данных

Lock-free код и шахматы: где LLM показывают свою несостоятельность

Все мы привыкли к тому, что нейросети творят чудеса. Suno генерирует музыку неотличимую от человеческой, Flux рисует картины лучше многих художников, Claude переводит тексты так, что даже носители...

Хабр
There are about 3 or 4 ways to make #hazardpointers #waitfree instead of merely #lockfree. I had though Linux restartable sequences (RSEQ) couldn't be inlines but apparently they can. I did a quick and dirty perf rest and it looks like protect() runs 3x faster w/o that conditional branch. But this only works on Linux and you need asynchronous memory barriers.

Please help me spread the link to #swad 😎

https://github.com/Zirias/swad

I really need some users by now, for those two reasons:

* I'm at a point where I fully covered my own needs (the reasons I started coding this), and getting some users is the only way to learn about what other people might need
* The complexity "exploded" after supporting so many OS-specific APIs (like #kqueue, #epoll, #eventfd, #signalfd, #timerfd, #eventports) and several #lockfree implementations based on #atomics while still providing fallbacks for everything that *should* work on any #POSIX systems ... I'm definitely unable at this point to think of every possible edge case and test it. If there are #bugs left (which is somewhat likely), I really need people reporting these to me

Thanks! 🙃

GitHub - Zirias/swad: Simple Web Authentication Daemon

Simple Web Authentication Daemon. Contribute to Zirias/swad development by creating an account on GitHub.

GitHub

Next #swad release will still be a while. 😞

I *thought* I had the version with multiple #reactor #eventloop threads and quite some #lockfree stuff using #atomics finally crash free. I found that, while #valgrind doesn't help much, #clang's #thread #sanitizer is a very helpful debugging tool.

But I tested without #TLS (to be able to handle "massive load" which seemed necessary to trigger some of the more obscure data races). Also without the credential checkers that use child processes. Now I deployed the current state to my prod environment ... and saw a crash there (only after running a load test).

So, back to debugging. I hope the difference is not #TLS. This just doesn't work (for whatever reason) when enabling the address sanitizer, but I didn't check the thread sanitizer yet...