The VLDB Journal

, Volume 20, Issue 6, pp 841–865 | Cite as

Elastic SI-Cache: consistent and scalable caching in multi-tier architectures

  • Francisco Perez-Sorrosal
  • Marta Patiño-Martinez
  • Ricardo Jimenez-Peris
  • Bettina Kemme
Regular Paper

Abstract

The new vision of cloud computing demands scalable, available and autonomic software platforms in order to deploy applications and services accessible anywhere and anytime. Multi-tier architectures are an important building block for many applications that are deployed in the cloud. This paper presents a novel caching and replication infrastructure that facilitates the scalable and elastic deployment of multi-tier architectures. Our Elastic SI-Cache is a novel multi-version cache that attains high performance and consistency in multi-tier systems. In contrast to most existing caches, Elastic SI-Cache provides snapshot isolation coherently across all tiers. Furthermore, Elastic SI-Cache supports scalable replication of the different tiers where replicas can be added or removed dynamically as needed, making the cache amenable for cloud computing environments. Elastic SI-Cache has been implemented and integrated into an open source JEE application server and its performance evaluated with the industrial benchmark SPECjAppServer.

Keywords

Scalability Replication Elastic computing Provisioning Multi-version caching Snapshot isolation Fault-tolerance 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Adya, A.: Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. PhD thesis, M.I.T. Lab. for C.S., Cambridge, MA. http://www.pmg.lcs.mit.edu/~adya/pubs/phd.pdf (1999)
  2. 2.
  3. 3.
    Attar M.H.S., Özsu M.T.: Alternative architectures and protocols for providing strong consistency in dynamic web applications. World Wide Web Journal 9(3), 215–251 (2006)CrossRefGoogle Scholar
  4. 4.
    Ban, B.: JGroups http://www.jgroups.org
  5. 5.
    Barga R.S., Lomet D.B., Shegalov G., Weikum G.: Recovery guarantees for internet applications. ACM Trans. Inter. Technol. 4(3), 289–328 (2004)CrossRefGoogle Scholar
  6. 6.
    Barga, R.S., Lomet, D.B., Weikum, G.: Recovery guarantees for general multi-tier applications. In: International Conference on Data Engineering (ICDE), pp 543–554 (2002)Google Scholar
  7. 7.
    Berenson, H. et al.: A critique of ANSI SQL isolation levels. In: International Conference on Management of Data (SIGMOD) (1995)Google Scholar
  8. 8.
    Bernstein, P.A. et al.: Relaxed-currency serializability for middle-tier caching and replication. In: International Conference on Management of Data (SIGMOD), pp. 599–610 (2006)Google Scholar
  9. 9.
    Buzato, L.E., Vieira, G.M.D., Zwaenepoel, W.: Dynamic content web applications: crash, failover, and recovery analysis. In: International Conference on Dependable Systems and Networks (DSN) (2009)Google Scholar
  10. 10.
    Chockler G., Keidar I., Vitenberg R.: Group communication specifications: a comprehensive study. ACM Comput. Surv. 33(4), 427–469 (2001)CrossRefGoogle Scholar
  11. 11.
    Frølund, S., Guerraoui, R.: A pragmatic implementation of E-transactions. In: International Symposium on Reliable Distributed Systems (SRDS) (2000)Google Scholar
  12. 12.
    Frølund, S., Guerraoui, R.: X-ability: a theory of replication. In: Symposium on Principle of Distributed Computing (PODC)Google Scholar
  13. 13.
  14. 14.
    Jiménez-Peris, R., Patiño-Martínez, M., Alonso, G.: Non-intrusive, parallel recovery of replicated data. In: International Symposium on Reliable Distributed Systems (SRDS) (2002)Google Scholar
  15. 15.
    Jiménez-Peris R., Patiño-Martínez M., Alonso G., Kemme B.: Are quorums an alternative for data replication?. ACM Trans. Database Syst. 28(3), 257–294 (2003)CrossRefGoogle Scholar
  16. 16.
    Kemme, B., Bartoli, A., Babaoglu, Ö.: Online reconfiguration in replicated databases based on group communication. In: International Conference on Dependable Systems and Networks (DSN), pp. 117–130 (2001)Google Scholar
  17. 17.
    Kemme, B., Jiménez-Peris, R., Patiño-Martínez, M., Salas, J.: Exactly once interaction in a multi-tier architecture. In: VLDB Workshop on Design, Implementation and Deployment of Database Replication (2005)Google Scholar
  18. 18.
    Lau, E., Madden, S.: An integrated approach to recovery and high availability in an updatable, distributed data warehouse. In: International Conference on Very Large Data Bases (VLDB) (2006)Google Scholar
  19. 19.
    Leff, A., Rayfield, J.T.: Improving application throughput with enterprise javaBeans caching. In: International Conference on Distributed Computing Systems (ICDCS) (2003)Google Scholar
  20. 20.
    Liang, W., Kemme, B.: Online recovery in cluster databases. In: International Conference on Extending Database Technology (EDBT) (2008)Google Scholar
  21. 21.
    Lin Y., Kemme B., Jiménez-Peris R., Patiño-Martínez M., Armendáriz-Iñigo J.E.: Snapshot isolation and integrity constraints in replicated databases. ACM Trans. Database Syst. 34(2), 1–49 (2009)CrossRefGoogle Scholar
  22. 22.
    Lin, Y., Kemme, B., Patiño-Martínez, M., Jiménez-Peris, R.: Middleware based data replication providing snapshot isolation. In: International Conference on Management of Data (SIGMOD), pp. 419–430. ACM Press, New york (2005)Google Scholar
  23. 23.
    Luo, Q. et al.: Middle-tier database caching for e-business. In: International Conference on Management of Data (SIGMOD), pp. 600–611 (2002)Google Scholar
  24. 24.
    Microsoft Corporation: Phoenix: Making Applications Robust. http://research.microsoft.com/en-us/projects/phoenix-ap/default.aspx
  25. 25.
    Narasimhan, P., Moser, L.E., Melliar-Smith, P.M.: State synchronization and recovery for strongly consistent replicated CORBA objects. In: International Conference on Dependable Systems and Networks (DSN) (2001)Google Scholar
  26. 26.
    Narasimhan P., Moser L.E., Melliar-Smith P.M.: Eternal—a component-based framework for transparent fault-tolerant CORBA. Softw. Pract. Exp. 32(8), 771–788 (2002)MATHCrossRefGoogle Scholar
  27. 27.
    Objectweb Consortium: JOnAS Application Server. http://jonas.objectweb.org
  28. 28.
    Oracle/BEA Corporation: Oracle/WebLogic Application Server. http://www.oracle.com/us/products/middleware/application-server/index.htm
  29. 29.
  30. 30.
    Perez-Sorrosal, F., Patiño-Martínez, M., Jiménez-Peris, R., Kemme, B.: Consistent and scalable cache replication for multi-tier J2EE applications. In: ACM/IFIP/USENIX International Middleware Conference, pp. 328–347 (2007)Google Scholar
  31. 31.
    Perez-Sorrosal, F., Patiño-Martínez, M., Jiménez-Peris, R., Vuckovic, J.: Highly available long running transactions and activities for J2EE applications. In: International Conference on Distributed Computing Systems (ICDCS) (2006)Google Scholar
  32. 32.
    Plattner, C., Alonso, G., Tamer Özsu, M.: Dbfarm: a scalable cluster for multiple databases. In: Middleware, pp. 180–200 (2006)Google Scholar
  33. 33.
    Ports, D.R.K. et al.: Transactional consistency and automatic management in an application data cache. In: USENIX Symposium on Operating Systems Design and Implementation (OSDI) (2010)Google Scholar
  34. 34.
    PostgreSQL DBMS: http://www.postgresql.org
  35. 35.
    Red Hat: JBoss Application Server. http://www.jboss.com
  36. 36.
    Red Hat: JBoss Cache. http://labs.jboss.com/jbosscache/
  37. 37.
    Salas, J., Jiménez-Peris R., Patiño-Martínez M., Kemme, B.: Lightweight Reflection for Middleware-based Database Replication. In: International symposium on reliable distributed systems (SRDS), pp. 377–390 (2006)Google Scholar
  38. 38.
    Soundararajan, G., Amza, C., Goel, A.: Database replication policies for dynamic content applications. In: EuroSys, pp. 89–102 (2006)Google Scholar
  39. 39.
    SPEC: SPECjAppServer Benchmark. http://www.spec.org/jAppServer/ (2004)
  40. 40.
    Sun Microsystems: JEE specification v5. http://java.sun.com/javaee/ (2006)
  41. 41.
    Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Los Altos (2001)Google Scholar
  42. 42.
    Wu, H., Kemme, B.: Fault-tolerance for stateful application servers in the presence of advanced transactions patterns. In: International Symposium on Reliable Distributed Systems (SRDS) (2005)Google Scholar
  43. 43.
    Wu, H., Kemme, B.: Showing correctness of a replication algorithm in a component based system. In: IDEAS (2008)Google Scholar
  44. 44.
    Zhao W., Moser L.E., Melliar-Smith P.M.: Unification of transactions and replication in three-tier architectures based on CORBA. IEEE Trans. Dep. Secur. Comput. 2(1), 20–33 (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Francisco Perez-Sorrosal
    • 1
  • Marta Patiño-Martinez
    • 1
  • Ricardo Jimenez-Peris
    • 1
  • Bettina Kemme
    • 2
  1. 1.Facultad de InformáticaUniversidad Politécnica de MadridMadridSpain
  2. 2.McGill UniversityMontrealCanada

Personalised recommendations