Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
151 words
A method of managing the memory of a multiprocessor computer system including a plurality of CPU modules to which processes to be run on said computer system are assigned, said computer system also including a storage medium connected to said modules via a global interconnect, each of said CPU modules including a processor and a coupled memory region, said method comprising the steps of: transferring, from said storage medium, the data and stack pages of a process to be run on said computer system to the coupled memory region of the CPU module to which the process is assigned; and determining, at prescribed intervals, if the free memory of each of said coupled memory regions is below a threshold and, if below the threshold, scanning a predetermined number of pages and placing infrequently used pages on a list of pages that can be replaced with pages stored in said storage medium.
Claim 2
Independent Claim
151 words
A method of managing the memory of a multiprocessor computer system including a plurality of CPU modules to which processes to be run on said computer system are assigned, said computer system also including a storage medium connected to said modules via a global interconnect, each of said CPU modules including a processor and a coupled memory region, said method comprising the steps of: transferring, from said storage medium, the data and stack pages of a process to be run on said computer system to the coupled memory region of the CPU module to which the process is assigned; and determining, at prescribed intervals, if the free memory of each of said coupled memory regions is below a threshold and, if below the threshold, scanning a predetermined number of pages and placing infrequently used pages on a list of pages that can be replaced with pages stored in said storage medium.
Claim 3
Dependent Claim
72 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 1 wherein said multiprocessor computer system also includes global memory connected to said plurality of CPU modules and said storage medium via said global interconnect and including the step of transferring, from said storage medium, pages other than the data and stack pages of a process to be run on said computer system to said global memory.
Claim 4
Dependent Claim
71 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 2 wherein said steps of transferring data and stack pages to the coupled memory region of the CPU module to which a process is assigned and said step of transferring pages other than data and stack pages of a process to be run on said computer system to said global memory includes a page fault process.
Claim 5
Dependent Claim
57 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 3 wherein said page fault process first determines if a page is in said coupled memory regions or said global memory and, thus, is reclaimable before transferring a page to the appropriate one of said coupled memory regions and said global memory.
Claim 6
Dependent Claim
60 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 4 wherein reclaimable pages other than data and stack pages are reclaimed in global memory and wherein data or stack pages located in the coupled memory region of a CPU module to which a process has been assigned are reclaimed in said coupled memory region.
Claim 7
Dependent Claim
51 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 5 wherein reclaimable pages not located in the coupled memory of the CPU module to which a process is assigned are copied into the coupled memory of the CPU module to which a process is assigned.
Claim 8
Dependent Claim
53 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 6 wherein nonreclaimable data and stack pages are allocated to the coupled memory of the CPU module to which a process is assigned and wherein nonreclaimable pages other than data and stack pages are allocated to global memory.
Claim 9
Dependent Claim
38 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 1 or 2, including a paging daemon associated with each coupled memory region of each CPU module to which processes can be assigned.
Claim 10
Dependent Claim
89 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 8 wherein said paging daemon: (i) determines the number of pages to scan if the free memory of a particular region is less than a threshold; (ii) on a page-by-page basis, determines if each page of the number scanned is still in use; and (iii) deallocates pages not in use by placing them either at the head or the end of a free page list associated with the particular region running the paging daemon.
Claim 11
Dependent Claim
48 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 9 wherein said paging daemon includes front and back clock hands programmed to point at spaced-apart pages, said clock hands being incremented after each determination of whether a page is still in use.
Claim 12
Dependent Claim
47 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 10 wherein said step of determining if a page is still in use includes a determination of whether a page is dirty and writing dirty pages to disk before they are deallocated.
Claim 13
Dependent Claim
57 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 11 wherein pages associated with terminating processes are placed at the head of the free page list of the associated coupled memory region and other pages are placed at the end of the free page list of the associated coupled memory region.
Claim 14
Dependent Claim
68 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 2 wherein said step of transferring, from said storage medium, data and stack pages to the coupled memory region of the CPU module to which a process is assigned and the step of transferring, from said storage medium, pages other than data and stack pages to global memory includes a page allocation routine.
Claim 15
Dependent Claim
53 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 13 wherein said page allocation routine allocates pages other than data and stack pages to global memory and allocates data and stack pages to the coupled memory of the CPU module to which a related process is assigned.
Claim 16
Dependent Claim
36 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 14, including a paging daemon associated with each coupled memory region of each CPU module to which processes can be assigned.
Claim 17
Dependent Claim
89 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 15 wherein said paging daemon: (i) determines the number of pages to scan if the free memory of a particular region is less than a threshold; (ii) on a page-by-page basis, determines if each page of the number scanned is still in use; and (iii) deallocates pages not in use by placing them either at the head or the end of a free page list associated with the particular region running the paging daemon.
Claim 18
Dependent Claim
42 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 15 wherein said page allocation routine wakes up said paging daemon if sufficient memory is not available in the memory region to which a page is allocated.
Claim 19
Dependent Claim
47 words
A method of managing the memory of a multiprocessor computer system as claimed in claim 17 wherein said page allocation routine waits for said paging daemon to be executed if adequate free memory is not available in the memory region to which a page has been assigned.