Scalability In Coordinated Transaction Management
Transaction processing systems are commonly employed in a wide range of applications, such as travel booking, financial trading, and online games. Typically, these applications are used by thousands of users simultaneously, and many a times, users attempt to coordinate on data values. In this dissertation, we argue that the current support for coordination in such systems is ad-hoc and not scalable. We propose simple, efficient, and scalable abstractions for coordination in transaction processing systems. This dissertation comprises of three papers - Scalability in Virtual Environments, Declarative Data-driven Coordination, and Entangled Transactions. In each of these papers, we look at scalability of coordinated transaction management from a unique perspective that can remarkably alter the manner in which coordination is perceived by both the users and developers of the aforementioned applications. In the first paper, we address scalability in virtual environments. Virtual environments are software systems in which users interact with each other in realtime within some shared environment. Current virtual environments, however, are unable to support a large number active users. The scalability problems arise in part because of the need to maintain consistency between all the players. In this paper, we propose a protocol that actively replicates actions, and show that replicating actions, as opposed to techniques that replicate data, allows for highly scalable virtual environments. We also propose an optimization of the AB-protocol that guarantees minimal execution at client machines. In the second paper, we explore declarative data-driven coordination. We propose Entangled Queries, a novel abstraction for coordination in databases. Entangled Queries provides the user with a simple but powerful declarative method to coordinate with other users. In addition to introducing Entangled Queries, we propose an efficiently enforceable syntactic safety condition that we argue is at the sweet spot of expressiveness and application requirements. In the last paper of this dissertation, we introduce entangled transactions. Entangled Transactions are units of work performed within a database management system against a database. Although such transactions look similar to classical transactions, they do not run in isolation and communicate with each other via entangled queries. In this paper, we look at an abstract model for Entangled Transactions and investigate interesting system issues that arise in their implementation.
Scalability; Entangled; Coordination
Gehrke, Johannes E.
Bloomfield, Robert J.; Myers, Andrew C.
Ph.D. of Computer Science
Doctor of Philosophy
dissertation or thesis