Quicksilver
Summary
Intro
Quicksilver tries to make recovery a first-class citizen in the OS.
IPC Fundamentals to System Services
IPC happens via a service queue
- Multiple servers can wait on service queue by calling
offer
Building Distributed IPC and Transactions
Transaction => secret sauce for recovery management
- Lightweight version
- Non-ACID
Creator of transaction is default owner
Transaaction Management
Coordinator can be different from owner
Distributed Transaction
Commit initiated by coordinator
Upshot of bundling IPC and Recovery
Reclaim resources
- breadcrumbs left behind by failed clients/services
No extra mechanisms for recovery
- Only mechanism is in OS
- Policy up to each service
- Low overhead for simple services
- Weighty mechanisms for services such as FS
Implementation Notes
Log Maintenance
- Transaction Managers (TMs) write log records for recovering persistent state
- Frequency of “log force” implies performance
- Services have to choose mechanisms commensurate with their recovery requirements