FECBench: A Holistic Interference-aware Approach for Application Performance Modeling

TitleFECBench: A Holistic Interference-aware Approach for Application Performance Modeling
Publication TypeConference Paper
Year of Publication2019
AuthorsBarve, Y., S. Shekhar, A. Chhokra, S. Khare, Z. Kang, A. Bhattacharjee, H. Sun, and A. Gokhale
Conference Name IEEE International Conference on Cloud Engineering (IC2E)
Date PublishedJune/2019
Conference LocationPrague, Czech Republic

Services hosted in multi-tenant cloud platforms often encounter performance interference due to contention for non-partitionable resources, which in turn causes unpredictable behavior and degradation in application performance. To grapple with these problems and to define effective resource management solutions for their services, providers often must expend significant efforts and incur prohibitive costs in developing performance models of their services under a variety of interference scenarios on different hardware. This is a hard problem due to the wide range of the possible co-located services and their workloads, and the growing heterogeneity in the runtime platforms including the use of fog and edge-based resources, not to mention the accidental complexities in conducting such application profiling under a variety of scenarios. To address these challenges, we present FECBench (Fog/Edge/Cloud Benchmarking), which is an open source framework comprising a set of 106 applications covering a wide range of application classes that guides providers in building performance interference prediction models for their services without incurring undue costs and efforts via the following contributions. First, we define a technique to build resource stressors that can stress multiple system resources all at once in a controlled manner, which help to gain insights into the impact of interference on the application’s performance. Second, to overcome the need for exhaustive application profiling, FECBench intelligently uses the design of experiments (DoE) approach to enable users to build surrogate performance models of their services. Third, FECBench maintains an extensible knowledge base of application combinations that create resource stress across the multi-dimensional resources design space. Empirical results using real-world scenarios to validate the efficacy of FECBench shows that the predicted application performance using the surrogate models incurs a median error of only 7.6 percent across all tests, with 5.4 percent in the best case and 13.5 percent in the worst case.