Distributed procedure call
Abstract/Contents
- Abstract
- Communication performance is a critical factor when building distributed systems; communication costs can account for a non-trivial fraction of an application's service time. This has motivated many advances in raw communication performance, including both increased throughput and decreased latency. Unfortunately, these efforts ignore a more fundamental drain on communication performance: today's most common communication patterns, which result from the use of Remote Procedure Calls (RPCs), are inefficient and create otherwise unnecessary communication. With a more flexible communication pattern, it is possible to eliminate unnecessary communication, reduce the number of network hops, and ultimately improve the end-to-end latency of distributed executions. To that end, this dissertation presents Distributed Procedure Call (DPC), a new communication primitive designed to support a "multi-hop" communication pattern for distributed systems. Multi-hop communication breaks the one-to-one mapping between requests and responses in traditional RPCs. With DPC, a server can delegate a request to one or more additional servers before responses are sent, forming a tree of requests. This allows DPC to reduce latency by eliminating messages and network hops. Compared to RPC, DPC can reduce end-to-end communication latency by 18% to 49% in a variety of applications without harming throughput. DPC makes it easy for applications to take advantage of multi-hop communication. DPC's simple and general-purpose abstraction allows applications to dynamically form distributed executions. Behind this abstraction, the DPC protocol manages the multi-hop communication, matching request and response messages, and providing DPC completion and failure detection. Furthermore, DPC can be implemented as a library. This shields applications from the complexities of multi-hop communication and allows applications to focus on the logic of their distributed execution. DPC gives developers a new tool to build and optimize distributed systems.
Description
Type of resource | text |
---|---|
Form | electronic resource; remote; computer; online resource |
Extent | 1 online resource. |
Place | California |
Place | [Stanford, California] |
Publisher | [Stanford University] |
Copyright date | 2021; ©2021 |
Publication date | 2021; 2021 |
Issuance | monographic |
Language | English |
Creators/Contributors
Author | Lee, Collin Shing-Tsi |
---|---|
Degree supervisor | Ousterhout, John K |
Thesis advisor | Ousterhout, John K |
Thesis advisor | Prabhakar, Balaji, 1967- |
Thesis advisor | Winstein, Keith |
Degree committee member | Prabhakar, Balaji, 1967- |
Degree committee member | Winstein, Keith |
Associated with | Stanford University, Computer Science Department |
Subjects
Genre | Theses |
---|---|
Genre | Text |
Bibliographic information
Statement of responsibility | Collin Shing-Tsi Lee. |
---|---|
Note | Submitted to the Computer Science Department. |
Thesis | Thesis Ph.D. Stanford University 2021. |
Location | https://purl.stanford.edu/nv119rp9547 |
Access conditions
- Copyright
- © 2021 by Collin Shing-Tsi Lee
- License
- This work is licensed under a Creative Commons Attribution 3.0 Unported license (CC BY).
Also listed in
Loading usage metrics...