Back to search

University of Illinois - Chicago

Delegation for Multi-Threaded and Rack-Scale Software

Abstract

dc:description

Delegation is a concurrency technique where a thread hands off work on a shared object to a single designated owner instead of accessing the object directly. Because only the owner thread ever mutates the object, no locks are needed, other threads interact with it by sending requests. This avoids data races, simplifies reasoning, and can outperform lock-based designs by eliminating contention and complex synchronization. As delegation does not rely on shared memory, its applications extend naturally beyond local concurrency to broader distributed settings. We present two system, Trust and Gossamer, to demonstrate the versatility of this approach across different domains. Trust introduces a type- and memory-safe alternative to traditional locking in concurrent programs. Instead of synchronizing multi-threaded access to an object of type T with a lock, it can be encapsulated in a Trust with a designated trustee thread handling all operations through message passing. This delegation-based model eliminates per-lock throughput limitations, achieving up to 22x higher throughput in microbenchmarks and 5-9x improvement for a key-value store in high-contention workloads, while remaining competitive even without contention. Gossamer extends the concept of delegation to distributed computing. It allows an application written for a single machine to scale to a small cluster with minimal changes. Using Remote Direct Memory Access (RDMA) for high-performance communication, Gossamer supports delegating Rust closures across machines and employs lightweight user-space threads (fibers) for concurrency. Our experiments show 3x better throughput scaling than eRPC and performance comparable to the Graph500 MPI reference implementation.

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Noaman Ahmad (24399980)

Subjects

dc:subject × 1

Rights

dc:rights
Statement dc:rights
  • In Copyright
  • Open Access after 2028-05-01

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:figshare.com:article/32995001

Chain of custody

source
Harvested from
University of Illinois - Chicago
Base URL
api.figshare.com/v2/oai
Last updated
2026-07-27
Source record
OAI-PMH GetRecord
related terms
citation

Noaman Ahmad (24399980). Delegation for Multi-Threaded and Rack-Scale Software. 2026. https://doi.org/10.25417/uic.32995001.v1