Running on multiple core systems...
Moderator: Moderators
-
- Posts: 11
- Joined: 30 Nov 2007, 00:10
Running on multiple core systems...
Vista's release (or news about its planning/requirements) has caused manufacturers to overhaul a lot of their platforms. I've never personally had a need for anything more than what I've got right now (Turion 64 ML-40 2.2Ghz 2GB HP laptop which I paid about $1200 for). However, there's Gateway desktop systems down at Best Buy now for just under $1000 that have 3GB DDR2 with Intel Core Quad (4 procs) in them. Quite appealing for being cheaper than the portability I paid for in this laptop so I'm toying with the idea of getting one. If so, how well will your code be able to multithread four cores or has that been taken into consideration at all?
Not entirely true.
For example OTAI and NTai use threads, and the server code runs in its own thread for spring, albeit they shouldn't have much of an effect.
If youg et anything higher than 2GB of ram get 64bit otherwise if youg et 3GB your paying for ram you cant use due to reaching the upper end of the 32bit architectures limits somewhere around 2.5GB.
For Vista I would say a minimum of 2GB and dual core, precisely because Microsoft expected that and optimized it accordingly, and if Vista doesn't find it then it may end up doing a lot of unnecessary house keeping.
@Flozi: wha? I have an e6600 the dual core variant, and I should get worse frame rates than you.
For example OTAI and NTai use threads, and the server code runs in its own thread for spring, albeit they shouldn't have much of an effect.
If youg et anything higher than 2GB of ram get 64bit otherwise if youg et 3GB your paying for ram you cant use due to reaching the upper end of the 32bit architectures limits somewhere around 2.5GB.
For Vista I would say a minimum of 2GB and dual core, precisely because Microsoft expected that and optimized it accordingly, and if Vista doesn't find it then it may end up doing a lot of unnecessary house keeping.
@Flozi: wha? I have an e6600 the dual core variant, and I should get worse frame rates than you.
-
- Posts: 933
- Joined: 27 Feb 2006, 02:04
32bit Windows XP or Vista will address 3.25GB max, and you can actually address 3GB of that in a process if you edit your boot.ini or use BCD edit to allow 3GB of address space to processes with the IMAGE_FILE_LARGE_ADDRESS_AWARE header. Here's a helpful tutorial from MSDN: http://msdn2.microsoft.com/en-us/library/bb613473.aspx That header has to be enabled for 64 bit processes to use more than 2GB of memory as well.
Not true. What you're talking about is PAE extensions. This means that 36bit addresses are used, and thus they're stored in 64bit integers. This means 64bit drivers have to be written whcih opens a whole cna of worms making a switch to 64bit much more attractive.el_matarife wrote:32bit Windows XP or Vista will address 3.25GB max, and you can actually address 3GB of that in a process if you edit your boot.ini or use BCD edit to allow 3GB of address space to processes with the IMAGE_FILE_LARGE_ADDRESS_AWARE header. Here's a helpful tutorial from MSDN: http://msdn2.microsoft.com/en-us/library/bb613473.aspx That header has to be enabled for 64 bit processes to use more than 2GB of memory as well.
For this reason the PAE support in XP was dropped and the switch does absolutely nothing.
32 bti programs have a max memory footprint of 2GB disregarding architecture limits large address aware headers simply up that limit further but thats not a fix, because the upper limit isnt 4GB, its 4GB - video ram amount - bios - VGA - etc, this is why buying 4GB of ram and a 32bit OS is a waste of money.
And it does not have to be enabled for 64bit processes either. Possibly for XP 64bit.
The moral of the story:
If PC has >2GB ram always go 64bit.
- SwiftSpear
- Classic Community Lead
- Posts: 7287
- Joined: 12 Aug 2005, 09:29
-
- Posts: 933
- Joined: 27 Feb 2006, 02:04
I don't know about the /PAE switch but the /3GB switch definitely does work. There's a Vista equivalent where you use BCDEdit to add a UserVA 2900 flag as well. Regardless, you really should be using the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in applications because even if you don't compile it as 64bit it will still be able to use 4GB in a 64bit OS. Memory support and Windows Operating Systems documenting the /3GB tweak: http://www.microsoft.com/whdc/system/pl ... AEmem.mspx
Memory Limits for Windows releases documenting the process limits on 32 and 64bit on different Windows versions: http://msdn2.microsoft.com/en-us/library/aa366778.aspx
Memory Limits for Windows releases documenting the process limits on 32 and 64bit on different Windows versions: http://msdn2.microsoft.com/en-us/library/aa366778.aspx