R. Calinescu, Yasmin Rafiq, Kenneth Johnson, M. Bakir
{"title":"Adaptive model learning for continual verification of non-functional properties","authors":"R. Calinescu, Yasmin Rafiq, Kenneth Johnson, M. Bakir","doi":"10.1145/2568088.2568094","DOIUrl":"https://doi.org/10.1145/2568088.2568094","url":null,"abstract":"A growing number of business and safety-critical services are delivered by computer systems designed to reconfigure in response to changes in workloads, requirements and internal state. In recent work, we showed how a formal technique called continual verification can be used to ensure that such systems continue to satisfy their reliability and performance requirements as they evolve, and we presented the challenges associated with the new technique. In this paper, we address important instances of two of these challenges, namely the maintenance of up-to-date reliability models and the adoption of continual verification in engineering practice. To address the first challenge, we introduce a new method for learning the parameters of the reliability models from observations of the system behaviour. This method is capable of adapting to variations in the frequency of the available system observations, yielding faster and more accurate learning than existing solutions. To tackle the second challenge, we present a new software engineering tool that enables developers to use our adaptive learning and continual verification in the area of service-based systems, without a formal verification background and with minimal effort.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130473936","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
D. Redlich, Ulrich Winkler, T. Molka, Wasif Gilani
{"title":"Model-driven engineering in practice: integrated performance decision support for process-centric business impact analysis","authors":"D. Redlich, Ulrich Winkler, T. Molka, Wasif Gilani","doi":"10.1145/2568088.2576797","DOIUrl":"https://doi.org/10.1145/2568088.2576797","url":null,"abstract":"Modern businesses and business processes depend on an increasingly interconnected set of resources, which can be affected by external and internal factors at any time. Threats like natural disasters, terrorism, or even power blackouts potentially cause disruptions in an organisation's resource infrastructure which in turn negatively impacts the performance of dependent business processes. In order to assist business analysts dealing with this ever increasing complexity of interdependent business structures a model-driven workbench named Model-Driven Business Impact Analysis (MDBIA) has been developed with the purpose of predicting consequences on the business process level for an organisation in case of disruptions. An already existing Model-Driven Performance Engineering (MDPE) workbench, which originally provided process-centric performance decision support, has been adapted and extended to meet the additional requirements of business impact analysis. The fundamental concepts of the resulting MDBIA workbench, which include the introduction of the applied key models and transformation chain, are presented and evaluated in this paper.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"187 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127136254","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Application performance management using learning, optimization, and control","authors":"Xiaoyun Zhu","doi":"10.1145/2568088.2576098","DOIUrl":"https://doi.org/10.1145/2568088.2576098","url":null,"abstract":"In the past decade, the IT industry has experienced a paradigm shift as computing resources became available as a utility through cloud based services. In spite of the wider adoption of cloud computing platforms, some businesses and organizations hesitate to move all their applications to the cloud due to performance concerns. Existing practices in application performance management rely heavily on white-box modeling and diagnosis approaches or on performance troubleshooting \"cookbooks\" to find potential bottlenecks and remediation steps. However, the scalability and adaptivity of such approaches remain severely constrained, especially in a highly-dynamic, consolidated cloud environment. For performance isolation and differentiation, most modern hypervisors offer powerful resource control primitives such as reservations, limits, and shares for individual virtual machines (VMs). Even so, with the exploding growth of virtual machine sprawl, setting these controls properly such that co-located virtualized applications get enough resources to meet their respective service level objectives (SLOs) becomes a nearly insoluble task. These challenges present unique opportunities in leveraging the rich telemetry collected from applications and systems in the cloud, and in applying statistical learning, optimization, and control based techniques to developing model-based, automated application performance management frameworks. There has been a large body of research in this area in the last several years, but many problems remain. In this talk, I'll highlight some of the automated and data-driven performance management techniques we have developed, along with related technical challenges. I'll then discuss open research problems, in hope to attract more innovative ideas and solutions from a larger community of researchers and practitioners.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115599254","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Run-time performance optimization of a BigData query language","authors":"Yanbin Liu, Parijat Dube, Scott Gray","doi":"10.1145/2568088.2576800","DOIUrl":"https://doi.org/10.1145/2568088.2576800","url":null,"abstract":"JAQL is a query language for large-scale data that connects BigData analytics and MapReduce framework together. Also an IBM product, JAQL's performance is critical for IBM InfoSphere BigInsights, a BigData analytics platform. In this paper, we report our work on improving JAQL performance from multiple perspectives. We explore the parallelism of JAQL, profile JAQL for performance analysis, identify I/O as the dominant performance bottleneck, and improve JAQL performance with an emphasis on reducing I/O data size and increasing (de)serialization efficiency. With TPCH benchmark on a simple Hadoop cluster, we report up to 2x performance improvements in JAQL with our optimization fixes.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128388677","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"PowerPerfCenter: a power and performance prediction tool for multi-tier applications","authors":"V. Apte, Bhavin J. Doshi","doi":"10.1145/2568088.2576758","DOIUrl":"https://doi.org/10.1145/2568088.2576758","url":null,"abstract":"The performance analysis of a server application and the sizing of the hardware required to host it in a data center continue to be pressing issues today. With most server-grade computers now built with \"frequency-scaled CPUs\" and other such devices, it has become important to answer performance and sizing questions in the presence of such hardware. PowerPerfCenter is an application performance modeling tool that allows specification of devices whose operating speeds can change dynamically. It also estimates power usage by the machines in presence of such devices. Furthermore, it allows specification of a dynamic workload which is required to understand the impact of power management. We validated the performance metrics predicted by PowerPerfCenter against measured ones of an application deployed on a test-bed consisting of frequency-scaled CPUs, and found the match to be good. We also used PowerPerfCenter to show that power savings may not be significant if a device does not have different idle power consumption when configured with different operating speeds.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"141 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129844234","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mark D. Syer, Z. Jiang, M. Nagappan, A. Hassan, Mohamed N. Nasser, P. Flora
{"title":"Continuous validation of load test suites","authors":"Mark D. Syer, Z. Jiang, M. Nagappan, A. Hassan, Mohamed N. Nasser, P. Flora","doi":"10.1145/2568088.2568101","DOIUrl":"https://doi.org/10.1145/2568088.2568101","url":null,"abstract":"Ultra-Large-Scale (ULS) systems face continuously evolving field workloads in terms of activated/disabled feature sets, varying usage patterns and changing deployment configurations. These evolving workloads often have a large impact, on the performance of a ULS system. Hence, continuous load testing is critical to ensuring the error-free operation of such systems. A common challenge facing performance analysts is to validate if a load test closely resembles the current field workloads. Such validation may be performed by comparing execution logs from the load test and the field. However, the size and unstructured nature of execution logs makes such a comparison unfeasible without automated support. In this paper, we propose an automated approach to validate whether a load test resembles the field workload and, if not, determines how they differ by compare execution logs from a load test and the field. Performance analysts can then update their load test cases to eliminate such differences, hence creating more realistic load test cases. We perform three case studies on two large systems: one open-source system and one enterprise system. Our approach identifies differences between load tests and the field with a precision of >75% compared to only >16% for the state-of-the-practice.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127587218","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
C. Pogue, Anil Kumar, D. Tollefson, Steve Realmuto
{"title":"SPECjbb2013 1.0: an overview","authors":"C. Pogue, Anil Kumar, D. Tollefson, Steve Realmuto","doi":"10.1145/2568088.2576095","DOIUrl":"https://doi.org/10.1145/2568088.2576095","url":null,"abstract":"SPECjbb2013 [1] is an entirely new version of the industry standard benchmark for evaluating Java server business performance from Standard Performance Evaluation Corporation (SPEC) [2]. It is designed with three categories which allow multiple configurations (Composite/single host, MultiJVMs/ single host, Distributed/single or multi hosts), enabling the user to systematically analyze their system. Additionally, the status of published results is summarized and a series of research project configurations are suggested.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126599431","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Agile middleware for scheduling: meeting competing performance requirements of diverse tasks","authors":"Feng Yan, S. Hughes, Alma Riska, E. Smirni","doi":"10.1145/2568088.2568104","DOIUrl":"https://doi.org/10.1145/2568088.2568104","url":null,"abstract":"As the need for scaled-out systems increases, it is paramount to architect them as large distributed systems consisting of off-the-shelf basic computing components known as compute or data nodes. These nodes are expected to handle their work independently, and often utilize off-the-shelf management tools, like those offered by Linux, to differentiate priorities of tasks. While prioritization of background tasks in server nodes takes center stage in scaled-out systems, with many tasks associated with salient features such as eventual consistency, data analytics, and garbage collection, the standard Linux tools such as nice and ionice fail to adapt to the dynamic behavior of high priority tasks in order to achieve the best trade-off between protecting the performance of high priority workload and completing as much low priority work as possible. In this paper, we provide a solution by proposing a priority scheduling middleware that employs different policies to schedule background tasks based on the instantaneous resource requirements of the high priority applications running on the server node. The selection of policies is based on off-line and on-line learning of the high priority workload characteristics and the imposed performance impact due to low priority work. In effect, this middleware uses a {em hybrid} approach to scheduling rather than a monolithic policy. We prototype and evaluate it via measurements on a test-bed and show that this scheduling middleware is robust as it effectively and autonomically changes the relative priorities between high and low priority tasks, consistently meeting their competing performance targets.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128897771","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Tomás Martinec, L. Marek, A. Steinhauser, P. Tůma, Qais Noorshams, A. Rentschler, Ralf H. Reussner
{"title":"Constructing performance model of JMS middleware platform","authors":"Tomás Martinec, L. Marek, A. Steinhauser, P. Tůma, Qais Noorshams, A. Rentschler, Ralf H. Reussner","doi":"10.1145/2568088.2568096","DOIUrl":"https://doi.org/10.1145/2568088.2568096","url":null,"abstract":"Middleware performance models are useful building blocks in the performance models of distributed software applications. We focus on performance models of messaging middleware implementing the Java Message Service standard, showing how certain system design properties -- including pipelined processing and message coalescing -- interact to create performance behavior that the existing models do not capture accurately. We construct a performance model of the ActiveMQ messaging middleware that addresses the outlined issues and discuss how the approach extends to other middleware implementations.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"198 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123429726","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Uncertainties in the modeling of self-adaptive systems: a taxonomy and an example of availability evaluation","authors":"Diego Perez-Palacin, R. Mirandola","doi":"10.1145/2568088.2568095","DOIUrl":"https://doi.org/10.1145/2568088.2568095","url":null,"abstract":"The complexity of modern software systems has grown enormously in the past years with users always demanding for new features and better quality of service. Besides, software is often embedded in dynamic contexts, where requirements, environment assumptions, and usage profiles continuously change. As an answer to this need, it has been proposed the usage of self-adaptive systems. Self-adaptation endows a system with the capability to accommodate its execution to different contexts in order to achieve continuous satisfaction of requirements. Often, self-adaptation process also makes use of runtime model evaluations to decide the changes in the system. However, even at runtime, context information that can be managed by the system is not complete or accurate; i.e, it is still subject to some uncertainties. This work motivates the need for the consideration of the concept of uncertainty in the model-based evaluation as a primary actor, classifies the avowed uncertainties of self-adaptive systems, and illustrates examples of how different types of uncertainties are present in the modeling of system characteristics for availability requirement satisfaction.","PeriodicalId":243233,"journal":{"name":"Proceedings of the 5th ACM/SPEC international conference on Performance engineering","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115034729","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}