Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
398 words
A multiprocessor system which performs the method of dynamically allocating and replicating global data, said system having distributed shared resources and dynamic global data replication comprising a system bus, a plurality of central processing units (CPU) operating under control of a UNIX type operating system, each CPU comprising a processor, a related local memory connected to said processor, a related memory management unit (MMU) connected to said processor for converting virtual addresses received from said processor into addresses having a bit field which identifies said addresses as related to global data used in more CPUs of said plurality and which read replication in the local memory of each CPU in said plurality, or as related to local data used by one only of said CPUs and an interface unit connected to said system bus and enabling information exchange among said CPUs through said system bus, said method comprising the steps of: generating a memory table (GSD) in the local memory of each of said CPUs under control of said operating system for referencing by codes related to virtual page addresses of shared segments, said memory table storing information which, for each virtual page address, defines if the data in said virtual page are global data or local data and in which of said CPUs said global data are used and validity stored in the related local memory; at least one CPU of said plurality of CPUs performing a page fault procedure in response to an indication of missing page generated by the related MMU which references said GSD table in the local memory related to said one CPU upon detecting that said missing page is used in another CPU of said plurality of CPUs and stored in the local memory of said another CPU as local data page, for generating signals for requesting all other CPUs to allocate a free physical memory page of the related local memory for storing a global data page and for causing said page missing in said one CPU and stored in the local memory of said another CPU to be replicated in the local memories of all other of said CPUs; and, changing the information stored in said GSD table by said one CPU to indicate that said page requested to be replicated is global upon completion of said page being replicated in the local memories of all other of said CPUs.
Claim 2
Dependent Claim
398 words
A multiprocessor system which performs the method of dynamically allocating and replicating global data, said system having distributed shared resources and dynamic global data replication comprising a system bus, a plurality of central processing units (CPU) operating under control of a UNIX type operating system, each CPU comprising a processor, a related local memory connected to said processor, a related memory management unit (MMU) connected to said processor for converting virtual addresses received from said processor into addresses having a bit field which identifies said addresses as related to global data used in more CPUs of said plurality and which read replication in the local memory of each CPU in said plurality, or as related to local data used by one only of said CPUs and an interface unit connected to said system bus and enabling information exchange among said CPUs through said system bus, said method comprising the steps of: generating a memory table (GSD) in the local memory of each of said CPUs under control of said operating system for referencing by codes related to virtual page addresses of shared segments, said memory table storing information which, for each virtual page address, defines if the data in said virtual page are global data or local data and in which of said CPUs said global data are used and validity stored in the related local memory; at least one CPU of said plurality of CPUs performing a page fault procedure in response to an indication of missing page generated by the related MMU which references said GSD table in the local memory related to said one CPU upon detecting that said missing page is used in another CPU of said plurality of CPUs and stored in the local memory of said another CPU as local data page, for generating signals for requesting all other CPUs to allocate a free physical memory page of the related local memory for storing a global data page and for causing said page missing in said one CPU and stored in the local memory of said another CPU to be replicated in the local memories of all other of said CPUs; and, changing the information stored in said GSD table by said one CPU to indicate that said page requested to be replicated is global upon completion of said page being replicated in the local memories of all other of said CPUs.
Claim 3
Dependent Claim
83 words
The method of claim 1 further comprising the steps of: detecting at the end of a process executed in said further CPU by said further CPU when a global data page is no longer being used in said further CPU but is still in use in at least two other CPUs and modifying information stored in said GSD table by said one CPU to indicate that said page which is no longer used in said further CPU is invalid in said further CPU.
Claim 4
Dependent Claim
114 words
The method of claim 1 further comprising the steps of: detecting at the end of a process executed in said further CPU by said further CPU when a global data page is no longer being used in said further CPU and is still used in only one CPU among said CPUs, and causing a modification of information stored in said GSD table by said one CPU upon detecting that said global data page is no longer being used in said further CPU to indicate that said page used in said one CPU, is a local data page which does not need replication in the local memories of said CPUs other than said one CPU.
Claim 5
Dependent Claim
109 words
The method of claim 1 wherein said GSD table stores for each virtual page address of a page defined as global data page by said GSD table, a page address code, named real page address and, each of said CPUs further including translation means for translating said real page address into physical page addresses with criteria autonomous for each of said CPUs, and wherein said MMU in each of said CPUs when referencing data in pages designated as global by said GSD table generates an address having a first field consisting of said real page address and said bit field identifying said address as related to a global data.
Claim 6
Dependent Claim
310 words
In a multiprocessor system having distributed shared resources and comprising a system bus, a plurality of central processing units (CPU), each CPU comprising a processor and a logical memory, a memory management unit (MMU) and an interface unit connected to said system bus for enabling information exchange among said CPUs through said system bus, a method for dynamically allocating and replicating global data comprising the steps of: (a) generating by any one of said plurality of CPUs for each shared data segment, a table GSD which for each page of said shared segment contains information indicating if the page is global or used by processes active in more than one of said CPUs, or local or used by one or more processes active in only one of said CPUs, information further indicating in which of said CPUs said page is used and in which of CPU local memories said page is stored; (b) detecting by one CPU by means of said GSD table, if a shared data page needed by a process active in one CPU of said plurality of CPUs is being used in another process created in another CPU of said plurality of CPUs, and stored in the local memory of said another CPU; (c) requesting by said one CPU to all said CPUs other than said another CPU when the result in step (b) is affirmative, to allocate a physical memory page of the related local memory for storing a global data page; (d) replicating by said another CPU, said page needed by said process active in said one CPU, and stored in the local memory of said another CPU, in the local memory of all said CPUs; and, (e) changing by a CPU of said plurality of CPUs, the information stored in said GSD table to indicate that said page replicated in step (d) is global.
Claim 7
Dependent Claim
310 words
In a multiprocessor system having distributed shared resources and comprising a system bus, a plurality of central processing units (CPU), each CPU comprising a processor and a logical memory, a memory management unit (MMU) and an interface unit connected to said system bus for enabling information exchange among said CPUs through said system bus, a method for dynamically allocating and replicating global data comprising the steps of: (a) generating by any one of said plurality of CPUs for each shared data segment, a table GSD which for each page of said shared segment contains information indicating if the page is global or used by processes active in more than one of said CPUs, or local or used by one or more processes active in only one of said CPUs, information further indicating in which of said CPUs said page is used and in which of CPU local memories said page is stored; (b) detecting by one CPU by means of said GSD table, if a shared data page needed by a process active in one CPU of said plurality of CPUs is being used in another process created in another CPU of said plurality of CPUs, and stored in the local memory of said another CPU; (c) requesting by said one CPU to all said CPUs other than said another CPU when the result in step (b) is affirmative, to allocate a physical memory page of the related local memory for storing a global data page; (d) replicating by said another CPU, said page needed by said process active in said one CPU, and stored in the local memory of said another CPU, in the local memory of all said CPUs; and, (e) changing by a CPU of said plurality of CPUs, the information stored in said GSD table to indicate that said page replicated in step (d) is global.
Claim 8
Dependent Claim
105 words
The method of claim 5 further comprising the steps of: (f) detecting by a further CPU of said plurality of CPUs at the end of a process executed in said further CPU of said plurality of CPUs if a global data page previously used in said process is no longer needed in said further CPU but is still in use in at least two of said CPUs; and, (g) upon detecting an affirmative result in step (f), changing the information stored in said GSD table to indicate that said page which is no longer needed in said further CPU is invalid in said further CPU.
Claim 9
Dependent Claim
139 words
The method of claim 6 further comprising the steps of: (h) detecting by said further CPU at the end of a process executed in said further CPU of said plurality of CPUs if a global data page previously used in said process is no longer needed in said further CPU but is still used in only one CPU of said plurality of CPUs; and, (i) upon detecting an affirmative response in step (h) and that said further CPU having changed the information stored in said GSD table to indicate that said page which is no longer needed in said further CPU is invalid in said further CPU, said only one CPU further changing the information stored in said GSD table to indicate that said page no longer needed in said further CPU, is local only to said one CPU.