skip to main content
10.1145/3297663.3309666acmconferencesArticle/Chapter ViewAbstractPublication PagesicpeConference Proceedingsconference-collections
research-article

Cachematic - Automatic Invalidation in Application-Level Caching Systems

Published: 04 April 2019 Publication History

Abstract

Caching is a common method for improving the performance of modern web applications. Due to the varying architecture of web applications, and the lack of a standardized approach to cache management, ad-hoc solutions are common. These solutions tend to be hard to maintain as a code base grows, and are a common source of bugs. We present Cachematic, a general purpose application-level caching system with an au- tomatic cache management strategy. Cachematic provides a simple programming model, allowing developers to explic- itly denote a function as cacheable. The result of a cacheable function will transparently be cached without the developer having to worry about cache management. We present algo- rithms that automatically handle cache management, han- dling the cache dependency tree, and cache invalidation. Our experiments showed that the deployment of Cachematic decreased response time for read requests, compared to a manual cache management strategy for a representative case study conducted in collaboration with Bison, an US-based business intelligence company. We also found that, com- pared to the manual strategy, the cache hit rate was in- creased with a factor of around 1.64x. However, we observe a significant increase in response time for write requests. We conclude that automatic cache management as implemented in Cachematic is attractive for read-domminant use cases, but the substantial write overhead in our current proof-of- concept implementation represents a challenge.

References

