Profiling, Extracting, and Analyzing Dynamic Software Metrics
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Performance Profiling of Virtual Machines
Performance Profiling of Virtual Machines Jiaqing Du Nipun Sehrawat Willy Zwaenepoel École Polytechnique Fédérale de University of Illinois at Urbana École Polytechnique Fédérale de Lausanne (EPFL), Switzerland Champaign, USA Lausanne (EPFL), Switzerland [email protected] [email protected] [email protected] Abstract and tune the performance of a program. Performance counters are part of the processor’s performance Profilers based on hardware performance counters are indispensa- monitoring unit (PMU). The PMU consists of a set of perfor- ble for performance debugging of complex software systems. All mance counters, a set of event selectors, and the digital logic to modern processors feature hardware performance counters, but increase a counter after a hardware event specified by the event current virtual machine monitors (VMMs) do not properly expose selector occurs. Typical events include clock cycles, instruction them to the guest operating systems. Existing profiling tools retirements, cache misses, TLB misses, etc. When a performance require privileged access to the VMM to profile the guest and are counter reaches a pre-defined threshold, a counter overflow inter- only available for VMMs based on paravirtualization. Diagnosing rupt is generated. performance problems of software running in a virtualized envi- The profiler selects the event(s) to be monitored, and registers ronment is therefore quite difficult. itself as the PMU counter overflow interrupt handler. When an This paper describes how to extend VMMs to support perfor- interrupt occurs, it records the saved program counter (PC) and mance profiling. We present two types of profiling in a virtualized other relevant information. After the program is finished, it con- environment: guest-wide profiling and system-wide profiling. -
Section “Introduction” in Using the GNU Compiler Collection (GCC)
Using the GNU Compiler Collection (GCC) Using the GNU Compiler Collection by Richard M. Stallman and the GCC Developer Community For GCC Version 4.1.2 Published by: GNU Press Website: www.gnupress.org a division of the General: [email protected] Free Software Foundation Orders: [email protected] 51 Franklin Street, Fifth Floor Tel 617-542-5942 Boston, MA 02110-1301 USA Fax 617-542-2652 Last printed October 2003 for GCC 3.3.1. Printed copies are available for $45 each. Copyright c 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being “GNU General Public License” and “Funding Free Software”, the Front-Cover texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled “GNU Free Documentation License”. (a) The FSF’s Front-Cover Text is: A GNU Manual (b) The FSF’s Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents Introduction ...................................... 1 1 Programming Languages Supported by GCC ............ 3 2 Language Standards Supported by GCC ............... 5 3 GCC Command Options .......................... 7 4 C Implementation-defined behavior ................. 205 5 Extensions to the C Language Family ............... -
Profiling and Debugging the Freebsd* Kernel White Paper May 2009 2 Document Number: 321772-001
White Paper Ray Kinsella Profiling and Network Software Engineer Intel Corporation Debugging the FreeBSD* Kernel May 2009 Document Number: 321772-001 Introduction Abstract This paper provides an overview of the Profiling and Debugging tools available for FreeBSD* 7.0 and later. These tools enable the developer to demystify the Kernel’s internal workings, identify performance bottlenecks and determine appropriate parameter tuning. The paper should help reduce the guesswork involved in tuning the performance of FreeBSD, promoting actions informed by measurement. Profiling and Debugging the FreeBSD* Kernel White Paper May 2009 2 Document Number: 321772-001 Introduction Contents Introduction.........................................................................................................................5 The FreeBSD Kernel ..............................................................................................................6 Configuring the Kernel.......................................................................................6 Run-Time Configuration ..........................................................................6 Compile-Time Configuration ....................................................................7 Example: The ULE Scheduler ......................................................8 Rebuilding the Kernel ........................................................................................8 Managing Multiple Kernels..................................................................................9 -
Using the GNU Compiler Collection
Using the GNU Compiler Collection For gcc version 4.4.1 (Sourcery G++ Lite 2010q1-188) Richard M. Stallman and the GCC Developer Community Published by: GNU Press Website: www.gnupress.org a division of the General: [email protected] Free Software Foundation Orders: [email protected] 51 Franklin Street, Fifth Floor Tel 617-542-5942 Boston, MA 02110-1301 USA Fax 617-542-2652 Last printed October 2003 for GCC 3.3.1. Printed copies are available for $45 each. Copyright c 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with the Invariant Sections being \Funding Free Software", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled \GNU Free Documentation License". (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents Introduction ::::::::::::::::::::::::::::::::::::::::::::: 1 1 Programming Languages Supported by GCC ::::::::::::::: 3 2 Language Standards Supported by GCC :::::::::::::::::: 5 3 GCC Command Options ::::::::::::::::::::::::::::::: 9 4 C Implementation-defined -
Versatile, Portable, and Efficient File System Profiling
Versatile, Portable, and Efficient File System Profiling A Dissertation Presented by Nikolai Joukov to The Graduate School in Partial fulfillment of the Requirements for the Degree of Doctor of Philosophy in Computer Science Stony Brook University Technical Report FSL-06-05 December 2006 Copyright by Nikolai Joukov 2006 Stony Brook University The Graduate School Nikolai Joukov We, the dissertation committee for the above candidate for the Ph.D. degree, hereby recommend acceptance of this dissertation. Dr. Erez Zadok, Advisor Professor, Computer Science Department, Stony Brook University Dr. Samir Das, Chair of Defense Professor, Computer Science Department, Stony Brook University Dr. Scott Stoller Professor, Computer Science Department, Stony Brook University Dr. Ethan Miller Professor, Computer Science Department, University of California Santa Cruz This dissertation is accepted by the Graduate School Dean of the Graduate School ii Abstract of the Dissertation Versatile, Portable, and Efficient File System Profiling by Nikolai Joukov Doctor of Philosophy in Computer Science Stony Brook University 2006 File systems are complex and their behavior depends on many factors. Source code, if available, does not directly help understand the file system’s behavior, as the behavior depends on actual workloads and external inputs. Runtime profiling is a key technique for understanding the behavior and mutual-influence of modern OS components. Such profiling is useful to prove new concepts, debug problems, and optimize the performance of existing file systems. Unfortunately, existing profiling methods are lacking in impor- tant areas: they do not provide much of the necessary information about the file system’s behavior, they require OS modification and therefore are not portable, or they exact high overheads thus perturbing the profiled file system. -
“Option Summary” in Using the GNU Compiler Collection (GCC)
Using the GNU Compiler Collection For gcc version 5.4.0 (GCC) Richard M. Stallman and the GCC Developer Community Published by: GNU Press Website: http://www.gnupress.org a division of the General: [email protected] Free Software Foundation Orders: [email protected] 51 Franklin Street, Fifth Floor Tel 617-542-5942 Boston, MA 02110-1301 USA Fax 617-542-2652 Last printed October 2003 for GCC 3.3.1. Printed copies are available for $45 each. Copyright c 1988-2015 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being \Funding Free Software", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled \GNU Free Documentation License". (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents Introduction ::::::::::::::::::::::::::::::::::::::::::::: 1 1 Programming Languages Supported by GCC ::::::::::::::: 3 2 Language Standards Supported by GCC :::::::::::::::::: 5 3 GCC Command Options ::::::::::::::::::::::::::::::: 9 4 C Implementation-Defined Behavior :::::::::::::::::::: 359 5 C++ Implementation-Defined Behavior ::::::::::::::::: 367 6 Extensions to -
Programmer's Guide
Software Development Kit for Multicore Acceleration Ver sion 3.1 Programmer’s Guide SC33-8325-03 Software Development Kit for Multicore Acceleration Ver sion 3.1 Programmer’s Guide SC33-8325-03 Note: Before using this information and the product it supports, read the general information in “Notices” on page 95. Edition Notice This edition applies to the version 3, release 1, modification 0 of the IBM Software Development Kit for Multicore Acceleration (Product number 5724-S84) and to all subsequent releases and modifications until otherwise indicated in new editions. | This edition replaces SC33-8325-02. © Copyright International Business Machines Corporation 2006, 2008. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Preface . .v Debugging SPE code . .24 About this book . .v Debugging in the Cell/B.E. environment . .31 What’s new for SDK 3.1 . .v Debugging multithreaded code . .32 Supported operating environments . .vi Using the combined debugger . .36 Supported hardware requirements . .vi New command reference . .41 Software requirements . .vi Debugging applications remotely . .43 Unsupported beta-level environments . .vi Overview of remote debugging. .43 Getting support . .vi Using remote debugging . .44 Related documentation . vii Starting remote debugging . .44 Chapter 1. SDK technical overview . .1 | Chapter 4. Debugging common Direct GNU tool chain . .1 | Memory Access (DMA) errors . .47 IBM XL C/C++ compiler . .2 | DMA errors . .47 Linux kernel . .3 | Using ppu-gdb to debug DMA errors. .48 Libraries and frameworks . .3 | Examples . .50 SPE Runtime Management Library Version 2.3 . .3 | Unaligned effective address . .50 SIMD math libraries . -
An Introduction to GCC for the GNU Compilers Gcc and G++
An Introduction to GCC for the GNU Compilers gcc and g++ Brian Gough Foreword by Richard M. Stallman A catalogue record for this book is available from the British Library. First printing, March 2004 (7/3/2004). Published by Network Theory Limited. 15 Royal Park Bristol BS8 3AL United Kingdom Email: [email protected] ISBN 0-9541617-9-3 Further information about this book is available from http://www.network-theory.co.uk/gcc/intro/ Cover Image: From a layout of a fast, energy-efficient hardware stack.(1) Image created with the free Electric VLSI design system by Steven Rubin of Static Free Software (www.staticfreesoft.com). Static Free Software provides support for Electric to the electronics design industry. Copyright °c 2004 Network Theory Ltd. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A Network Theory Manual”, and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License”. (a) The Back-Cover Text is: “The development of this manual was funded entirely by Network Theory Ltd. Copies published by Network Theory Ltd raise money for more free documentation.” The Texinfo source for this manual may be obtained from: http://www.network-theory.co.uk/gcc/intro/src/ (1) “A Fast and Energy-Efficient Stack” by J. Ebergen, D. Finchelstein, R. -
Unified Third Party End User License Agreements
CAREFULLY READ THIS COLLECTION OF INFORMATION AND LICENSE AGREEMENTS. BY CLICKING THE "ACCEPT" OR "AGREE" BUTTON, OR OTHERWISE ACCESSING, DOWNLOADING, INSTALLING OR USING THE SOFTWARE, YOU AGREE ON BEHALF OF LICENSEE TO BE BOUND BY THIS INFORMATION AND LICENSE AGREEMENTS (TO THE EXTENT APPLICABLE TO THE SPECIFIC SOFTWARE YOU OBTAIN AND THE SPECIFIC MANNER IN WHICH YOU USE SUCH SOFTWARE). IF LICENSEE DOES NOT AGREE TO ALL OF THE INFORMATION AND LICENSE AGREEMENTS BELOW, DO NOT CLICK THE "ACCEPT" OR "AGREE" BUTTON OR ACCESS, DOWNLOAD, INSTALL OR USE THE SOFTWARE; AND IF LICENSEE HAS ALREADY OBTAINED THE SOFTWARE FROM AN AUTHORIZED SOURCE, PROMPTLY RETURN IT FOR A REFUND. Part One: Overview. The following information applies to certain items of third-party technology that are included along with certain Xilinx software tools. Licensee's use of the GNU compilers (including associated libraries and utilities) may cause Licensee's software application (or board-support package) to be governed by certain third-party "open source" license agreements, as further described below. Licensee can avoid this result by using alternative compilers, libraries, and utilities of its own choosing in lieu of the GNU compilers (and associated libraries and utilities). Note: Licensee is solely responsible for checking the header files and other accompanying source files of all software applications created from the use of the GNU compliers (and associated libraries and utilities) because such header and/or source files may contain or describe various copyright notices and license terms and conditions governing such files, which vary from case to case based on Licensee's usage and are beyond the control of Xilinx. -
Unix Programmer's Manual
UNIX PROGRAMMER'S MANUAL 4.2 Berkeley Software Distribution, Volume 2c Virtual VAX -11 Version August, 1983 Computer Systems Research Group Department of Electrical Engineering and Computer Science University of California Berkeley, California 94720 Copyright 1979, 1980 Regents of the University of California. Permission to copy these documents or any portion thereof as necessary for licensed use of the software is granted to licensees of this software, provided this copyright notice and statement of permission are included. The document "Writing Tools - The STYLE and DICTION Programs" is copyri",hted 1979 by Bell Telephone Laboratories. Holders of a UNIX M/32V software license are permitted to copy this document, or any portion of it, as necessary for licensed use of the software, provided this copyright notice and statement of permission are included. The document "The Programming Language EFL" is copyrighted 1979 by Bell Telephone Laboratories. EFL has been approved for general release, so that one may copy it subject only to the restriction of giving proper acknowledgement to Bell Telephone·Laboratories. The documents "A Portable Fortran 77 Compiler" and "Fsck - The UNIX File System Check Program" are modifications of earlier documents which are copyri!thted 1979 by Bell Telephone Laboratories. Holders of a UNIX M/32V software license are permitted to copy these documents, or any portion of them, as necessary for licensed use of the software, provided this copyright notice and statement of permission are included. This manual reflects system enhancements made at Berkeley and sponsored in part by NSF Grants MCS-7807291, MCS-800S144" and MCS-74-07644-A04; DOE Contract DE-AT03-76SFOOO34 and Project Agreement DE-AS03-79ERI03S8; and by Defense' Advanced Research Projects Agency (DoD) ARP A Order No.