In general, "Yes" to 1, and "No" to 2 and 3. The memory on a multi-processor platform will be shared. Thus, the 4GB addressed by the first processor will be the same 4GB addressed by the second, third and fourth processor. (I'm not sure what the PAE mode does or how it works.)
Use separate platforms connected through a network to get separately addressed memory between multiple processors.
Thank youall for the responses.
Assume a server with 4 (32 bit) CPUs, and total of 16 GB of RAM installed.
1) Can EACH of the 4 CPUs allocate up to 4 GB RAM?
2) If NO to 1), will all 4 CPUs actually share the 4 GB RAM (no more)?
3) If YES to 1), can each ofthe 4 CPUsuse its own 4 GB memory space without "intruding/overlapping" others?
4) Will the total memory space for the 4 CPUs, still be restricted to 4 GB, regardless how much memory installed?
Thank you all for the responses.
I like to further confirm that, for a server with 4 CPUs and 16 GB of RAM,
1)The total memory space for the 4 CPUs will still be restricted to 4 GB (the same, shared 4 GB RAM), regardless how much memory installed. --Correct?
2) "Use separate platforms connected through a network to get separately addressed memory between multiple processors"
--Could you explain this statement in detail ( How to actually get it done)?
Thanks to help.
If you use multiple nodes in an MPI cluster (typically 2 single-threaded CPUs per node, for 32-bit), each node has its own address space.
Thanks for the help.
Now back to memory 101. For a 32 bit CPU based system, before I install a software, such as Oracle Database, it requires 1 GB of RAM; or Application Server, it requires 1 GB of RAM; or another software, it requires 512 MB of RAM, another for 1 GB, another for 1 GB,...
Here is my understanding of the memory requirement: even if I have only 1 GB of RAM installed, it will satisfy the requirement, regardless how much memory requirement the other softwares need. If one program need 1 GB, the other need 1 GB, etc. The system will swap to meet the memory requirement. It will not do an arithmetic such 1 GB + 1 GB + + 512 MB + ... = total RAM needed?
--Is the above understanding correct? Please make a comment or correction on it.
Message Edited by scottjsn on 01-04-2006 11:16 AM
Just one thing comes into my mind about the relationship between the operating system such as the Linux or Windows 2003 and the memory.
1) For a server with a 32 bit CPU (at normal mode), the max. RAM can allocate is 4 GB (--this is understood). Does it matter what operating system the server runs on?
2) I learnt that some Linux OS can support up to 16 GB of RAM. But if on a 32 bit CPU, it still subjects to the upper limit of the 4 GB, which is the barrier, regardless which operating system to use. --Is this a correct understanding?
3) Someone ever said something like: an operating system (such as Windows 2003 enterprises edition)can map/allocate more than 4 GB RAM (under 32 bit CPU). Based on the recent information, I seriously doubt it.
Thanks to share your comment, opinion, and suggestion.
There are differences in addressable memory of ordinary applications under Windows and linux, but no good generalizations can be drawn. Under 32-bit linux, shared libraries begin loading at the 1GB mark, leaving only 1GB of contiguous space to the application. 32-bit Windows also has the OS taking space below the 2GB mark, a great deal of it in the case of XP SP2. When XP is booted with the special /3GB switch, the space between the 2GB and 3GB marks is available to applications specifically built to use it.
Thanks for the help. If I understand it correctly, for a system with 32 bit CPU chip and an operating system like Linux, the RAM barrier is still the 4 GB. --Correct?
To use the PAE, it will not happen automatically (i.e., the Linux willNOT automatically map more than 4 GB as needed)--one has to specifically configure the Linux, modify the kernal, or something else? If this is true, then to map more than 4 GB RAM under the 32 bit CPU is more complex, not something to take for granted (may need the expert level skill).-- Is this a correct understanding?
Also, many thanks for the detailed response to my tedious questions. Much appreciation.