Patents by Inventor Barbara Bluestein Simons

Barbara Bluestein Simons has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6839895
    Abstract: Code restructuring or reordering based on profiling information and memory hierarchy is provided by constructing a Program Execution Graph (PEG) corresponding to a level of the memory hierarchy, partitioning this PEG to reduce estimated memory overhead costs below an upper bound, and constructing a PEG for a next level of the memory hierarchy from the partitioned PEG. The PEG is constructed from control flow and frequency information from a profile of the program to be restructured. The PEG is a weighted undirected graph comprising nodes representing basic blocks and edges representing transfer of control between pairs of basic blocks. The weight of a node is the size of the basic block it represents and the weight of an edge is the frequency of transition between the pair of basic blocs it connects.
    Type: Grant
    Filed: October 10, 2000
    Date of Patent: January 4, 2005
    Assignee: International Business Machines Corporation
    Inventors: Dz Ching Ju, Kalyan Muthukumar, Shankar Ramaswamy, Barbara Bluestein Simons
  • Patent number: 6292938
    Abstract: An optimizing, compiler that performs retargetable object code generation for a specific processor by matching tree patterns in directed acyclic graphs derived from the source code.
    Type: Grant
    Filed: December 2, 1998
    Date of Patent: September 18, 2001
    Assignee: International Business Machines Corporation
    Inventors: Vivek Sarkar, Mauricio Jose Serrano, Barbara Bluestein Simons
  • Patent number: 6175957
    Abstract: Code restructuring or reordering based on profiling information and memory hierarchy is provided by constructing a Program Execution Graph (PEG) corresponding to a level of the memory hierarchy, partitioning this PEG to reduce estimated memory overhead costs below an upper bound, and constructing a PEG for a next level of the memory hierarchy from the partitioned PEG. The PEG is constructed from control flow and frequency information from a profile of the program to be restructured. The PEG is a weighted undirected graph comprising nodes representing basic blocks and edges representing transfer of control between pairs of basic blocks. The weight of a node is the size of the basic block it represents and the weight of an edge is the frequency of transition between the pair of basic blocks it connects. The nodes of the PEG are partitioned or clustered into clusters such that the sum of the weights of the nodes in any cluster is no greater than an upper bound.
    Type: Grant
    Filed: December 9, 1997
    Date of Patent: January 16, 2001
    Assignee: International Business Machines Corporation
    Inventors: Dz Ching Ju, Kalyan Muthukumar, Shankar Ramaswamy, Barbara Bluestein Simons
  • Patent number: 6044222
    Abstract: Improved scheduling of instructions within a loop for execution by a computer system having hardware lookahead is provided. A dependence graph is constructed which contains all the nodes of a dependence graph corresponding to the loop, but which only contains loop-independent dependence edges. A start node simulating a previous iteration of the loop may be added to the dependence graph, and an end node simulating a next iteration of the loop may also added to the dependence graph. A loop-independent edge between a source node and the start node is added to the dependence graph, and a loop-independent edge between a sink node and the end node is added to the dependence graph. Loop-carried edges which satisfy a computed lower bound on the time required for a single loop iteration are eliminated from a dependence graph, and loop-carried edges which do not satisfy the computed lower bound are replaced by a pair of loop-independent edges. Instructions may be scheduled for execution based on the dependence graph.
    Type: Grant
    Filed: June 23, 1997
    Date of Patent: March 28, 2000
    Assignee: International Business Machines Corporation
    Inventors: Barbara Bluestein Simons, Vivek Sarkar
  • 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