Github Proposal Milestone Report Poster

Inserting Caches using Compiler Passes to Optimize RPCs between Microservices

Team: Adarsh Sreedhar, Bhakti Chaudhari

Literature Survey

Ziv Scully, Adam Chlipala. A Program Optimization for Automatic Database Result Caching. Proceedings of the 44th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'17). January 2017.
Work on adding compiler optimzations to cache SQL query results automatically to web applications without modifying the source code can give us sound ideas on how to create caches with concurrent access. Their work shown on many microbenchmarks promised a double or even higher increase in throughput, all with an extra argument passed to the compiler.
A. Manjhi et al., "Invalidation Clues for Database Scalability Services," 2007 IEEE 23rd International Conference on Data Engineering, 2007, pp. 316-325, doi: 10.1109/ICDE.2007.367877.
Work on Database Scalability Services, which caches application’s query results and answers queries on their behalf, also includes several aspects to consider when thinking about the possible scenarios where cache invalidation or staleness of data is a concern, while also encrypting the data for privacy reasons.
Charles Garrod, Amit Manjhi, Anastasia Ailamaki, Bruce Maggs, Todd Mowry, Christopher Olston, and Anthony Tomasic. 2008. Scalable query result caching for web applications. Proc. VLDB Endow. 1, 1 (August 2008), 550–561. DOI:https://doi.org/10.14778/1453856.1453917
Work on building a distributed cache can also give us insights on how to maintain coherency across the local caches of different microservices. The publish-subscribe system used in the Ferdinand Architecture is a viable design to borrow ideas from.

Timeline

Phase Timeline Progress
March 14th-20th Literature Survey Done
March 21st-27th Soot Logistics Done
March 28th-April 4th Writing a Simple Pass in Soot Done
April 5th-12th Apply on Microservice and Test Performance Done
April 13th-20th (Hope to Achieve) Develop Simple Cache Coherence Protocol Not Done
April 21st-28th Collect Results and Frame Report/Poster Done