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
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 |