Loading Events

« All Events

Hybrid Event

Goodwin, T. (CSE) – Programming and Testing Support for Adaptive Cloud Systems

November 18 @ 11:00 am – 1:00 pm
Hybrid Event
Close-up abstract image of a circuit board with glowing lines and interconnected pathways.

Cluster management platforms support the development of adaptive cloud systems, i.e., systems that dynamically manage their own configuration and deployment. Developers build these systems along two dimensions. They program the system’s control plane, defining how it observes and responds to changing workloads and environmental conditions. They also structure the managed application itself, deciding how its functionality is divided into separate components and how those components are deployed across a cluster.

These platforms afford developers considerable freedom of choice in both dimensions, yet anticipating the consequences of these choices remains difficult. Control plane behaviors emerge from interactions among many loosely-coupled management processes called controllers, whose asynchronous execution makes their collective behavior difficult to predict and test. Meanwhile, an application’s structure limits the adaptations available to its control plane. Component boundaries are typically fixed at development time, even though their performance tradeoffs depend on workloads and conditions that change at run time.

Developers therefore face two questions whose answers depend on factors that are difficult to anticipate up front: how will independently executing controllers behave together, and how will an application’s component boundaries affect its performance and adaptability? This dissertation investigates programming and testing techniques that make both questions easier to explore.

We investigate these challenges in Kubernetes, a widely used, open-source cluster management platform. We developed Kamera, a simulation testing framework that makes the behavior of multiple interacting controllers efficiently explorable at development time. By running real controller code against a simulated Kubernetes environment, Kamera achieves a three-order-of-magnitude speedup over prior cluster-based testing tools, and can run on a developer laptop.

To address the constraints imposed by fixed application boundaries, we developed Monolift, which uses compiler transformations to derive alternative distributed architectures from a single application’s source. Our initial prototype enables developers to rapidly experiment with distribution strategies and compare their performance tradeoffs. We propose to extend this work by characterizing valid application partitionings and establishing soundness arguments for the corresponding transformations, then developing a control plane that selects and coordinates transitions among supported architectures as run-time conditions change.

 

Event Host: Timothy Goodwin, PhD Student, Computer Science & Engineering 

Advisor: Lindsey Kuper

Zoom: https://ucsc.zoom.us/j/6782156437?pwd=cmNQVkx2anZ6dW9iWkFoZFdWNlR5Zz09

Passcode: E6vxm7

Details

Other

Room Number
E2-399

Venue