Taming Mutexes for Concurrency

Mutexes can be a central part of creating highly concurrent systems, but designing a system that utilise them can be very complex.

Based on a real case, we will look at design considerations for a performant and scalable service.

Abstract

Mutexes can be a central part of creating highly concurrent systems, but designing a system that utilise them can be very complex.
Based on a real case, we will look at design considerations for a performant and scalable service.

This talk will focus on the RW mutex and good patterns of design for it. Main topics will include using fine grained locks and how to design without exploding the complexity.
Designing this in a good way is a prerequisite for consistent performance and good scalability. The RW mutex has some common pitfalls that we will look into. We will look at when mutexes is a better choice and what performance implications can be.
The real world case of this will investigate implementing a highly scalable service for real time ranking of millions of users and wines at Vivino in hundreds of thousands of unique ranking lists. (this will likely be an open sourced project - see notes)
The talk will be accessible for all learning levels, but most interesting for intermediate Go users who are looking to step up their concurrency programming skills beyond the available concurrency patterns.

Video

Stay connected

You can subscribe to our newsletter to stay updated on the latest news and announcements. Follow us on social media to join our community and engage with other attendees, speakers, and staff. We're on Twitter, Mastodon, Youtube and Facebook. Don't forget to use our official hashtag #GoLab2023 to share your experience and connect with other attendees on social media.

Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2023 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS