[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2568225.2568227acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Brownout: building more robust cloud applications

Published: 31 May 2014 Publication History

Abstract

Self-adaptation is a first class concern for cloud applications, which should be able to withstand diverse runtime changes. Variations are simultaneously happening both at the cloud infrastructure level - for example hardware failures - and at the user workload level - flash crowds. However, robustly withstanding extreme variability, requires costly hardware over-provisioning.
In this paper, we introduce a self-adaptation programming paradigm called brownout. Using this paradigm, applications can be designed to robustly withstand unpredictable runtime variations, without over-provisioning. The paradigm is based on optional code that can be dynamically deactivated through decisions based on control theory.
We modified two popular web application prototypes - RUBiS and RUBBoS - with less than 170 lines of code, to make them brownout-compliant. Experiments show that brownout self-adaptation dramatically improves the ability to withstand flash-crowds and hardware failures.

References

[1]
T. F. Abdelzaher and N. Bhatti. “Web content adaptation to improve server overload behavior”. In: WWW. 1999, pp. 1563–1577.
[2]
M. Andersson, J. Cao, M. Kihl, and C. Nyberg. “Performance modeling of an Apache web server with bursty arrival traffic”. In: (2003). URL : http://lup.lub.lu.se/ record/532529/file/625324.pdf.
[3]
J. Ansel, C. Chan, Y. L. Wong, M. Olszewski, Q. Zhao, A. Edelman, and S. Amarasinghe. “PetaBricks: A Language and Compiler for Algorithmic Choice”. In: PLDI. 2009.
[4]
D. Ardagna, B. Panicucci, and M. Passacantando. “A game theoretic formulation of the service provisioning problem in cloud systems”. In: WWW. 2011, pp. 177–186.
[5]
L. Baresi and C. Ghezzi. “The disappearing boundary between development-time and run-time”. In: FoSER. 2010, pp. 17–22.
[6]
P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. “Xen and the art of virtualization”. In: SOSP. 2003, pp. 164–177.
[7]
L. A. Barroso and U. Hölzle. The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines. Morgan & Claypool, 2009.
[8]
M. Bhadauria and S. A. McKee. “An approach to resourceaware co-scheduling for CMPs”. In: ICS. 2010, pp. 189–199.
[9]
P. Bodik, A. Fox, M. J. Franklin, M. I. Jordan, and D. A. Patterson. “Characterizing, modeling, and generating workload spikes for stateful services”. In: SOCC. 2010, pp. 241–252.
[10]
Y. Brun. “Improving impact of self-adaptation and selfmanagement research through evaluation methodology”. In: SEAMS. 2010, pp. 1–9.
[11]
Y. Brun, G. Marzo Serugendo, C. Gacek, H. Giese, H. Kienle, M. Litoiu, H. Müller, M. Pezzè, and M. Shaw. “Software Engineering for Self-Adaptive Systems”. In: 2009. Chap. Engineering Self-Adaptive Systems through Feedback Loops, pp. 48–70.
[12]
Bulletin Board Benchmark. URL : http://jmob.ow2.org/ rubbos.html.
[13]
R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic. “Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility”. In: Future Generation Computer Systems 25.6 (2009), pp. 599–616.
[14]
E. Caron, F. Desprez, and A. Muresan. “Pattern Matching Based Forecast of Non-periodic Repetitive Behavior for Cloud Clients”. In: J. Grid Comput. 9.1 (2011), pp. 49–64.
[15]
L. Y. Chen, D. Ansaloni, E. Smirni, A. Yokokawa, and W. Binder. “Achieving application-centric performance targets via consolidation on multicores: myth or reality?” In: HPDC. 2012, pp. 37–48.
[16]
Y. Chen, S. Iyer, X. Liu, D. Milojicic, and A. Sahai. “SLA Decomposition: Translating Service Level Objectives to System Level Thresholds”. In: ICAC. 2007, pp. 3–13.
[17]
B. Cheng, R. de Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, G. Di Marzo Serugendo, S. Dustdar, A. Finkelstein, C. Gacek, K. Geihs, V. Grassi, G. Karsai, H. Kienle, J. Kramer, M. Litoiu, S. Malek, R. Mirandola, H. Müller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns, and J. Whittle. “Software Engineering for Self-Adaptive Systems: A Research Roadmap”. In: Software Engineering for Self-Adaptive Systems. Springer Berlin / Heidelberg, 2009, pp. 1–26.
[18]
H.-E. Chihoub, S. Ibrahim, G. Antoniu, and M. S. Perez. “Harmony: Towards Automated Self-Adaptive Consistency in Cloud Storage”. In: CLUSTER. 2012.
[19]
W. Dawoud, I. Takouna, and C. Meinel. “Elastic Virtual Machine for Fine-Grained Cloud Resource Provisioning”. In: Global Trends in Computing and Communication Systems. Vol. 269. Communications in Computer and Information Science. 2012, pp. 11–25.
[20]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels. “Dynamo: amazon’s highly available key-value store”. In: SIGOPS Oper. Syst. Rev. 41.6 (2007), pp. 205– 220.
[21]
Y. Diao, J. L. Hellerstein, S. Parekh, R. Griffith, G. E. Kaiser, and D. Phung. “A control theory foundation for selfmanaging computing systems”. In: IEEE J.Sel. A. Commun. 23.12 (Sept. 2006), pp. 2213–2222.
[22]
P. C. Diniz and M. C. Rinard. “Dynamic feedback: an effective technique for adaptive computing”. In: PLDI. 1997, pp. 71–84.
[23]
C. Ehrhardt. CPU time accounting. Last accessed: Aug. 2013. URL : http://www.ibm.com/developerworks/ linux/linux390/perf/tuning_cputimes.html.
[24]
R. T. Fielding and R. N. Taylor. “Principled design of the modern Web architecture”. In: ACM Trans. Internet Technol. 2.2 (May 2002), pp. 115–150.
[25]
A. Filieri, C. Ghezzi, A. Leva, and M. Maggio. “Selfadaptive software meets control theory: A preliminary approach supporting reliability requirements”. In: ASE. 2011, pp. 283–292.
[26]
D. Fleder, K. Hosanagar, and A. Buja. “Recommender systems and their effects on consumers: the fragmentation debate”. In: EC. 2010, pp. 229–230.
[27]
D. F. García and J. García. “TPC-W E-Commerce Benchmark Evaluation”. In: Computer 36.2 (Feb. 2003), pp. 42– 48.
[28]
D. Gmach, J. Rolia, and L. Cherkasova. “Selling T-shirts and Time Shares in the Cloud”. In: CCGrid. 2012, pp. 539–546.
[29]
Z. Gong, X. Gu, and J. Wilkes. “PRESS: PRedictive Elastic ReSource Scaling for cloud systems”. In: CNSM. 2010.
[30]
A. Gulati, G. Shanmuganathan, A. Holler, and I. Ahmad. “Cloud-scale resource management: challenges and techniques”. In: HotCloud. 2011.
[31]
Z. Guo, S. McDirmid, M. Yang, L. Zhuang, P. Zhang, Y. Luo, T. Bergan, P. Bodik, M. Musuvathi, Z. Zhang, and L. Zhou. “Failure recovery: when the cure is worse than the disease”. In: HotOS. 2013, pp. 8–14.
[32]
J. Hamilton. “On designing and deploying internet-scale services”. In: LISA. 2007, 18:1–18:12.
[33]
Y. He, Z. Ye, Q. Fu, and S. Elnikety. “Budget-based control for interactive services with adaptive execution”. In: ICAC. 2012, pp. 105–114.
[34]
J. L. Hellerstein. “Why feedback implementations fail: the importance of systematic testing”. In: FEBID. 2010, pp. 25– 26.
[35]
N. R. Herbst, S. Kounev, and R. Reussner. “Elasticity in Cloud Computing: What It Is, and What It Is Not”. In: ICAC. 2013.
[36]
N. Irwin. These 12 technologies will drive our economic future. May 2013. URL : http : / / www. washingtonpost. com / blogs / wonkblog / wp / 2013 / 05 / 24 / these - 12 - technologies-will-drive-our-economic-future/.
[37]
D. Jayasinghe, G. Swint, S. Malkowski, J. Li, Q. Wang, J. Park, and C. Pu. “Expertus: A Generator Approach to Automate Performance Testing in IaaS Clouds”. In: CLOUD. 2012, pp. 115–122.
[38]
J. O. Kephart. “Research challenges of autonomic computing”. In: ICSE. 2005, pp. 15–22.
[39]
G. Kiczales and M. Mezini. “Aspect-oriented programming and modular reasoning”. In: ICSE. 2005, pp. 49–58.
[40]
J. Kim, S. Elnikety, Y. He, S.-W. Hwang, and S. Ren. “QACO: Exploiting Partial Execution in Web Servers”. In: CAC. 2013.
[41]
J. A. Konstan and J. Riedl. “Recommended to you”. In: IEEE Spectum (Oct. 2012).
[42]
J. Kramer and J. Magee. “Self-Managed Systems: an Architectural Challenge”. In: FOSE. 2007, pp. 259–268.
[43]
G. Kreitz and F. Niemela. “Spotify – Large Scale, Low Latency, P2P Music-on-Demand Streaming”. In: P2P. 2010, pp. 1–10.
[44]
M. Lee, A. S. Krishnakumar, P. Krishnan, N. Singh, and S. Yajnik. “Supporting soft real-time tasks in the Xen hypervisor”. In: VEE. 2010, pp. 97–108.
[45]
W. Levine. The Control handbook. CRC Press, 1996.
[46]
S. Malkowski, Y. Kanemasa, H. Chen, M. Yamamoto, Q. Wang, D. Jayasinghe, C. Pu, and M. Kawaba. “Challenges and Opportunities in Consolidation at High Resource Utilization: Non-monotonic Response Time Variations in n-Tier Applications”. In: CLOUD. 2012, pp. 162–169.
[47]
J. Mars, L. Tang, R. Hundt, K. Skadron, and M. L. Soffa. “Bubble-Up: increasing utilization in modern warehouse scale computers via sensible co-locations”. In: MICRO. 2011, pp. 248–259.
[48]
A. Merchant, M. Uysal, P. Padala, X. Zhu, S. Singhal, and K. Shin. “Maestro: quality-of-service in large disk arrays”. In: ICAC. 2011, pp. 245–254.
[49]
S. Misailovic, S. Sidiroglou, H. Hoffmann, and M. Rinard. “Quality of service profiling”. In: ICSE. 2010, pp. 25–34.
[50]
M. Nagappan, A. Peeler, and M. Vouk. “Modeling cloud failure data: a case study of the virtual computing lab”. In: SECLOUD. 2011, pp. 8–14.
[51]
F. F.-H. Nah. “A study on tolerable waiting time: how long are Web users willing to wait?” In: Behaviour and Information Technology 23.3 (2004), pp. 153–163.
[52]
R. Nathuji, A. Kansal, and A. Ghaffarkhah. “Q-clouds: managing performance interference effects for QoS-aware clouds”. In: EuroSys. 2010, pp. 237–250.
[53]
T. Patikirikorala, A. Colman, J. Han, and L. Wang. “A systematic survey on the design of self-adaptive software systems using control engineering approaches”. In: SEAMS. 2012, pp. 33–42.
[54]
D. C. Petriu, M. Alhaj, and R. Tawhid. “Software performance modeling”. In: SFM. Berlin, Heidelberg: Springer-Verlag, 2012.
[55]
J. Philippe, N. De Palma, F. Boyer, and e. O. Gruber. “Selfadaptation of service level in distributed systems”. In: Softw. Pract. Exper. 40.3 (Mar. 2010), pp. 259–283.
[56]
X. Qie, R. Pang, and L. Peterson. “Defensive Programming: Using an Annotation Toolkit to Build DoS-resistant Software”. In: SIGOPS Oper. Syst. Rev. 36 (Dec. 2002), pp. 45– 60.
[57]
C. Reiss, A. Tumanov, G. R. Ganger, R. H. Katz, and M. A. Kozuch. “Heterogeneity and Dynamicity of Clouds at Scale: Google Trace Analysis”. In: SOCC. 2012.
[58]
Rice University Bidding System. http://rubis.ow2.org.
[59]
A. W. Services. Tutorial: Installing a LAMP Web Server. Sept. 2013. URL : http : / / docs. aws. amazon. com / AWSEC2/latest/UserGuide/install-LAMP.html.
[60]
U. Sharma, P. Shenoy, S. Sahu, and A. Shaikh. “A Cost-Aware Elasticity Provisioning System for the Cloud”. In: ICDCS. 2011, pp. 559–570.
[61]
U. Sharma, P. Shenoy, and D. F. Towsley. “Provisioning multi-tier cloud applications using statistical bounds on sojourn time”. In: ICAC. 2012.
[62]
Z. Shen, S. Subbiah, X. Gu, and J. Wilkes. “CloudScale: elastic resource scaling for multi-tenant cloud systems”. In: SOCC. 2011.
[63]
K. Sripanidkulchai, S. Sahu, Y. Ruan, A. Shaikh, and C. Dorai. “Are clouds ready for large distributed applications?” In: SIGOPS Oper. Syst. Rev. 44.2 (2010).
[64]
C. Stewart and K. Shen. “Performance modeling and system management for multi-component online services”. In: NSDI. 2005, pp. 71–84.
[65]
C. Stewart, T. Kelly, and A. Zhang. “Exploiting nonstationarity for performance prediction”. In: EuroSys. 2007, pp. 31– 44.
[66]
N. Tolia, D. G. Andersen, and M. Satyanarayanan. “Quantifying Interactive User Experience on Thin Clients”. In: Computer 39.3 (Mar. 2006), pp. 46–52.
[67]
N. Vasi´c, D. Novakovi´c, S. Miuˇcin, D. Kosti´c, and R. Bianchini. “DejaVu: accelerating resource allocation in virtualized environments”. In: ASPLOS. 2012, pp. 423–436.
[68]
A. Verma, L. Cherkasova, and R. H. Campbell. “ARIA: automatic resource inference and allocation for MapReduce environments”. In: ICAC. 2011, pp. 235–244.
[69]
S. Vijayakumar, Q. Zhu, and G. Agrawal. “Automated and dynamic application accuracy management and resource provisioning in a cloud environment”. In: GRID. 2010, pp. 33–40.
[70]
Q. Wang, Y. Kanemasa, J. Li, D. Jayasinghe, M. Kawaba, and C. Pu. “Response Time Reliability in Cloud Environments: An Empirical Study of n-Tier Applications at High Resource Utilization”. In: SRDS. 2012, pp. 378–383.
[71]
D. Weyns, M. U. Iftikhar, D. G. de la Iglesia, and T. Ahmad. “A survey of formal methods in self-adaptive systems”. In: C3S2E. 2012, pp. 67–79.
[72]
D. Weyns, M. U. Iftikhar, S. Malek, and J. Andersson. “Claims and Supporting Evidence for Self-Adaptive Systems – A Literature Study”. In: SEAMS. 2012.
[73]
M. Woodside, T. Zheng, and M. Litoiu. “Service System Resource Management Based on a Tracked Layered Performance Model”. In: ICAC. 2006, pp. 175–184.
[74]
Q. Zhang, L. Cherkasova, and E. Smirni. “A Regression-Based Analytic Model for Dynamic Resource Provisioning of Multi-Tier Applications”. In: ICAC. 2007, pp. 27–37.
[75]
W. Zheng, R. Bianchini, G. J. Janakiraman, J. R. Santos, and Y. Turner. “JustRunIt: experiment-based management of virtualized data centers”. In: USENIX Annual Technical Conference. 2009, pp. 18–28.
[76]
X. Zhu, D. Young, B. J. Watson, Z. Wang, J. Rolia, S. Singhal, B. McKee, C. Hyser, D. Gmach, R. Gardner, T. Christian, and L. Cherkasova. “1000 Islands: Integrated Capacity and Workload Management for the Next Generation Data Center”. In: ICAC. 2008, pp. 172–181.
[77]
X. Zhu, M. Uysal, Z. Wang, S. Singhal, A. Merchant, P. Padala, and K. Shin. “What does control theory bring to systems research?” In: SIGOPS Oper. Syst. Rev. 43.1 (Jan. 2009), pp. 62–69.

Cited By

View all
  • (2024)Active Monitoring Mechanism for Control-Based Self-Adaptive SystemsProceedings of the ACM on Software Engineering10.1145/36607891:FSE(1841-1864)Online publication date: 12-Jul-2024
  • (2024)Towards Digital Sustainability: Involving Cloud Users as Key Players2024 IEEE International Conference on Cloud Engineering (IC2E)10.1109/IC2E61754.2024.00021(126-132)Online publication date: 24-Sep-2024
  • (2024)Under Control: A Control Theory Introduction for Computer Scientists2024 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)10.1109/ACSOS-C63493.2024.00044(130-139)Online publication date: 16-Sep-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE 2014: Proceedings of the 36th International Conference on Software Engineering
