Article ID: | iaor20112597 |
Volume: | 184 |
Issue: | 1 |
Start Page Number: | 273 |
End Page Number: | 294 |
Publication Date: | Apr 2011 |
Journal: | Annals of Operations Research |
Authors: | Michel L, Shvartsman A, Sonderegger E, Hentenryck P |
Keywords: | programming: integer, programming: constraints |
Providing consistent and fault‐tolerant distributed object services is among the fundamental problems in distributed computing. To achieve fault‐tolerance and to increase throughput, objects are replicated at different networked nodes. However, replication induces significant communication costs to maintain replica consistency. Eventually‐Serializable Data Service (ESDS) has been proposed to reduce these costs and enable fast operations on data, while still providing guarantees that the replicated data will eventually be consistent. This paper reconsiders the deployment phase of ESDS, in which a particular implementation of communicating software components must be mapped onto a physical architecture. This deployment aims at minimizing the overall communication costs, while satisfying the constraints imposed by the protocol. Both MIP (Mixed Integer Programming) and CP (Constraint Programming) models are presented and applied to realistic ESDS instances. The experimental results indicate that both models can find optimal solutions and prove optimality. The CP model, however, provides orders of magnitude improvements in efficiency. The limitations of the MIP model and the critical aspects of the CP model are discussed. Symmetry breaking and parallel computing are also shown to bring significant benefits.