Exploiting precision vs. efficiency tradeoffs in symmetric replication environments
暂无分享,去创建一个
1. In troduct ion In this paper, we address (1) numerical data that are replicated and updated at multiple network locations (which we refer to as symmetric replication); (2) environments where maintaining strict data consistency is prohibitive due to large system scale, high volume of updates, or communication restrictions; and (3) applications that can tolerate bounded imprecision in the data they observe. Wide-area network management, on-line commodity distribution, load balancing, resource monitoring, etc., demonstrate these characteristics. This paper describes the key features of ReBound, a system that uses efficient distributed precision control to support and exploit data precision vs. efficiency tradeoffs in symmetric replication environments. ReBound enables clients to specify read requests tagged with custom precision bounds, which are satisfied cooperatively by the servers. ReBound supports two types of reads. Continuous reads require that the data cached by the clients always meet the specified precision constraints. This is accomplished by a push-based approach where the servers refresh client caches with new updates as necessary. Ad-hoc reads, on the other hand, have one-time semantics and are realized using a pull-based approach where the clients pull the new updates from the servers. Most previous work studied precision bounding in asymmetric replication (e.g., master-copy) environments. Early work that addressed symmetric replication environments commonly addressed general distributed constraint maintenance and employed expensive mechanisms that are impractical for the types of applications and environments we target. Recently Yu and Vahdat [2] described a practical precision control algorithm for replicated network services. Yu's algorithm basically works by partitioning the clientspecified precision bounds across the servers in the system. Each server then efficiently bounds imprecision by limiting the updates that it commits and that are yet unknown (i.e., not yet propagated) to the clients. Upon receiving an update, a server checks local criteria to decide whether the commitment of the update violates its partition of the precision bound (i.e., its local bound). If the criteria are met, the server commits the update locally. Otherwise, the server performs synchronization and pushes the unknown updates to the proper clients. ReBound generalizes and extends previous work with a new algorithm for continuous reads, support for ad-hoc reads, and a practical, light-weight adaptation mechanism for coping with dynamically changing update load. In the next section, we discuss these features in more detail.
[1] Amin Vahdat,et al. Efficient Numerical Error Bounding for Replicated Network Services , 2000, VLDB.
[2] Ugur Çetintemel,et al. Support for speculative update propagation and mobility in Deno , 2001, Proceedings 21st International Conference on Distributed Computing Systems.