Patent US5566321A successfully refreshed from Google Patents.
US5566321A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method of managing distributed memory within a massively parallel processing system
Assignee: Morgan Stanley and Co LLC
•
Filing: 1993-12-13
•
Granted: 1996-10-15
•
Expires: 2013-12-13
Abstract
Abstract A method of managing distributed memory in which a local memory is partitioned into a shared heap segment, a shared stack segment, a private heap segment and a private stack segment. One of the segments starts at a fixed address and grows upward. A second segment starts at a fixed address and grows downward. A third segment starts at a relocatable segment wall and grows downward and a fourth segment starts at a relocatable segment wall and grows upward.
Inventors
- 👤 Douglas M. Pase
- 👤 Dave Wagner
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-29 23:27
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223
Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
271 words
In a computer system having a plurality of processing elements connected by an interconnect network, wherein the plurality of processing elements includes a first processing element and a second processing element, wherein said :first processing element includes a first processor connected to a first local memory and wherein said second processing element includes a second processor connected to a second local memory, a method of allocating memory in local memory of said first and second processing elements, the method comprising the steps of: partitioning the first local memory into a private heap segment, a private stack segment, a shared heap segment and a shared stack segment; partitioning the second local memory into a private heap segment, a private stack segment, a shared heap segment and a shared stack segment; fixing one end of the first local memory's shared heap segment at a first predetermined location within said first local memory; fixing one end of the second local memory's shared heap segment at the same first predetermined location within said second local memory; fixing one end of the first local memory's shared stack segment at a second predetermined location within said first local memory; fixing one end of the second local memory's shared stack segment at the same second predetermined location within said second local memory; placing the private heap segment and the private stack segment within each of said first and said second local memories; and growing and shrinking said shared heap segments and said shared stack segments such that said first and second shared heap segments remain equal size and said first and second shared stack segments remain equal size.
Claim 2
Dependent Claim
271 words
In a computer system having a plurality of processing elements connected by an interconnect network, wherein the plurality of processing elements includes a first processing element and a second processing element, wherein said :first processing element includes a first processor connected to a first local memory and wherein said second processing element includes a second processor connected to a second local memory, a method of allocating memory in local memory of said first and second processing elements, the method comprising the steps of: partitioning the first local memory into a private heap segment, a private stack segment, a shared heap segment and a shared stack segment; partitioning the second local memory into a private heap segment, a private stack segment, a shared heap segment and a shared stack segment; fixing one end of the first local memory's shared heap segment at a first predetermined location within said first local memory; fixing one end of the second local memory's shared heap segment at the same first predetermined location within said second local memory; fixing one end of the first local memory's shared stack segment at a second predetermined location within said first local memory; fixing one end of the second local memory's shared stack segment at the same second predetermined location within said second local memory; placing the private heap segment and the private stack segment within each of said first and said second local memories; and growing and shrinking said shared heap segments and said shared stack segments such that said first and second shared heap segments remain equal size and said first and second shared stack segments remain equal size.
Claim 3
Dependent Claim
99 words
The method according to claim 1 wherein the step of growing and shrinking includes the step of keeping the shared heap segment and the shared stack segment within a first portion of memory within each of said first and said second local memories; and wherein the step of placing the private heap segment and the private stack segment comprises the step of keeping the private heap segment and the private stack segment within a second portion of memory within each of said first and said second local memories, wherein said first and second portions of memory do not overlap.
Claim 4
Dependent Claim
44 words
The method according to claim 1 wherein the step of placing the private heap segment and the private stack segment comprises the step of locating the private heap segment and the private stack segment between the shared heap segment and the shared stack segment.
Claim 5
Dependent Claim
34 words
The method according to claim 3 wherein the step of locating includes the step of incorporating a free memory area between the private heap segment and the private stack segment on each local memory.
Claim 6
Dependent Claim
126 words
A computer system comprising: a plurality of processing elements, wherein each processing element includes a processor and a local memory connected to processor; and an interconnection network connecting the plurality of processing elements; wherein each local memory includes a private heap segment, a private stack segment, a shared heap segment and a shared stack segment, wherein the shared heap segment starts at a first predetermined address within each local memory and wherein the shared stack segment starts at a second predetermined address within each local memory, wherein said shared heap segment and said shared stack segment grow toward each other within each local memory, and wherein each of said shared heap segments remain equal size and wherein each of said shared stack segments remain equal size.
Claim 7
Dependent Claim
126 words
A computer system comprising: a plurality of processing elements, wherein each processing element includes a processor and a local memory connected to processor; and an interconnection network connecting the plurality of processing elements; wherein each local memory includes a private heap segment, a private stack segment, a shared heap segment and a shared stack segment, wherein the shared heap segment starts at a first predetermined address within each local memory and wherein the shared stack segment starts at a second predetermined address within each local memory, wherein said shared heap segment and said shared stack segment grow toward each other within each local memory, and wherein each of said shared heap segments remain equal size and wherein each of said shared stack segments remain equal size.
Claim 8
Dependent Claim
259 words
In a computer system having a plurality of processing elements connected by an interconnect network, wherein each of the plurality of processing elements includes a processor connected to a local memory and wherein the local memory is part of a globally addressable memory model wherein each of the plurality of processing elements can access local memory of another processing element by providing a physical address into the local memory of the other processing element, a method of allocating memory in local memory of each of said processing elements, the method comprising the steps of: allocating shared memory, wherein the step of allocating shared memory includes the steps of: allocating memory for a shared heap segment in each of said local memories, wherein the step of allocating includes the steps of: defining a shared heap segment size; and fixing one end of the shared heap segment at a first predetermined physical address within each of the local memories; allocating memory for a shared stack segment in each of said local memories, wherein the step of allocating includes the steps of: defining a shared stack segment size; and fixing one end of the shared stack segment at a second predetermined physical address within each of the local memories; allocating memory for a private heap segment in each of said local memories; allocating memory for a private stack segment in each of said local memories; increasing and decreasing the shared heap segment size equally on each local memory; and increasing and decreasing the shared stack segment size equally on each local memory.
Claim 9
Dependent Claim
259 words
In a computer system having a plurality of processing elements connected by an interconnect network, wherein each of the plurality of processing elements includes a processor connected to a local memory and wherein the local memory is part of a globally addressable memory model wherein each of the plurality of processing elements can access local memory of another processing element by providing a physical address into the local memory of the other processing element, a method of allocating memory in local memory of each of said processing elements, the method comprising the steps of: allocating shared memory, wherein the step of allocating shared memory includes the steps of: allocating memory for a shared heap segment in each of said local memories, wherein the step of allocating includes the steps of: defining a shared heap segment size; and fixing one end of the shared heap segment at a first predetermined physical address within each of the local memories; allocating memory for a shared stack segment in each of said local memories, wherein the step of allocating includes the steps of: defining a shared stack segment size; and fixing one end of the shared stack segment at a second predetermined physical address within each of the local memories; allocating memory for a private heap segment in each of said local memories; allocating memory for a private stack segment in each of said local memories; increasing and decreasing the shared heap segment size equally on each local memory; and increasing and decreasing the shared stack segment size equally on each local memory.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-10-15 | 2000-04-15 | 2000-10-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-10-15 | 2004-04-15 | 2004-10-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-10-15 | 2008-04-15 | 2008-10-15 | $7700.00 | Window Closed / Lapsed |