May 2014
1139 pages
ISBN:9781450327565
DOI:10.1145/2568225
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 ACM 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

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 May 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Adaptive Software
  2. Brownout
  3. Cloud
  4. Control Theory

Qualifiers

  • Research-article

Conference

ICSE '14
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)50
  • Downloads (Last 6 weeks)4
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Active Monitoring Mechanism for Control-Based Self-Adaptive SystemsProceedings of the ACM on Software Engineering10.1145/36607891:FSE(1841-1864)Online publication date: 12-Jul-2024
  • (2024)Towards Digital Sustainability: Involving Cloud Users as Key Players2024 IEEE International Conference on Cloud Engineering (IC2E)10.1109/IC2E61754.2024.00021(126-132)Online publication date: 24-Sep-2024
  • (2024)Under Control: A Control Theory Introduction for Computer Scientists2024 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)10.1109/ACSOS-C63493.2024.00044(130-139)Online publication date: 16-Sep-2024
  • (2023)Deep Learning for Self-Adaptive System Analyzer Improvement2023 Third International Conference on Theoretical and Applicative Aspects of Computer Science (ICTAACS)10.1109/ICTAACS60400.2023.10449559(1-5)Online publication date: 5-Dec-2023
  • (2023)HydraGen: A Microservice Benchmark Generator2023 IEEE 16th International Conference on Cloud Computing (CLOUD)10.1109/CLOUD60044.2023.00030(189-200)Online publication date: Jul-2023
  • (2023)Modelling Software Tasks for Supporting Resource-Driven AdaptationEnterprise Information Systems10.1007/978-3-031-39386-0_12(249-272)Online publication date: 28-Jul-2023
  • (2022)AgileCtrl: a self-adaptive framework for configuration tuningProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549136(459-471)Online publication date: 7-Nov-2022
  • (2022)Deep Learning for Effective and Efficient Reduction of Large Adaptation Spaces in Self-adaptive SystemsACM Transactions on Autonomous and Adaptive Systems10.1145/353019217:1-2(1-42)Online publication date: 29-Jul-2022
  • (2022)A Proactive Self-Adaptation Approach for Software Systems based on Environment-Aware Model Predictive Control2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS57517.2022.00103(992-1003)Online publication date: Dec-2022
  • (2022)Heterogeneous Cloud Systems and Criteria for Enhanced Performance2022 IEEE 16th International Scientific Conference on Informatics (Informatics)10.1109/Informatics57926.2022.10083443(1-3)Online publication date: 23-Nov-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media