Photo

Threads vs. Fibers: Analyzing the Noisy Neighbor Issue in Google Cloud Storage

Vinit Dhatrak

from Docusign (USA)

About speaker

Vinit is a seasoned software engineer with a demonstrated history of building on-premise and cloud-native distributed systems at scale.

Currently, Vinit serves as a Lead Software Engineer at DocuSign, contributing to the Docusign's Storage team.

About speakers company

.

Abstracts

specific

This talk will delve deep into the innovative use of threads versus fibers in user-space cooperative scheduling, drawing upon real-world applications in the context of planet-scale storage systems, particularly Google Cloud Storage.
This talk will explore how Google Cloud Storage leverages fibers to address the challenge of "noisy neighbors" – non-conformant clients that can monopolize resources and degrade performance for others. By employing fibers and user-space cooperative scheduling, GCS achieves fairer CPU resource allocation, prioritizing conformant clients while strategically throttling non-conformant ones.

During this session, I will explore the architectural considerations and performance trade-offs between threads and fibers, leveraging my experiences from leading this project at Google.
This talk will be particularly beneficial for engineers and architects involved in building or maintaining large-scale distributed systems.


In the dynamic landscape of cloud computing, efficient task management is crucial for optimizing resource utilization and maintaining application performance. This talk will delve deep into the innovative use of threads versus fibers in user-space cooperative scheduling, drawing upon real-world applications in the context of planet-scale storage systems, particularly Google Cloud Storage.

Threads, though prevalent in multithreading, often suffer from context switching overhead and potential interference, commonly known as the 'noisy neighbor' problem, impacting CPU isolation. Fibers, on the other hand, offer a lightweight alternative by facilitating task execution within the same thread, reducing overhead and enhancing system responsiveness.

This talk will explore how Google Cloud Storage leverages fibers to address the challenge of "noisy neighbors" – non-conformant clients that can monopolize resources and degrade performance for others. By employing fibers and user-space cooperative scheduling, GCS achieves fairer CPU resource allocation, prioritizing conformant clients while strategically throttling non-conformant ones.

During this session, I will explore the architectural considerations and performance trade-offs between threads and fibers, leveraging my experiences from leading projects at Google. Attendees will gain insights into how fibers can be employed to enhance scheduling efficiency in cloud environments, ensuring optimal CPU isolation and minimal latency.

Key challenges tackled include designing isolation mechanisms that prevent resource contention, thereby improving SLAs for high-demand cloud storage clients. Moreover, I'll showcase strategies that integrate fibers seamlessly into existing multithreaded systems.

This talk will be particularly beneficial for engineers and architects involved in building or maintaining large-scale distributed systems. Attendees can expect to leave with a solid understanding of how user-space cooperative scheduling using fibers can be leveraged to address contemporary challenges in cloud storage, potentially driving down costs and boosting application performance across distributed infrastructures.

The Program Committee has not yet taken a decision on this talk

other talks of this topic

Photo
Serverless First Mindset: seize opportunities, know your limits and experience real success stories

Florian Lenz

neocentric GmbH - Azure Cloud Developer / Architect

specific
Photo
REST or gRPC: Best practices for modern architectures

Kristina Kraljić

PIS d.o.o.

specific
Photo
Azure cloud architecture for high availability and low latency

Florian Lenz

neocentric GmbH - Azure Cloud Developer / Architect

specific
Photo
Exploring the Tradeoffs of Event-Driven Architecture in Microservices

Florian Lenz

neocentric GmbH - Azure Cloud Developer / Architect

specific
Photo
Architectures that we can use with .NET

Alexej Sommer

Capgemini

broad
Photo
Achieving True Layered Separation with Hexagonal Architecture in Spring Boot

Adrian Kodja

softgarden e-recruiting GmbH

specific
Photo
Mastering Software Design: Best Practices for Building Robust Applications

Ambesh Singh

Visionet Systems Deutschland

broad
Photo
Open Source Ecosystem for ClickHouse on Kubernetes

Denys Kondratenko

Altinity

specific
Photo
The Anatomy of a Distributed JavaScript Runtime

Peter van Vliet

Masking Technology

broad
Photo
Using Heterogeneous Computing in Databases

Aleksandr Borgardt

OtterStax

specific
Photo
Federate it! Limits of GraphQL-based architectures.

Alexander Gilevich

EPAM

specific
Photo
Blending Product Thinking with Architecture

Joel Tosi

Dojo and Co

broad
Photo
Cloud Costs with ClickHouse and OpenCost

Denys Kondratenko

Altinity

specific
Photo
The Art of Decision Making: Balancing Trade-Offs in Software Architecture

Florian Lenz

neocentric GmbH - Azure Cloud Developer / Architect

broad
Photo
The simplest way to build resilient applications

Francesco Guardiani

Restate Gmbh

broad
Photo
Writing a TSDB from Scratch: Performance Optimization

Roman Khavronenko

VictoriaMetrics

specific
Photo
Just Use Postgres for Everything

Giorgi Dalakishvili

Space International

specific
Photo
Mindset by Design: Transforming How You Build Software

Mihaela-Roxana Ghidersa

Signant Health

broad
Photo
Dismantling Big Data with DuckDB

Yoav Nordmann

Tikal Knowledge

specific
Photo
Organizational Sustainability with Platform Engineering

Lesley Cordero

The New York Times

specific
Photo
Beyond Caching: Valkey's Advanced Data Structures in Action

Viktor Vedmich

Amazon Web Services

specific
Photo
ML/AI in the cloud - State of the Art in 2025

Federico Fregosi

OpsGuru

broad