Abstract-This paper describes extensions to the PAPI hardware counter library for virtual environments, called PAPI-V. The extensions support timing routines, I/O measurements, and processor counters. The PAPI-V extensions will allow application and tool developers to use a familiar interface to obtain relevant hardware performance monitoring information in virtual environments. Keywords-performance counters; virutal machines; performance analsis; performance monitoring I.INTRODUCTION Cloud computing involves use of a hosted computational environment that can provide elastic compute and storage services on demand. Virtualization is a technology that allows multiple virtual machines (VMs) to run on a single physical machine and share its resources. Virtualization is increasingly being used in cloud computing to provide economies of scale, customized environments, fault isolation, and reliability. To address performance concerns with the use of cloud computing for scientific computing, the PAPI-V project is developing a system for hardware performance monitoring in virtualized environments to enable software developers to understand and optimize system and application performance and adapt to changing conditions. To accomplish this goal, the project is extending the widely used Performance API (PAPI) crossplatform library [PAPI] for accessing hardware performance counters [1].
The growing processor/memory performance gap causes the performance of many codes to be limited by memory accesses. If known to exist in an application, strided memory accesses forming streams can be targeted by optimizations such as prefetching, relocation, remapping, and vector loads. Un-detected, they can be a significant source of memory stalls in loops. Existing stream-detection mechanisms either require special hardware, which may not gather statistics for subsequent analysis, or are limited to compile-time detection of array accesses in loops. Formally, little treatment has been accorded to the subject; the concept of locality fails to capture the existence of streams in a program's memory accesses. The contributions of this paper are as follows. First, we define spatial regularity as a means to discuss the presence and effects of streams. Second, we develop measures to quantify spatial regularity, and we design and implement an on-line, parallel algorithm to detect streams-and hence regularity-in running applications. Third, we use examples from real codes and common benchmarks to illustrate how derived stream statistics can be used to guide the application of profile-driven optimizations. Overall, we demonstrate the benefits of our novel regu
Experts are predicting the cloud software market to grow at a high rate in the coming years. Merrill Lynch and Gartner predict the cloud computing market to be worth between $160 and $150 billion in 2013. Many computing services have now migrated to the cloud and many applications are becoming cloud-based and function as standalone or in orchestration with other cloud-based services. With the advent of the cloud and the reliance on Big Data, cloud-based systems are driving our digital economy and increasingly becoming pervasive in many daily applications. Cloud has become the backbone for many e-businesses; engineering, scientific and experimental processes; real-time control and monitoring data intensive systems such as disaster management, weather and climate predictions, which heavily depends on the Big Data thing. The dependability of these systems and their continuous evolution are essential pre-requisite for the success and prosperous growth of our digital economy. The "cloud wave" has urged the need for advancing the fundamentals of cloud software engineering, supporting the emergence and the advancement of this emergent digital economy.Practitioners are very likely to beg, borrow and steal from software engineering in-the-small to benefit the case of software engineering for the large-scale and ultra-large-scale, as it is the case of the cloud. Though the fundamentals of engineering software in both paradigms exhibit resemblance, software engineering for the cloud require novel approaches, which address the interplay between technical, economics-driven considerations and shifts software engineering towards utility-based engineering for software-, infrastructure-, data storage-and/or platform-as services. Given the unpredictable, dynamic, elasticity and on-demand nature of the cloud, it would be unrealistic to assume that traditional software engineering can "cleanly" satisfy the cloud behavioural requirements. Much of cloud software engineering, for examples, involves problems related to designing for emergent behaviour and engineering for scale and its economies in unpredictable, volatile and highly uncertain world. The paradigm has introduced new challenges and problems shaping the scientific and engineering queries and likely to shape the research landscape of software engineering for at least the next decade: cloud requirements engineering; architecting for the cloud; cloud security software engineering; service-level Agreement(SLA) compliance; maintenance, testing and evolution for the cloud; virtualisation; autonomic and self-* management for scale; cloud as a market place and economics-driven software engineering for the cloud; multitenancy and federation; dependability and performance engineering for the cloud; allocation assignment and dynamic balancing and optimisation for resources to achieve pragmatic trade-offs between many competing technical , short-term and strategic business objectives.The goal of this special issue is to strengthen the cross-fertilization of advances from software engin...
Cloud computing is emerging as more than simply a technology platform but a software engineering paradigm for the future. Hordes of cloud computing technologies, techniques, and integration approaches are widely being adopted, taught at the university level, and expected as key skills in the job market. The principles and practices of the software engineering and software architecture community can serve to help guide this emerging domain. The fundamental goal of the ICSE 2011 Software Engineering for Cloud Workshop is to bring together the diverse communities of cloud computing and of software engineering and architecture research with the hopes of sharing and disseminating key tribal knowledge between these rich areas. We expect as the workshop output a set of identified key software engineering challenges and important issues in the domain of cloud computing, specifically focused on how software engineering practice and research can play a role in shaping the next five years of research and practice for clouds. Furthermore, we expect to share "war stories", best practices and lessons learned between leaders in the software engineering and cloud computing communities.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.