October 2024 Rustacean meetup

October 2024 Rustacean meetup

Swarnim Arun

@swarnimarun

Design Patterns for async and parallel systems with Rust

Submitted Oct 5, 2024

Preface

As Rust has matured it provides both async and parallel programming primitives for efficient concurrency, although Rust isn’t opionated about any specific kind of concurrency pattern. As a language Rust’s Concurrency Model derived from Send + Sync Marker traits provide even common design patterns and libraries with ways to help users avoid the most cumbersome of foot-guns in the form of data-races.

Proposal

“I would like to explore essential design patterns, crates and ecosystem for each side of the two concurrency patterns. Discuss technical details regarding higher level design of APIs and how each of the tools and means differ from other popular languages using a wide variety of similar patterns.”

  • Explore writing executors and future aka async wrappers over simple Asynchronous OS APIs.
  • State management across threads and tasks.
  • Message passing with and without channels. Quick comparison between unix pipes and channels.
  • Comparing Go, Elixir/BEAM and other systems languages(C++) to Rust’s concurrency model.
  • Pain points with Rust’s concurrency model and crates/patterns to work around them.

Prerequisites

  • basic familiarity with some concurrency primitives such as tasks or threads.
  • basic rust understanding
  • some knowledge about pointers and basic system’s design

Swarnim Arun
swarnimarun.com - Game Developer & Software Consultant

*Currently,
Senior Developer @ Cedana.ai
Working on optimizing cloud compute performance and efficiency

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

A community of rust-lang contributors and end-users from Bangalore. We also have presence on the following telegram channels https://t.me/RustIndia https://t.me/keralars https://t.me/fpncr Twitter handle: https://twitter.com/rustlangin more