ACM Transactions on Computer Systems (TOCS)
Implementing recoverable requests using queues
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
ACM Transactions on Database Systems (TODS)
Efficient transparent application recovery in client-server information systems
SIGMOD '98 Proceedings of the 1998 ACM SIGMOD international conference on Management of data
A survey of rollback-recovery protocols in message-passing systems
ACM Computing Surveys (CSUR)
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
Message logging: pessimistic, optimistic, and causal
ICDCS '95 Proceedings of the 15th International Conference on Distributed Computing Systems
Log-based recovery for middleware servers
Proceedings of the 2007 ACM SIGMOD international conference on Management of data
Kernel support for zero-loss Internet service restart
Software—Practice & Experience
Dependability, Abstraction, and Programming
DASFAA '09 Proceedings of the 14th International Conference on Database Systems for Advanced Applications
FlashLogging: exploiting flash devices for synchronous logging performance
Proceedings of the 2009 ACM SIGMOD International Conference on Management of data
Schedulable online testing framework for real-time embedded applications in VM
EUC'07 Proceedings of the 2007 international conference on Embedded and ubiquitous computing
Log-based middleware server recovery with transaction support
The VLDB Journal — The International Journal on Very Large Data Bases
Robust web services via interaction contracts
TES'04 Proceedings of the 5th international conference on Technologies for E-Services
Hi-index | 0.00 |
Phoenix/App supports software components whosestates are made persistent across a system crash via redorecovery, replaying logged interactions. Our initialprototype force logged all request/reply events resultingfrom inter-component method calls and returns. Thispaper describes an enhanced prototype that implements:(i) log optimizations to improve normal executionperformance; and (ii) checkpointing to improve recoveryperformance. Logging is reduced in two ways: (1) weonly log information required to remove non-determinism,and we only force the log when an event"commits" the state of the component to other parts of thesystem; (2) we introduce new component types thatprovide our enhanced system with more information,enabling further reduction in logging. To improverecovery performance, we save the values of the fields ofa component to the log in an application "checkpoint".We describe the system elements that we exploit for theseoptimizations, and characterize the performance gainsthat result.