|
ABSTRACT
We present a memory-aware load balancing (MALB) technique to dispatch transactions to replicas in a replicated database. Our MALB algorithm exploits knowledge of the working sets of transactions to assign them to replicas in such a way that they execute in main memory, thereby reducing disk I/O. In support of MALB, we introduce a method to estimate the size and the contents of transaction working sets. We also present an optimization called update filtering that reduces the overhead of update propagation between replicas. We show that MALB greatly improves performance over other load balancing techniques -- such as round robin, least connections, and locality-aware request distribution (LARD) -- that do not use explicit information on how transactions use memory. In particular, LARD demonstrates good performance for read-only static content Web workloads, but it gives performance inferior to MALB for database workloads as it does not efficiently handle large requests. MALB combined with update filtering further boosts performance over LARD. We build a prototype replicated system, called Tashkent+, with which we demonstrate that MALB and update filtering techniques improve performance of the TPC-W and RUBiS benchmarks. In particular, in a 16-replica cluster and using the ordering mix of TPC-W, MALB doubles the throughput over least connections and improves throughput 52% over LARD. MALB with update filtering further improves throughput to triple that of least connections and more than double that of LARD. Our techniques exhibit super-linear speedup; the throughput of the 16-replica cluster is 37 times the peak throughput of a standalone database due to better use of the cluster's memory.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
{ACZ03-2} C. Amza, A. Cox, and W. Zwaenepoel. Distributed Versioning: Consistent Replication for Scaling Back-end Databases of Dynamic Content Web Sites. In ACM/IFIP/Usenix International Middleware Conference, June 2003.
|
| |
3
|
{ACC+02} C. Amza, E. Cecchet, A. Chanda, Alan L. Cox, S. Elnikety, R. Gil, J. Marguerite, K. Rajamani and W. Zwaenepoel. Specification and Implementation of Dynamic Web Site Benchmarks. WWC-5: The 5th Annual IEEE Workshop on Workload Characterization, Austin, Texas, USA, November 2002.
|
| |
4
|
{BB97} A. Barak and A. Braverman. Memory Ushering in a Scalable Computing Cluster, In Proceedings of the IEEE Third International Conference on Algorithms and Architecture for Parallel Processing, Melbourne, 1997.
|
 |
5
|
Hal Berenson , Phil Bernstein , Jim Gray , Jim Melton , Elizabeth O'Neil , Patrick O'Neil, A critique of ANSI SQL isolation levels, Proceedings of the 1995 ACM SIGMOD international conference on Management of data, p.1-10, May 22-25, 1995, San Jose, California, United States
|
| |
6
|
{BCD+06} S. Bouchenak, A. Cox, S. Dropsho, S. Mittal, and W. Zwaenepoel. Caching Dynamic Web Content: Designing and Analysing an Aspect-oriented Solution. In Proceedings of Middleware 2006, Melbourne, Australia, November 2006.
|
| |
7
|
|
| |
8
|
|
| |
9
|
{CS04} S. Kyun Cha and C. Song. P*TIME: Highly Scalable OLTP DBMS for Managing Update-Intensive Stream Workload. In Proceedings of 30<sup>nd</sup> International Conference on Very Large Data Bases (VLDB 2004), Toronto, Canada, August 2004.
|
| |
10
|
|
| |
11
|
|
 |
12
|
|
 |
13
|
Sameh Elnikety , Erich Nahum , John Tracey , Willy Zwaenepoel, A method for transparent admission control and request scheduling in e-commerce web sites, Proceedings of the 13th international conference on World Wide Web, May 17-20, 2004, New York, NY, USA
[doi> 10.1145/988672.988710]
|
| |
14
|
|
 |
15
|
|
| |
16
|
{F1-99} A. Fekete. Serialisability and Snapshot Isolation. In Proceedings of the Australian Database Conference, pages 201--210, Auckland, New Zealand, January 1999.
|
| |
17
|
|
| |
18
|
{FLO+96} A. Fekete, D. Liarokapis, E. O'Neil, P. O'Neil, and D. Shasha. Making Snapshot Isolation Serializable. In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data, pages 173--182, June 1996.
|
 |
19
|
Lei Gao , Mike Dahlin , Amol Nayate , Jiandan Zheng , Arun Iyengar, Application specific data replication for edge services, Proceedings of the 12th international conference on World Wide Web, May 20-24, 2003, Budapest, Hungary
[doi> 10.1145/775152.775217]
|
 |
20
|
Jim Gray , Pat Helland , Patrick O'Neil , Dennis Shasha, The dangers of replication and a solution, Proceedings of the 1996 ACM SIGMOD international conference on Management of data, p.173-182, June 04-06, 1996, Montreal, Quebec, Canada
|
 |
21
|
Taliver Heath , Ana Paula Centeno , Pradeep George , Luiz Ramos , Yogesh Jaluria, Mercury and freon: temperature emulation and management for server systems, Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, October 21-25, 2006, San Jose, California, USA
|
| |
22
|
{J95} K. Jacobs. Concurrency Control, Transaction Isolation and Serializability in SQL92 and Oracle7. Technical report number A33745, Oracle Corporation, Redwoord City, CA, July 1995.
|
| |
23
|
|
| |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
{L99} A. Lodi. Algorithms for Two-Dimensional Bin Packing and Assignment Problems. PhD thesis. Uiversita Degli Studi di Bologna. 1999.
|
 |
28
|
|
| |
29
|
{OW} ObjectWeb Consortium. Rice University bidding system. http://rubis.objectweb.org/.
|
| |
30
|
{Ora97} Data Concurrency and Consistency, Oracle8 Concepts, Release 8.0: Chapter 23. Technical report, Oracle Corporation, 1997.
|
| |
31
|
|
| |
32
|
|
 |
33
|
Vivek S. Pai , Mohit Aron , Gaurov Banga , Michael Svendsen , Peter Druschel , Willy Zwaenepoel , Erich Nahum, Locality-aware request distribution in cluster-based network servers, Proceedings of the eighth international conference on Architectural support for programming languages and operating systems, p.205-216, October 02-07, 1998, San Jose, California, United States
|
| |
34
|
{PG} PostgreSQL, SQL Compliant, Open Source Object-Relational Database Management System. http://www.postgresql.org/.
|
 |
35
|
|
 |
36
|
|
| |
37
|
|
| |
38
|
{RT04} M. Ronström and L. Thalmann. MySQL Cluster Architecture Overview. MySQL Technical White Paper, 2004.
|
 |
39
|
|
| |
40
|
{TPC} Transaction Processing Performance Council -- http://www.tpc.org/.
|
| |
41
|
|
| |
42
|
|
| |
43
|
Xiaolan Zhang , Michael Barrientos , J. Bradley Chen , Margo Seltzer, HACC: an architecture for cluster-based web servers, Proceedings of the 3rd conference on USENIX Windows NT Symposium, p.16-16, July 12-15, 1999, Seattle, Washington
|
| |
44
|
{ZP06} V. Zuikeviciute and F. Pedone. Conflict-Aware Load-Balancing Techniques for Database Replication. USI Technical Report, 2006.
|
|