Many current applications have stringent scalability and availability requirements. Scalability means the ability to grow the system in order to cope with increasing service demand. Availability translates into applications that continue providing their service despite hardware and software failures. Scalability and availability can be achieved through data and component redundancy. Intuitively, multiple replicas can serve requests in parallel and give the illusion of an always-up service. Accommodating scalability and availability under strong consistency, however, has been a challenge to the research community for many years.
The goal of Swift-WAN2 is to reconcile availability with scalability in data centers (i.e., clustered systems composed of tens to hundreds of interconnected servers). Since application state is typically stored inside a database, data redundancy is provided by database replication. The project explores two aspects: (i) partial replication and (ii) the speci?cities of the hardware infrastructure (i.e., ip multicast). Partial replication reduces the coupling between replicas while still allowing strong data consistency guarantees. With partial replication, replicas store only a subset of the application data; data items that are highly correlated (i.e., often accessed together) are stored on the same subset of replicas. Disjoint parts of the workload can thus be processed in parallel to o?er more scalability.