Principal Investigator: Krithi Ramamritham
Dept. of Computer Science
University of Massachusetts
Amherst, MA 01003-4610
Phone: (413) 545-0196
FAX: (413) 545-1249
e-mail: krithi@cs.umass.edu
URL: http://www-ccs.cs.umass.edu/krithi
Transaction processing, recovery protocols, advanced transaction models, performance.
Concurrency control and recovery are essential components of transaction systems. Whereas much research has gone into concurrency control, recovery has remained limited to mostly implementation-specific knowledge. This is undesirable for technical and economic reasons: lack of a model of recovery precludes meaningful comparisons between alternatives, in terms of their cost and functionality, and forces the reinvention of basic abstractions and the adoption of ad-hoc approaches. Motivated by these inadequacies and by the need to support recovery for areas such as information retrieval, workflows, and mobile computing, this project is:
All of these facilitate the adjustment of recovery to changing infrastructure support and application requirements.
Our goal is to develop a framework to explain and formalize the essentials of recovery in a variety of scenarios. Our framework formalizes the notions of failures and persistence in the face of failures, dealing uniformly with the various means of achieving failure atomicity, both in the level of protocols (algorithms) and the level of mechanisms provided by the infrastructure (e.g., disks, remote nodes, etc.). A contribution of our formalism lies in intermediate abstractions that allow us to discourse about recovery at an interesting middle-level, more detailed than just failure atomicity and durability but more general than the specific policies of, say, log-flushing. It is at this level that it becomes meaningful to distinguish between different implementations of the same ideas/protocols; for example, we distinguish between an ARIES implementation for a centralized database and one for a Client-server architecture. By formalizing recovery we obtain insights on what are the essentials that repeat across solutions, allowing us to compare existing alternatives and design new ones. Finally, we gain the ability to consider alternative semantics of recovery, which take different application needs and different infrastructure services into account. We are currently studying how to apply our insights into recovery to non-traditional database applications, integrating them with other work done in the context of workflows. This recovery problem offers some challenges we set out to address with our research: composability of recovery properties and mechanisms, and alternative semantics for transactions and their recovery.
Our efforts have begun to provide a better understanding of (a) the ingredients of recovery, (b) high-level recovery requirements, (c) ways to achieve them, and (d) the tradeoffs in the choice of recovery protocols. With a good model of recovery, we are trying to better assess the efficacy of recovery methods. This should move recovery from difficult art to better-understood science, where crafting recovery is a still complex but fairly well understood and predictable activity. One indication of success will be the applicability of the building blocks identified so far to different transaction processing platforms on the one hand and to different applications on the other. This attempt to demonstrate applicability will also help us fine-tune the protocols, policies and mechanisms.
Three Ph.D. students, Mohan Kamath, Cris Pedregal-Martin, and Lory Molesky have been involved the current work or in work leading to this work. Part of their research assistantship support came from NSF. Lory Molesky (currently at Oracle Corporation) defended his Ph.D. thesis in summer '96; Mohan Kamath (also at Oracle Corporation) completed his Ph.D. thesis in May '98; Cris Pedregal-Martin and Ming Xiong are two students involved in the work now.
Based on the perspective gained from our work on advanced (semantics-based) transaction processing for a number of years, we have developed a comprehensive text on the topic that was published by IEEE Press. Feedback from various institutions indicates that this book is a very useful tool for both graduate students and researchers.
The ACTA transaction framework and its linguistic counterpart ASSET (developed in collaboration with Bell Laboratories) were products of NSF support for our work. They provide building blocks and language primitives to construct advanced transaction models and have been serving as yardsticks for the providers of transaction moleding support.
Recovery is needed to ensure consistency and correctness under failures, logical as well as physical. Although recovery is a central component of transaction processing systems, it lacks the solid theoretical foundation enjoyed by the other principal TP component, concurrency control. We lack adequate conceptual tools and a framework to properly understand and describe recovery and its interactions with other system components. The need for these tools becomes more obvious when we examine the recovery needs of current transaction processing systems and applications that make use of transactions: we need flexible ways to ensure recoverability of atomic (or stand-alone) transactions as well as transactional steps in long-running computations. These call for ``opening up'' the recovery system and approaching the provision of recovery methodically. These form the motivations for this work.