← Back to Patent Explorer
US5787284A Expired / Lapsed US ⏱️ 0.0 years remaining

Improving memory layout based on connectivity considerations

Assignee: International Business Machines Corp
•
Filing: 1996-10-07
•
Granted: 1998-07-28
•
Expires: 2016-10-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A technique used during interprocedural compilation in which program objects are grouped together based on the weights of the connections between the objects and their costs. System-imposed constraints on memory size can be taken into account to avoid creating groupings that overload the system's capacity. The groupings can be distributed over memories located on different processors.

Inventors

  • 👤 Robert James Blainey
  • 👤 Christopher Michael Donawa
  • 👤 James Lawrence McInnes

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 05:10
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/44; G06F8/443; G06F9/00; G06F9/06; G06F9/44; G06F9/445; G06F9/44557

Claims Analysis

Total Claims: 7
Claim 1
Independent Claim 74 words
A method for optimizing a memory layout of program objects, comprising the computer implemented steps of: weighting the access connections between the program objects and determining the cost of the program objects during complication; building aggregates of the program objects for larger weighted connections before smaller weighted connections, limited by a maximum aggregate cost; and generating code to map the groups to memory; whereby the code optimizes the memory layout of the program objects.
Claim 2
Independent Claim 74 words
A method for optimizing a memory layout of program objects, comprising the computer implemented steps of: weighting the access connections between the program objects and determining the cost of the program objects during complication; building aggregates of the program objects for larger weighted connections before smaller weighted connections, limited by a maximum aggregate cost; and generating code to map the groups to memory; whereby the code optimizes the memory layout of the program objects.
Claim 3
Dependent Claim 22 words
A method according to claim 1 wherein the step of generating code comprises generating code to map the groups to distributed memories.
Claim 4
Independent Claim 84 words
A method for optimizing memory layout following complication, comprising the computer-implemented steps of: defining a limit; identifying a referenced program object; building a weighted graph wherein weights on nodes represent program object size and weights on edges represent access relationships between nodes; grouping the heaviest edges together from the weighted interference graph while the total weight of the nodes does not meet the limit; and remapping the program objects based on the grouping; the remapping producing an optimized memory layout of the program objects.
Claim 5
Independent Claim 84 words
A method for optimizing memory layout following complication, comprising the computer-implemented steps of: defining a limit; identifying a referenced program object; building a weighted graph wherein weights on nodes represent program object size and weights on edges represent access relationships between nodes; grouping the heaviest edges together from the weighted interference graph while the total weight of the nodes does not meet the limit; and remapping the program objects based on the grouping; the remapping producing an optimized memory layout of the program objects.
Claim 6
Dependent Claim 93 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps of optimizing memory layout following complication, said method steps comprising: defining a limit; identifying a referenced program object; building a weighted graph wherein weights on nodes represent program object size and weights on edges represent access relationships between nodes; grouping the heaviest edges together from the weighted interference graph while the total weight of the nodes does not meet a preset limit; and remapping the program objects based on the grouping.
Claim 7
Dependent Claim 93 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps of optimizing memory layout following complication, said method steps comprising: defining a limit; identifying a referenced program object; building a weighted graph wherein weights on nodes represent program object size and weights on edges represent access relationships between nodes; grouping the heaviest edges together from the weighted interference graph while the total weight of the nodes does not meet a preset limit; and remapping the program objects based on the grouping.

References Cited (Backward Citations)

US5193190A Cited
US5428793A Cited
US5555417A Cited
US5107418A Cited
US5530866A Cited
US5367683A Cited
CA2102088A1 Cited
US5606697A Cited
US5485616A Cited
US5579520A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-27 2002-01-26 2002-07-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-27 2006-01-26 2006-07-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-27 2010-01-26 2010-07-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag