Abstract: A method for analyzing and optimizing programs that define and use aggregate data structures. A program to be analyzed and optimized is inspected to find definitions and uses of lvalues, which are regions of memory. The lvalues may be denoted by program variables, pointer expressions, or components of aggregate lvalues. A data-flow solver determines where definitions of lvalues reach uses. A set of "least general unifiers" are computed for the definitions and uses. A replacement variable is created for each least general unifier that is determined to be replaceable. Each reference to an lvalue that corresponds to a replaceable least general unifier is replaced by a reference to the corresponding replacement variable or a component thereof. The method is applicable even in the presence of potential aliasing.
Abstract: A method of setting array boundaries in order to simplify addressing across processor elements in a distributed memory system having global addressing. Each dimension of an array is examined to determine a lower bound, a declared upper bound and an implicit upper bound. The lower bound and the declared upper bound in each dimension are used to set limits for operations on array elements while the implicit upper bound calculated from the lower bound and the declared upper bound is used in calculating the location (processor element and offset) of a particular array element.
Type:
Grant
Filed:
December 10, 1993
Date of Patent:
December 17, 1996
Assignee:
Cray Research, Inc.
Inventors:
Thomas A. MacDonald, Janet M. Eberhart, Douglas M. Pase
Abstract: Local and remote processes can be controlled from a data processing system performance monitor. Multiple processes can be controlled concurrently with a single action selected. Processes to be controlled can be ranked when presented to a user, to assist in determining problematic processes that need attention. Process data is captured dynamically at local and remote processes using a daemon to minimize system overhead in monitoring and controlling processes.
Type:
Grant
Filed:
October 23, 1992
Date of Patent:
July 11, 1995
Assignee:
International Business Machines Corporation
Inventors:
James N. Chen, Niels Christiansen, Joseph C. Ross, Albert T. Rowan