{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T12:00:50Z","timestamp":1775822450440,"version":"3.50.1"},"reference-count":45,"publisher":"MDPI AG","issue":"1","license":[{"start":{"date-parts":[[2020,2,26]],"date-time":"2020-02-26T00:00:00Z","timestamp":1582675200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/100006785","name":"Google","doi-asserted-by":"publisher","award":["Google Faculty Research Award"],"award-info":[{"award-number":["Google Faculty Research Award"]}],"id":[{"id":"10.13039\/100006785","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100008536","name":"Amazon Web Services","doi-asserted-by":"publisher","award":["Cloud Credits for Research"],"award-info":[{"award-number":["Cloud Credits for Research"]}],"id":[{"id":"10.13039\/100008536","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Computers"],"abstract":"<jats:p>The research community has made significant advances towards realizing self-tuning cloud caches; notwithstanding, existing products still require manual expert tuning to maximize performance. Cloud (software) caches are built to swiftly serve requests; thus, avoiding costly functionality additions not directly related to the request-serving control path is critical. We show that serverless computing cloud services can be leveraged to solve the complex optimization problems that arise during self-tuning loops and can be used to optimize cloud caches for free. To illustrate that our approach is feasible and useful, we implement SPREDS (Self-Partitioning REDiS), a modified version of Redis that optimizes memory management in the multi-instance Redis scenario. A cost analysis shows that the serverless computing approach can lead to significant cost savings: The cost of running the controller as a serverless microservice is 0.85% of the cost of the always-on alternative. Through this case study, we make a strong case for implementing the controller of autonomic systems using a serverless computing approach.<\/jats:p>","DOI":"10.3390\/computers9010014","type":"journal-article","created":{"date-parts":[[2020,2,27]],"date-time":"2020-02-27T03:21:16Z","timestamp":1582773676000},"page":"14","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["On Implementing Autonomic Systems with a Serverless Computing Approach: The Case of Self-Partitioning Cloud Caches"],"prefix":"10.3390","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2347-4159","authenticated-orcid":false,"given":"Edwin F.","family":"Boza","sequence":"first","affiliation":[{"name":"Escuela Superior Politecnica del Litoral, Guayaquil EC090112, Ecuador"}]},{"given":"Xavier","family":"Andrade","sequence":"additional","affiliation":[{"name":"Escuela Superior Politecnica del Litoral, Guayaquil EC090112, Ecuador"}]},{"given":"Jorge","family":"Cedeno","sequence":"additional","affiliation":[{"name":"Escuela Superior Politecnica del Litoral, Guayaquil EC090112, Ecuador"}]},{"given":"Jorge","family":"Murillo","sequence":"additional","affiliation":[{"name":"College of Information and Computer Sciences, University of Massachusetts Amherst, Amherst, MA 01003, USA"}]},{"given":"Harold","family":"Aragon","sequence":"additional","affiliation":[{"name":"Escuela Superior Politecnica del Litoral, Guayaquil EC090112, Ecuador"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9263-673X","authenticated-orcid":false,"given":"Cristina L.","family":"Abad","sequence":"additional","affiliation":[{"name":"Escuela Superior Politecnica del Litoral, Guayaquil EC090112, Ecuador"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2486-612X","authenticated-orcid":false,"given":"Andres G.","family":"Abad","sequence":"additional","affiliation":[{"name":"Escuela Superior Politecnica del Litoral, Guayaquil EC090112, Ecuador"}]}],"member":"1968","published-online":{"date-parts":[[2020,2,26]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Abad, C., Abad, A., and Lucio, L. (2017, January 22\u201326). Dynamic memory partitioning for cloud caches with heterogeneous backends. Proceedings of the ACM\/SPEC on International Conference on Performance Engineering (ICPE), L\u2019Aquila, Italy.","DOI":"10.1145\/3030207.3030237"},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Singla, A., Chandrasekaran, B., Godfrey, B., and Maggs, B. (2014, January 27\u201328). The internet at the speed of light. Proceedings of the 13th ACM Workshop on Hot Topics in Networks, Los Angeles, CA, USA.","DOI":"10.1145\/2670518.2673876"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Andrade, X., Cedeno, J., Boza, E., Aragon, H., Abad, C., and Murillo, J. (2019, January 16\u201320). Optimizing Cloud Caches For Free: A Case for Autonomic Systems with a Serverless Computing Approach. Proceedings of the Workshop on Self-Aware Computing (SeAC), Umea, Sweden.","DOI":"10.1109\/FAS-W.2019.00044"},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"665","DOI":"10.1109\/12.144619","article-title":"Improving disk cache hit-ratios through cache partitioning","volume":"41","author":"Stone","year":"1992","journal-title":"IEEE Trans. Comput."},{"key":"ref_5","unstructured":"Lu, Y., Saxena, A., and Abdelzaher, T. (2001, January 16\u201319). Differentiated caching services; a control-theoretical approach. Proceedings of the IEEE International Conference on Distributed Computing Systems (ICDCS), Mesa, AZ, USA."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1023\/B:SUPE.0000014800.27383.8f","article-title":"Dynamic partitioning of shared cache memory","volume":"28","author":"Suh","year":"2004","journal-title":"J. Supercomput."},{"key":"ref_7","unstructured":"Qureshi, M.K., and Patt, Y.N. (2006, January 9\u201313). Utility-Based Cache Partitioning. Proceedings of the IEEE\/ACM MICRO, Orlando, FL, USA."},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Einziger, G., and Friedman, R. (2014, January 12\u201314). TinyLFU: A highly efficient cache admission policy. Proceedings of the International Conference on Parallel, Distributed and Network-Based Processing (PDP), Torino, Italy.","DOI":"10.1109\/PDP.2014.34"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Stefanovici, I., Thereska, E., O\u2019Shea, G., Schroeder, B., Ballani, H., Karagiannis, T., Rowstron, A., and Talpey, T. (2015, January 27\u201329). Software-defined caching: Managing caches in multi-tenant data centers. Proceedings of the ACM Symposium on Cloud Computing, Kohala Coast, HI, USA.","DOI":"10.1145\/2806777.2806933"},{"key":"ref_10","unstructured":"Cidon, A., Eisenman, A., Alizadeh, M., and Katti, S. (2015, January 6\u20137). Dynacache: Dynamic cloud caching. Proceedings of the USENIX HotCloud, Santa Clara, CA, USA."},{"key":"ref_11","unstructured":"Hu, X., Wang, X., Li, Y., Zhou, L., Luo, Y., Ding, C., Jiang, S., and Wang, Z. (2015, January 8\u201310). LAMA: Optimized Locality-aware Memory Allocation for Key-value Cache. Proceedings of the 2015 USENIX Annual Technical Conference, Santa Clara, CA, USA."},{"key":"ref_12","unstructured":"Cidon, A., Eisenman, A., Alizadeh, M., and Katti, S. (2016, January 16\u201318). Cliffhanger: Scaling performance cliffs in web memory caches. Proceedings of the 13th USENIX Symposium on Networked Systems Design and Implementation, Santa Clara, CA, USA."},{"key":"ref_13","unstructured":"Berger, D., Berg, B., Zhu, T., Sen, S., and Harchol-Balter, M. (2018, January 8\u201310). RobinHood: Tail Latency Aware Caching. Proceedings of the USENIX OSDI, Carlsbad, CA, USA."},{"key":"ref_14","unstructured":"Cidon, A., Rushton, D., Rumble, S., and Stutsman, R. (2017, January 12\u201314). Memshare: A Dynamic Multi-tenant Key-value Cache. Proceedings of the USENIX Annual Technical Conference (ATC), Santa Clara, CA, USA."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Huang, K., Wang, K., Zheng, D., Zhang, X., and Yan, X. (2018). Access Adaptive and Thread-Aware Cache Partitioning in Multicore Systems. Electron., 7.","DOI":"10.3390\/electronics7090172"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Murillo, J., Totoy, G., and Abad, C. (2017, January 11\u201315). Instrumenting cloud caches for online workload monitoring: The case of online miss rate curve estimation in Memcached. Proceedings of the 16th Workshop on Adaptive and Reflective Middleware (ARM at MIDDLEWARE), Las Vegas, NV, USA.","DOI":"10.1145\/3152881.3152884"},{"key":"ref_17","unstructured":"Waldspurger, C., Park, N., Garthwaite, A., and Ahmad, I. (2015, January 16\u201319). Efficient MRC construction with SHARDS. Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST), Santa Clara, CA, USA."},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"94","DOI":"10.1109\/MS.2016.68","article-title":"DevOps","volume":"33","author":"Ebert","year":"2016","journal-title":"IEEE Softw."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"42","DOI":"10.1109\/MS.2016.64","article-title":"Microservices architecture enables DevOps: Migration to a cloud-native architecture","volume":"33","author":"Balalaie","year":"2016","journal-title":"IEEE Softw."},{"key":"ref_20","unstructured":"(2019, December 31). DB-Engines Ranking of Key-Value Stores. Available online: db-engines.com\/en\/ranking\/key-value+store."},{"key":"ref_21","unstructured":"Psounis, K., and Prabhakar, B. (2001, January 22\u201326). A randomized web-cache replacement scheme. Proceedings of the Joint Conference of the IEEE Computer and Communications Society, Anchorage, AK, USA."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"704","DOI":"10.1016\/j.peva.2013.08.006","article-title":"Generating request streams on Big Data using clustered renewal processes","volume":"70","author":"Abad","year":"2013","journal-title":"Perform. Eval."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Boza, E., San-Lucas, C., and Abad, C. (2017, January 4\u20137). Benchmarking key-value stores via trace replay. Proceedings of the 2017 IEEE International Conference on Cloud Engineering (IC2E), Vancouver, BC, Canada.","DOI":"10.1109\/IC2E.2017.11"},{"key":"ref_24","unstructured":"Pu, Q., Li, H., Zaharia, M., Ghodsi, A., and Stoica, I. (2016, January 16\u201318). FairRide: Near-optimal, fair cache sharing. Proceedings of the USENIX NSDI, Santa Clara, CA, USA."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Van Aken, D., Pavlo, A., Gordon, G.J., and Zhang, B. (2017, January 14\u201319). Automatic Database Management System Tuning Through Large-scale Machine Learning. Proceedings of the ACM SIGMOD, Chicago, IL, USA.","DOI":"10.1145\/3035918.3064029"},{"key":"ref_26","unstructured":"Khazaei, H., Ghanbari, A., and Litoiu, M. (2018, January 29\u201331). Adaptation as a service. Proceedings of the ACM CASCON, Markham, ON, Canada."},{"key":"ref_27","unstructured":"Das, S., Grbic, M., Ilic, I., Jovandic, I., Jovanovic, A., Narasayya, V.R., Radulovic, M., Stikic, M., Xu, G., and Chaudhuri, S. (July, January 30). Automatically Indexing Millions of Databases in Microsoft Azure SQL Database. Proceedings of the ACM SIGMOD, Amsterdam, The Netherlands."},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"7","DOI":"10.1109\/MIC.2019.2952061","article-title":"The SPEC-RG Reference Architecture for FaaS: From Microservices and Containers to Serverless Platforms","volume":"23","author":"Grohmann","year":"2019","journal-title":"IEEE Internet Comput."},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Ghahremani, S., Giese, H., and Vogel, T. (2017, January 17\u201321). Efficient Utility-Driven Self-Healing Employing Adaptation Rules for Large Dynamic Architectures. Proceedings of the IEEE International Conference on Autonomic Computing (ICAC), Columbus, OH, USA.","DOI":"10.1109\/ICAC.2017.35"},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Jia, Y., Shao, Z., and Chen, F. (2018, January 25\u201328). SlimCache: Exploiting Data Compression Opportunities in Flash-Based Key-Value Caching. Proceedings of the IEEE International Symposium on Modeling, and Simulation of Computer and Telecommunication Systems (MASCOTS), Analysis, Milwaukee, WI, USA.","DOI":"10.1109\/MASCOTS.2018.00029"},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"439","DOI":"10.1109\/TPDS.2019.2931004","article-title":"Achieving Load-Balanced, Redundancy-Free Cluster Caching with Selective Partition","volume":"31","author":"Yu","year":"2019","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Xu, C., Rajamani, K., Ferreira, A., Felter, W., Rubio, J., and Li, Y. (2018, January 23\u201326). dCat: Dynamic Cache Management for Efficient, Performance-Sensitive Infrastructure-as-a-Service. Proceedings of the European Conference on Computer Systems (EuroSys), Porto, Portugal.","DOI":"10.1145\/3190508.3190555"},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Pan, C., Luo, Y., Wang, X., and Wang, Z. (2019, January 20\u201323). pRedis: Penalty and Locality Aware Memory Allocation in Redis. Proceedings of the ACM Symposium on Cloud Computing, Santa Clara, CA, USA.","DOI":"10.1145\/3357223.3362729"},{"key":"ref_34","unstructured":"Anadiotis, G. (2019, April 15). ZDNet Article\u2014A Rock and a Hard Place: Between ScyllaDB and Cassandra. Available online: https:\/\/www.zdnet.com\/article\/a-rock-and-a-hard-place-between-scylladb-and-cassandra\/."},{"key":"ref_35","unstructured":"Idreos, S., Dayan, N., Qin, W., Akmanalp, M., Hilgard, S., Ross, A., Lennon, J., Jain, V., Gupta, H., and Li, D. (2019, January 13\u201316). Design Continuums and the Path Toward Self-Designing Key-Value Stores that Know and Learn. Proceedings of the CIDR, Asilomar, CA, USA."},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"78","DOI":"10.1147\/sj.92.0078","article-title":"Evaluation techniques for storage hierarchies","volume":"9","author":"Mattson","year":"1970","journal-title":"IBM Syst. J."},{"key":"ref_37","unstructured":"Stallings, W. (2018). Operating Systems Internals And Design Principles, Pearson Education. [9th ed.]."},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"135","DOI":"10.1016\/j.tcs.2004.03.038","article-title":"When a genetic algorithm outperforms hill-climbing","volume":"320","year":"2004","journal-title":"Theor. Comput. Sci."},{"key":"ref_39","unstructured":"IBM (2006). An architectural blueprint for autonomic computing. IBM White Pap., 31, 1\u20136."},{"key":"ref_40","unstructured":"(2019, February 13). Sidecar Pattern, 2017. Microsoft Azure Online Documentation. Available online: https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/patterns\/sidecar."},{"key":"ref_41","unstructured":"Waldspurger, C., Saemundsson, T., Ahmad, I., and Park, N. (2017, January 12\u201314). Cache Modeling and Optimization using Miniature Simulations. Proceedings of the USENIX Annual Technical Conference (ATC), Santa Clara, CA, USA."},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Beckmann, N., and Sanchez, D. (2015, January 7\u201311). Talus: A simple way to remove cliffs in cache performance. Proceedings of the 2015 IEEE 21st International Symposium on High Performance Computer Architecture, Burlingame, CA, USA.","DOI":"10.1109\/HPCA.2015.7056022"},{"key":"ref_43","doi-asserted-by":"crossref","unstructured":"Cooper, B., Silberstein, A., Tam, E., Ramakrishnan, R., and Sears, R. (2010, January 10\u201311). Benchmarking cloud serving systems with YCSB. Proceedings of the 1st ACM Symposium on Cloud Computing, Indianapolis, IN, USA.","DOI":"10.1145\/1807128.1807152"},{"key":"ref_44","unstructured":"Abad, C., Roberts, N., Lu, Y., and Campbell, R. (2012, January 4\u20136). A storage-centric analysis of MapReduce workloads. Proceedings of the IEEE International Symposium on Workload Characterization (IISWC), La Jolla, CA, USA."},{"key":"ref_45","doi-asserted-by":"crossref","unstructured":"Kounev, S., Lewis, P., Bellman, K.L., Bencomo, N., Camara, J., Diaconescu, A., Esterle, L., Geihs, K., Giese, H., and G\u00f6tz, S. (2017). The notion of self-aware computing. Self-Aware Computing Systems, Springer.","DOI":"10.1007\/978-3-319-47474-8_1"}],"container-title":["Computers"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-431X\/9\/1\/14\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T09:01:58Z","timestamp":1760173318000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-431X\/9\/1\/14"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,2,26]]},"references-count":45,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2020,3]]}},"alternative-id":["computers9010014"],"URL":"https:\/\/doi.org\/10.3390\/computers9010014","relation":{},"ISSN":["2073-431X"],"issn-type":[{"value":"2073-431X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,2,26]]}}}