Patents Represented by Attorney, Agent or Law Firm Prentiss W. Johnson
  • Patent number: 5953531
    Abstract: An optimized set of block sizes for a nest of loops for improved data locality is determined by estimating a memory cost per iteration as a function of the block sizes and selecting a set of block sizes that yield a minimum memory cost per iteration subject to a plurality of constraints. An objective function is an estimated memory cost per iteration as a function of the block sizes. An optimal solution is provided by evaluating the objective function for candidate points in the iteration space. These candidate points comprise: corner points of the iteration space, intersections between constraints and the edges of the iteration space, zero-derivative points for the curve that is the intersection of constraints with the objective function, intersection points between constraints, and local optimum of the objective function. Alternatively, an optimized set of block sizes for a nest of loops may be determined by iteratively searching the iteration space for the optimal solution.
    Type: Grant
    Filed: July 25, 1997
    Date of Patent: September 14, 1999
    Assignee: International Business Machines Corporation
    Inventors: Nimrod Megiddo, Vivek Sarkar
  • Patent number: 5953715
    Abstract: A method for externalizing database monitor information, and a database management system incorporating the method, which utilizes the database system's own data manipulation and retrieval system is disclosed. Monitor information is logically available in pseudotable form which may be accessed as any other data. However pseudotables do not actually exist; rather the result set is constructed when a request is made to select from a pseudotable. A predefined format for each pseudotables is stored in the database catalog tables and is used in constructing the tuples from existing internal data structures which are constantly updated with monitor data.
    Type: Grant
    Filed: November 3, 1997
    Date of Patent: September 14, 1999
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Cincinatus, Serge Boivin, Margaret H. Li, Richard W. Hedges, K. Bernhard Schiefer
  • Patent number: 5937194
    Abstract: A data-parallel reduction operation is performed by a group of threads, a rope, participating in a multi-level two-phase tree structure: a fan-in computation phase followed by a fan-out broadcast phase. Local reductions are performed at each subtree during the fan-in phase, and the final reduced value is broadcast to all the threads during the fan-out phase. As the reduction operation is a data-parallel operation, the reduction operation is rope specific and is provided by the use of a parallel computation skeleton which is a fan-in followed by the fan-out, a data-type specific binary operation, and a final broadcast that takes place in the reduction operation. When the rope object is constructed, the parallel computation skeleton is automatically constructed. The threads in a rope may perform type-specific reduction operations by cloning this parallel computation skeleton to a data-type specific reduction object for that type.
    Type: Grant
    Filed: March 12, 1997
    Date of Patent: August 10, 1999
    Assignee: International Business Machines Corporation
    Inventor: Neelakantan Sundaresan
  • Patent number: 5933820
    Abstract: The system, method, and program product of this invention allows a database management system to internally use direct and indirect pointing to locate targeted data elements that are logically related to another data element or are a target of a secondary index. By using direct and indirect pointing, the number of steps involved in a reorganization of the database can be reduced. After a reorganization, the database management system does not go back, in a separate process, to update all of the direct pointers that have pointed to segments that have moved as a result of the reorganization. Instead, the direct pointer is updated, by using the indirect pointer, only upon a first reference to the targeted data element that has moved.
    Type: Grant
    Filed: May 20, 1996
    Date of Patent: August 3, 1999
    Assignee: International Business Machines Corporation
    Inventors: Harley Al Beier, Sidney Kornelis, Vern L. Watts
  • Patent number: 5887174
    Abstract: Instructions are scheduled for execution by a processor having a lookahead buffer by identifying an idle slot in a first instruction schedule of a first basic block of instructions, and by rescheduling the idle slot later in the first instruction schedule. The idle slot is rescheduled by determining if the first basic block of instructions may be rescheduled into a second instruction schedule in which the identified idle slot is scheduled later than in the first instruction schedule. The first basic block of instructions is rescheduled by determining a completion deadline of the first instruction schedule, decreasing the completion deadline, and determining the second instruction schedule based on the decreased completion deadline. Deadlines are determined by computing a rank of each node of a DAG corresponding to the first basic block of instructions; constructing an ordered list of the DAG nodes in nondecreasing rank order; and applying a greedy scheduling heuristic to the ordered list.
    Type: Grant
    Filed: June 18, 1996
    Date of Patent: March 23, 1999
    Assignee: International Business Machines Corporation
    Inventors: Barbara Bluestein Simons, Vivek Sarkar
  • Patent number: 5845126
    Abstract: Method of, system for, and computer program product for generating efficient code for a set of nested Fortran 90 array constructors without introducing temporary vectors by the use of normalized counters and by maintaining array constructor extent structure trees. Non-perfectly nested array constructors and array constructors with dynamic extents may be inlined. The results provided include a reduction in run-time memory storage usage and an improvement in execution time performance.
    Type: Grant
    Filed: December 6, 1995
    Date of Patent: December 1, 1998
    Assignee: International Business Machines Corporation
    Inventors: Dz Ching Ju, John Shek-Luen Ng
  • Patent number: 5794046
    Abstract: A debugger client/server application comprising a front-end and one or more back-ends, including a Director component which handles most of the initialization and parallel execution control issues and a rp.sub.-- client component and rp.sub.-- server component which handles most of the distributed execution issues. The Director allows a Debug Engine to be unaware of most of the parallel and distributed aspects of the application. Thus, the Debug Engine can be created by re-using a serial debugger for presenting the state information about the various programs that make up the application.
    Type: Grant
    Filed: June 5, 1997
    Date of Patent: August 11, 1998
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Meier, Hsin Pan
  • Patent number: 5790859
    Abstract: Privatization or identification of private variables in single-entry strongly connected regions or program loops by the use of dummy identity assignment statements. Dummy identity assignment statements, V=V, are inserted in the header block and postexit blocks of each single-entry strongly connected region for each variable V with a definition in the single-entry strongly connected region (SCR). USE functions of the dummy identity assignment statements are determined. The dummy definition of a variable in an SCR header block is used to test if there exists a loop-carried flow dependence on the variable in the SCR. Dummy definitions of the variable in postexit blocks of the SCR are used to test if the variable would require to be copied out on exit from the SCR. The dummy definition of the variable in header block of the SCR is used to test if only the last iteration value of the variable needs to be copied out.
    Type: Grant
    Filed: December 21, 1995
    Date of Patent: August 4, 1998
    Assignee: International Business Machines Corporation
    Inventor: Vivek Sarkar
  • Patent number: 5781778
    Abstract: A debugger client/server application comprising a front-end and one or more back-ends, including a Director component which handles most of the initialization and parallel execution control issues and a rp.sub.-- client component and rp.sub.-- server component which handles most of the distributed execution issues. The Director allows a Debug Engine to be unaware of most of the parallel and distributed aspects of the application. Thus, the Debug Engine can be created by re-using a serial debugger for presenting the state information about the various programs that make up the application.
    Type: Grant
    Filed: June 5, 1997
    Date of Patent: July 14, 1998
    Assignee: International Business Machines Corporation
    Inventors: Michael S. Meier, Hsin Pan
  • Patent number: 5414841
    Abstract: A computer token identification system uses a plurality of unique tokens to represent a plurality of items. The token architecture consists of a delimiter field, a version field, and a variable field. The delimiter field contains at least one token recognition character. The version field immediately follows the delimiter field and contains the version string of at least one character identifying a unique token version. The variable field immediately follows the version field and contains a variable string of at least one character conforming to a format specification for the token version. Each variable string is unique for a token version. The version string and variable string can be of varying lengths, and the characters of the version string and variable string that are adjacent are from different character set types.
    Type: Grant
    Filed: October 19, 1992
    Date of Patent: May 9, 1995
    Assignee: International Business Machines Corporation
    Inventors: Ronald E. Bingham, Michael J. Dockter, Joel F. Farber, Kevin D. Seppi
  • Patent number: 5375239
    Abstract: A method and system for dynamically scheduling the building of computer programs from source code parts which may have dependencies which require that some parts be compiled before others. A list of source code parts and dependencies is dynamically created as compilation of the parts is attempted. The build status for each part is tracked. The list is repeatedly processed until none of the build status fields changes during an entire pass through the list. The source code parts which cannot be compiled and integrated in the build for reasons such as circular compilation dependencies or references to non-existing, prerequisite source code parts will be identified by this process.
    Type: Grant
    Filed: February 12, 1993
    Date of Patent: December 20, 1994
    Assignee: International Business Machines Corporation
    Inventor: Douglas J. Mortson
  • Patent number: 5345585
    Abstract: A join optimization method is provided for use with a data processor for optimizing the processing of a query for retrieval of data from a relational computer database. The database is organized by relations and data is retrieved by preforming join operations on the relations. The join operations are optimized by randomly selecting an initial order for the join operations, assigning optimal join methods based on the initial order, finding an optimal order based on the assigned methods and repeating a polynomial number of times. The Krishanmurthy, Boral and Zaniolo (KBZ) Algorithm is used to determine a join optimization sequence and further refinement is provided by determining costs for alternate join order sequences using alternate join methods.
    Type: Grant
    Filed: December 2, 1991
    Date of Patent: September 6, 1994
    Assignee: International Business Machines Corporation
    Inventors: Balakrishna R. Iyer, Arun N. Swami
  • Patent number: 5302950
    Abstract: Method of, and apparatus for, providing automatic detection of potential information loss due to undersampling and automatic detection of potential storage waste due to oversampling based on automatic determination of an analog signal's Nyquist rate. The invention acquires an analog signal, determines a maximum frequency of the analog signal and a corresponding Nyquist rate, and allows a user to select a sampling rate based on either the automatically determined Nyquist sampling rate, a user specified sampling rate, a sampling rate determined by a user specified bandwidth, or a sampling rate determined by user specified available space. The invention also informs a user when a loss of information may occur due to a sampling rate being less than the Nyquist rate. The invention also informs a user when a waste of storage may occur due to a sampling rate being greater than the Nyquist rate.
    Type: Grant
    Filed: July 17, 1992
    Date of Patent: April 12, 1994
    Assignee: International Business Machines Corp.
    Inventors: William J. Johnson, Larry M. Lachman, Guillermo Vega, Marvin L. Williams