[1]
S. Alici, I. S. Altingovde, R. Ozcan, B. B. Cambazoglu, and Ö. Ulusoy. Adaptive Time-to-Live Strategies for Query Result Caching in Web Search Engines. In R. Baeza-Yates, A. P. de Vries, H. Zaragoza, B. B. Cambazoglu, V. Murdock, R. Lempel, and F. Silvestri, editors, Advances in Information Retrieval, pages 401--412, Berlin, Heidelberg, 2012. Springer Berlin Heidelberg.
[2]
C. Amza, G. Soundararajan, and E. Cecchet. Transparent Caching with Strong Consistency in Dynamic Content Web Sites. In Proceedings of the 19th Annual International Conference on Supercomputing, ICS '05, pages 264--273, New York, NY, USA, 2005. ACM.
[3]
C. Bornhövd, M. Altinel, C. Mohan, H. Pirahesh, and B. Reinwald. Adaptive Database Caching with DBCache. IEEE Data Eng. Bull., 27(2):11--18, 2004.
[4]
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 the 7th ACM/IFIP/USENIX International Conference on Middleware, Middleware'06, pages 1--21, Berlin, Heidelberg, 2006. Springer-Verlag.
[5]
K. S. Candan, W.-S. Li, Q. Luo, W.-P. Hsiung, and D. Agrawal. Enabling Dynamic Content Caching for Database-driven Web Sites. In Proceedings of the 2001 ACM SIGMOD International Conference on Management of Data, SIGMOD '01, pages 532--543, New York, NY, USA, 2001. ACM.
[6]
J. Challenger, A. Iyengar, and P. Dantzig. A Scalable System for Consistently Caching Dynamic Web Data. In INFOCOM '99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, volume 1, pages 294--303 vol.1, Mar 1999.
[7]
H. Chen, C. Cutler, T. Kim, Y. Mao, X. Wang, N. Zeldovich, and M. F. Kaashoek. Security Bugs in Embedded Interpreters. In Proceedings of the 4th Asia-Pacific Workshop on Systems, APSys '13, pages 17:1--17:7, New York, NY, USA, 2013. ACM.
[8]
T. Chiueh and P. Pradhan. High-Performance IP Routing Table Lookup Using CPU Caching. In INFOCOM '99. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, volume 3, pages 1421--1428 vol.3, Mar 1999.
[9]
L. Degenaro, A. Iyengar, I. Lipkind, and I. Rouvellou. A Middleware System Which Intelligently Caches Query Results. In IFIP/ACM International Conference on Distributed Systems Platforms and Open Distributed Processing, pages 24--44. Springer, 2000.
[10]
B. Fitzpatrick. Distributed Caching With Memcached. Linux Journal, 2004(124):5, 2004.
[11]
P. Gupta, N. Zeldovich, and S. Madden. A Trigger-based Middleware Cache for ORMs. In Proceedings of the 12th ACM/IFIP/USENIX International Conference on Middleware, Middleware'11, pages 329--349, Berlin, Heidelberg, 2011. Springer-Verlag.
[12]
V. Holmqvist and J. Nilsfors. Cachematic -- Automatic Invalidation in Application-Level Caching Systems. Technical report, Chalmers University of Technology, 2018.
[13]
H. Krawczyk, R. Canetti, and M. Bellare. Hmac: Keyed-hashing for message authentication. 1997.
[14]
C. Laaber, J. Scheuner, and P. Leitner. Performance Testing in the Cloud. How Bad is it Really? Empirical Software Engineering, 2019. To appear.
[15]
P. Leitner and J. Cito. Patterns in the Chaos - A Study of Performance Variation and Predictability in Public IaaS Clouds. ACM Trans. Internet Technol., 16(3):15:1--15:23, Apr. 2016.
[16]
C. V. Manikandan, P. Manimozhi, B. Suganyadevi, K. Radhika, and M. Asha. Efficient Load Reduction and Congession Control in Internet Through Multilevel Border Gateway Proxy Caching. In 2010 IEEE International Conference on Computational Intelligence and Computing Research, pages 1--4, Dec 2010.
[17]
J. Mertz and I. Nunes. A Qualitative Study of Application-Level Caching. IEEE Transactions on Software Engineering, 43(9): 798--816, Sept 2017.
[18]
R. Nishtala, H. Fugal, S. Grimm, M. Kwiatkowski, H. Lee, H. C. Li, R. McElroy, M. Paleczny, D. Peek, P. Saab, D. Stafford, T. Tung, and V. Venkataramani. Scaling Memcache at Facebook. In Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation, nsdi'13, pages 385--398, Berkeley, CA, USA, 2013. USENIX Association.
[19]
S. Podlipnig and L. Böszörmenyi. A survey of web cache replacement strategies. ACM Comput. Surv., 35(4):374--398, Dec. 2003.
[20]
D. R. K. Ports, A. T. Clements, I. Zhang, S. Madden, and B. Liskov. Transactional Consistency and Automatic Management in an Application Data Cache. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, OSDI'10, pages 279--292, Berkeley, CA, USA, 2010. USENIX Association.
[21]
X. Qin and X. Zhou. DB Facade: A Web Cache with Improved Data Freshness. In 2009 Second International Symposium on Electronic Commerce and Security, volume 2, pages 483--487, May 2009.
[22]
P. Rodriguez, C. Spanner, and E. W. Biersack. Analysis of Web Caching Architectures: Hierarchical and Distributed Caching. IEEE/ACM Trans. Netw., 9(4):404--418, Aug. 2001.
[23]
Z. Scully and A. Chlipala. A Program Optimization for Automatic Database Result Caching. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2017, pages 271--284, New York, NY, USA, 2017. ACM.
[24]
S. Sivasubramanian, G. Pierre, M. Van Steen, and G. Alonso. Analysis of Caching and Replication Strategies for Web Applications. IEEE Internet Computing, 11(1), 2007.
[25]
J. Wang. A Survey of Web Caching Schemes for the Internet. SIGCOMM Comput. Commun. Rev., 29(5):36--46, Oct. 1999.
[26]
N. Zaidenberg, L. Gavish, and Y. Meir. New Caching Algorithms Performance Evaluation. In Proceedings of the International Symposium on Performance Evaluation of Computer and Telecommunication Systems, Spects '15, pages 1--7, San Diego, CA, USA, 2015. Society for Computer Simulation International.

Cited By

View all
  • (2020)Caching strategy for Web application – a systematic literature reviewInternational Journal of Web Information Systems10.1108/IJWIS-06-2020-003216:5(545-569)Online publication date: 5-Oct-2020

Index Terms

  1. Cachematic - Automatic Invalidation in Application-Level Caching Systems

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICPE '19: Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering
    April 2019
    348 pages
    ISBN:9781450362399
    DOI:10.1145/3297663
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 04 April 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. caching
    2. performance engineering
    3. software engineering
    4. web applications

    Qualifiers

    • Research-article

    Conference

    ICPE '19

    Acceptance Rates

    ICPE '19 Paper Acceptance Rate 13 of 71 submissions, 18%;
    Overall Acceptance Rate 252 of 851 submissions, 30%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 17 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Caching strategy for Web application – a systematic literature reviewInternational Journal of Web Information Systems10.1108/IJWIS-06-2020-003216:5(545-569)Online publication date: 5-Oct-2020

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media