|Home \ Graduation Activities \ Post-Graduation Page||Login|
Strongly Consistent Transactions for Enterprise Applications
The trend in the development of enterprise applications has been to relax the consistency guarantees provided by the transactional middleware, with the goal of improving the resulting systems’ scalability and performance. Such decision, however, poses new challenges to software developers: They must now take into account this weaker semantics when programming application logic, which typically leads to additional, nontrivial and error-prone development effort, to cope with possible inconsistencies produced by concurrent executions. In this dissertation, I propose a new middleware design that provides transactions with strong consistency and, at the same time, improves the performance of the typical read-dominated workloads observed in enterprise applications. This design is based on seam- lessly shifting transaction control from the database into the application code. It does so using Software Transactional Memory to ensure strong consistency, and then extending the STM with additional capabilities to handle persistent data and to operate in a clustered environment. I present two complementary middleware implementations based on the same principle: First, a simpler lock-based alternative—best suited for single-node applications— and then a nonblocking alternative based on the first entirely lock-free multi-version STM, which is also proposed in this dissertation. The experimental results obtained with the implementations of this middleware confirm that its design consistently improves the performance of the typical workloads—by as much as a hundredfold in some configurations—while executing strongly consistent transactions.
Post-Graduation Student / Researcher / Professor: