@ c4

Rust Cologne is a monthly meetup dealing with everything Rust. This month we will talk about the Rust 1.89 release and hear an exciting talk about utilizing atomics for lock-free programming.

(The meetup will likely be held in German but we’ll switch to English if needed.)

Dear Rustacean,

you are hereby warmly invited to join this month’s Rust Cologne meetup. Whether you want to speed up your python code, write a web service, need interop with your C++-codebase, cross-compile for a microcontroller, write an emulator, … we’ve got you covered!

We commonly open up with a brief summary of noteworthy changes in the Rust ecosystem. Be it updates to the language itself, public events, its impact on other projects and languages, …

When accessing shared memory - either from different threads or from interrupt handlers on bare-metal embedded devices - locks (or mutexes) are often the way to go - for good reason: They are easy to understand, especially when complex logic is involved. But they also have some drawbacks, most prominently they can result in significant overhead and latency.

Atomics provide an alternative way to synchronize concurrent memory access using specific compiler instructions and can therefore be much faster than locks. But they can also be more difficult to use, mostly because of the required memory ordering for every atomic instruction. The memory ordering defines the strength of memory access synchronization that is used. Choosing an incorrect ordering can result in incorrect and hard to debug code execution.

This talk will peek into lock-free programming by giving an overview of the functionality of atomics and how they can be used in Rust. We will compare locks and atomics, look at different concurrency examples, understand the need for different memory orderings and when which memory ordering is needed.

As usual, the remaining time is about whatever you want to talk about!

Always wanted to know why Rust is harder to learn than other popular languages or why it lacks a certain feature? When is it appropriate to rewrite a project in Rust? Is the compiler really that slow and are the binaries really that big? Do all those safety guarantees have an impact on the performance? Fetch a drink and let’s find it out.

You can register here.

See you soon!

Yours, Florian and Kai


If you have a topic you’d like to talk about, please let us know in advance. This way we can make sure there’s a time-slot for you and maybe announce it officially. Thank you.

Please let us know if you're planning to drop by! :-)

  1. Introduction to atomics

    When accessing shared memory - either from different threads or from interrupt handlers on bare-metal embedded devices - locks (or mutexes) are often the way to go - for good reason: They are easy to understand, especially when complex logic is involved. But they also have some drawbacks, most prominently they can result in significant overhead and latency.

    Atomics provide an alternative way to synchronize concurrent memory access using specific compiler instructions and can therefore be much faster than locks. But they can also be more difficult to use, mostly because of the required memory ordering for every atomic instruction. The memory ordering defines the strength of memory access synchronization that is used. Choosing an incorrect ordering can result in incorrect and hard to debug code execution.

    This talk will peek into lock-free programming by giving an overview of the functionality of atomics and how they can be used in Rust. We will compare locks and atomics, look at different concurrency examples, understand the need for different memory orderings and when which memory ordering is needed.

Location: Chaos Computer Club Cologne (c4) e.V.

Heliosstr. 6a

Köln

Show on Google Maps

Show on OpenStreetMap

  • Via subway lines 3, 4, or 13 to “Venloer Straße/Gürtel” (exit the station towards “Heliosstr./Bezirksverwaltung”)
  • Via bus lines 141, 142, or 143 to “Venloer Straße/Gürtel”
  • Via train to “Köln-Ehrenfeld” (exit the station towards “Venloer Straße”)

Cross Venloer Straße and go into Heliosstraße. After 2–3min you arrive at the last building before an apartment complex labeled “Stayery” (on the right side). The entrance is next to the parking spots.