Title Information
Title
A Universal Architecture for Cross-Cutting Tools in Distributed Systems
Type of Resource
text
Name: Personal
Name Part
Mace, Jonathan Christopher
Role
Role Term: Text
creator
Name: Personal
Name Part
Fonseca, Rodrigo
Role
Role Term: Text
Advisor
Name: Personal
Name Part
Herlihy, Maurice
Role
Role Term: Text
Reader
Name: Personal
Name Part
Krishnamurthi, Shriram
Role
Role Term: Text
Reader
Name: Corporate
Name Part
Brown University. Department of Computer Science
Role
Role Term: Text
sponsor
Origin Information
Copyright Date
2018
Physical Description
Extent
xi, 129 p.
digitalOrigin
born digital
Note: thesis
Thesis (Ph. D.)--Brown University, 2018
Genre (aat)
theses
Abstract
Recent research has proposed a variety of cross-cutting tools to help monitor and troubleshoot end-to-end behaviors in distributed systems. However, most prior tools focus on data collection and aggregation, and treat analysis as a distinct step to be performed later, offline. This restricts the applicability of such tools to only doing post-facto analysis. However, this is not a fundamental limitation. Recent research has proposed tools that integrate analysis and decision-making at runtime, to directly enforce end-to-end behaviors and adapt to events. In this thesis I present two new applications of cross-cutting tools to previously unexplored domains: resource management, and dynamic monitoring. Retro, a cross-cutting tool for resource management, provides end-to-end performance guarantees by propagating tenant identifiers with executions, and using them to attribute resource consumption and enforce throttling decisions. Pivot Tracing, a cross-cutting tool for dynamic monitoring, dynamically monitors metrics and contextualizes them based on properties deriving from arbitrary points in an end-to-end execution. Retro and Pivot Tracing illustrate the potential breadth of cross-cutting tools in providing visibility and control over distributed system behaviors. From this, I identify and characterize the common challenges associated with developing and deploying cross-cutting tools. This motivates the design of baggage contexts, a general-purpose context that can be shared and reused by different cross-cutting tools. Baggage contexts abstract and encapsulate components that are otherwise duplicated by most cross-cutting tools, and decouples the design of tools into separate layers that can be addressed independently by different teams of developers. The potential impact of a common architecture for cross-cutting tools is significant. It would enable more pervasive, more useful, and more diverse cross-cutting tools, and make it easier for developers to defer development-time decisions about which tools to deploy and support.
Subject (fast) (authorityURI="http://id.worldcat.org/fast", valueURI="http://id.worldcat.org/fast/01745899")
Topic
Cloud computing
Subject (fast) (authorityURI="http://id.worldcat.org/fast", valueURI="http://id.worldcat.org/fast/00888884")
Topic
Debugging in computer science
Subject (fast) (authorityURI="http://id.worldcat.org/fast", valueURI="http://id.worldcat.org/fast/00872297")
Topic
Computer networks
Language
Language Term (ISO639-2B)
English
Record Information
Record Content Source (marcorg)
RPB
Record Creation Date (encoding="iso8601")
20180618
Identifier: DOI
10.26300/g1vw-v229
Access Condition: rights statement (href="http://rightsstatements.org/vocab/InC/1.0/")
In Copyright
Access Condition: restriction on access
Collection is open for research.