Automatic Partitioning of Database Applications
Alvin Cheung, Owen Arden, Samuel Madden, Andrew C. Myers

TL;DR
Pyxis automatically partitions database applications into server and database code, reducing latency and improving throughput by minimizing control transfers and data sent, thus simplifying performance optimization.
Contribution
Introduction of Pyxis, an automated system that profiles, analyzes, and partitions database applications to optimize performance without manual conversion to stored procedures.
Findings
Up to 3x reduction in latency
Up to 1.7x increase in throughput
Comparable performance to custom stored procedures
Abstract
Database-backed applications are nearly ubiquitous in our daily lives. Applications that make many small accesses to the database create two challenges for developers: increased latency and wasted resources from numerous network round trips. A well-known technique to improve transactional database application performance is to convert part of the application into stored procedures that are executed on the database server. Unfortunately, this conversion is often difficult. In this paper we describe Pyxis, a system that takes database-backed applications and automatically partitions their code into two pieces, one of which is executed on the application server and the other on the database server. Pyxis profiles the application and server loads, statically analyzes the code's dependencies, and produces a partitioning that minimizes the number of control transfers as well as the amount of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCloud Computing and Resource Management · Distributed systems and fault tolerance · Software System Performance and Reliability
