Optimizing Alpha Executables on Windows NT with Spike

نویسندگان

  • Robert S. Cohn
  • David W. Goodwin
  • P. Geoffrey Lowney
چکیده

Vol. 9 No. 4 1997 3 Spike is a performance tool developed by DIGITAL to optimize Alpha executables on the Windows NT operating system. This optimization system has two main components: the Spike Optimizer and the Spike Optimization Environment. The Spike Optimizer reads in an executable, optimizes the code, and writes out the optimized version. The Optimizer uses profile feedback from previous runs of an application to guide its optimizations. Profile feedback is not commonly used in practice because it is difficult to collect, manage, and apply profile information. The Spike Optimization Environment provides a user-transparent profile feedback system that solves most of these problems, allowing a user to easily optimize large applications composed of many executables and dynamic link libraries (DLLs). Optimizing an executable image after it has been compiled and linked has several advantages. The Spike Optimizer can see the entire image and perform interprocedural optimizations, particularly with regard to code layout. The Optimizer can use profile feedback easily, because the executable that is profiled is the same executable that is optimized; no awkward mapping of profile data back to the source language takes place. Also, Spike can be used when the sources to an application are not available, which is beneficial when DIGITAL is working with independent software vendors (ISVs) to tune applications. Applications can be loosely classified into two categories: loop-intensive programs and call-intensive programs. Conventional compiler technology is well suited to loop-intensive programs. The important loops in a program in this category are within a single procedure, which is typically the unit of compilation. The control flow is predictable, and the compiler can use simple heuristics to determine the frequently executed parts of the procedure. Spike is designed for large, call-intensive programs; it uses interprocedural optimization and profile feedback. In call-intensive programs, the important loops span multiple procedures, and the loop bodies contain procedure calls. Consequently, optimizations on the loops must be interprocedural. The control flow is Optimizing Alpha Executables on Windows NT with Spike Robert S. Cohn David W. Goodwin P. Geoffrey Lowney

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Spike: An Optimizer for Alpha/NT Executables

Spike is a profile-directed optimizer for Alpha/NT executables that is actively being used to optimize shipping products. Spike consists of the Spike Optimization Environment (SOE) and the Spike Optimizer. Through both a graphical interface and a commandline interface, the Spike Optimization Environment provides a simple means to instrument and optimize large applications consisting of many ima...

متن کامل

Moving Atom to Windows NT for Alpha

For the last several years, the ATOM technology has provided a flexible tool for instrumenting and analyzing programs on DIGITAL Unix platforms. It has been used to design useful performance and debugging tools, such as basic block counters, cache simulators, and hierarchical profilers, that have been applied to a wide variety of applications. In this paper we present NT-Atom, a new implementat...

متن کامل

Wrapping Windows NT Binary Executables for Failure Simulation

In this short paper we describe a tool for testing the reliability and robustness of Windows NT soft ware applications under stressful environmental con ditions i e under system resource failure conditions Windows NT systems are increasingly being deployed in mission critical applications such as for command and control in US Navy ships However as re cently as July the Navy s Aegis missile crui...

متن کامل

Moderating the Execution of Applications on Win32 Platforms

This paper describes an approach and tool for providing administrative control over the execution of software on a Windows NT/2000 system. The kerneldriver–based approach provides the system administrator with a way of restricting users to running only approved applications. As a result, illegal, pirated, personal, and malicious software executables can be prevented from running on corporate ma...

متن کامل

A Statistical Analysis of User-Specific Profiles

This technical report examines common assumptions about computer users in profile-based optimization. We study execution profiles of interactive applications on Windows NT to understand how different users use the same program. The profiles were generated by the DIGITAL FX!32 emulator/binary translator system, which automatically runs the x86 version of Windows NT programs on NT/Alpha computers...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Digital Technical Journal

دوره 9  شماره 

صفحات  -

تاریخ انتشار 1998