Towards Pre-Deployment Detection of Performance Failures in Cloud Distributed Systems
Towards Pre-Deployment Detection of Performance Failures in Cloud Distributed Systems
复制标题
云分布式系统性能故障的部署前检测
DOI:
--
复制
发表时间:
2015
期刊:
影响因子:
--
通讯作者:
Haryadi S. Gunawi
中科院分区:
文献类型:
--
作者:
Riza O. Suminto;Agung Laksono;A. Satria;Thanh Do;Haryadi S. Gunawi
Modern distributed systems (“cloud systems”) have emerged as a dominant backbone for many today’s applications. They come in different forms such as scale-out file systems, key-value stores, computing frameworks, synchronization and cluster management services. As these systems collectively become the “cloud operating system”, users expect high dependability including performance stability. Unfortunately, the complexity of the software and environment in which they must run has outpaced existing testing and debugging tools. Cloud systems must run at scale with different topologies, execute complex distributed protocols, face load fluctuations and a wide range of hardware faults, and serve users with diverse job characteristics. One type of important failures is performance failures, a situation where a system (e.g., Hadoop) does not deliver the expected performance (e.g., a job takes 10x longer time than usual). Conversation with cloud engineers reflects that performance stability is often more important than performance optimization; when performance failures happen, users are frustrated, systems waste and underutilize resources, and long debugging efforts are required to find and fix the problems. Sadly, performance failures are still common; our previous work shows that 22% of vital issues reported by cloud system developers relate to performance bugs [12]. In this paper, our focus is to answer the following three questions: What is the root-cause anatomy of performance bugs that appear in cloud systems? What is missing within the state of the art of detecting performance bugs? What are new novel directions that can prevent performance failures to happen in the field?