Facts about 64 Bit Computers and the up and coming 12d Bigfoot 64 bit

Post Reply
Alan Gray
Site Admin
Posts: 1154
Joined: Fri Sep 30, 2005 4:25 pm

Facts about 64 Bit Computers and the up and coming 12d Bigfo

Post by Alan Gray »

There is a lot of interest in 64 bit computers. Here are some facts to dwell on.

1) When ever a program requests memory (lets say 1024 bytes), the program will usually have to store the address of where this memory is allocated. On 32 bit OS's that address occupies 4 bytes to allow 2^32 address locations( 2 to the power of 32). On 64 bit OS's the address occupies 8 bytes to allow (in theory) 2^64. So any program running with an identical data set will actually occupy more memory running as a 64 bit program verses running as a 32 bit program.

So that means, if you have a computer with 4 Gig of memory and allow it to dual boot both 32 and 64 bit Windows, all programs running on the 64 bit OS will gobble up more memory for doing the identical job as a 32 bit computer. The theory says 64 bit should be faster, but the reality is that it will be slower.

The matrix changes in the fact that you can put much more than 4 Gig of memory in a 64 bit computer. Then once you have more physical memory free running on the 64 bit computer, then the OS can keep more programs in physical memory. This means that there is less swapping of programs in and out of memory, hence an improvement in speed. NOTE: If the same program running on a 32 bit OS is NOT being swapping in and out (ie totally in physical memory), and the same program with same data is running as a 64 bit program, (and totally in physical memory), then you are not going to see any real difference in performance (remembering that the underlying hardware is physically the same chips etc etc).

The real advantage of 64 bit is the ability to have much larger virtual memory address spaces. Windows XP 64 allows 128 Gig of RAM and an 16 TerraBytes of virtual memory. Huge numbers ideed. Windows XP (32 bit) only could address 3.5 Gig of RAM and 4 Gig of virtual memory. NOTE that in 32 bit, the ratio of physical RAM to virtual memory is almost ONE!

This is a very important number. Why? Back in 1988, 12d (4d then) Model could triangulate 5 million points. But back then the computers we ran on had 4 Meg of memory only. So the ratio of physical RAM to virtual memory was 4Meg/4Gig which was 2^22 / 2^32 == 0.0009765625 (1/2^10) == 1/1024. So the importance of this ratio is that only 1/1000th of a 12d job could fit in physical memory. Now RAM is thousands of times quicker than disk drives. So this means that the OS has to move in and out of memory the data that 12d (and any other program) manipulates. So where triangulating 5 million points takes 1 minute with 4 Gig of RAM, if your computer only had 4 Meg, then it would probably take several hours to complete (assuming that Windows would even BOOT).

Now lets examine 64 bit computing. 128 Gig is 2^37. There are 1024 Gigabytes in a Terrabyte (2^10) so 16 TerraBytes is 2^46.

So even you had enough money to purchase 128 Gig of memory (answer about $80,000), the ratio of physical RAM to virtual memory is 1/2^9 which is 1/512. So right now we are back to having "small :-;" amounts of memory compared to the maximum job sizes possible. An example was 2 years ago, our trials on triangulating 220 million points was 6 hours. Some stats were

5.3 Gigs for .model files
26 Gigs for the tin
30 Gig for a 12d ascii of the tin

This was all done on a computer with 4 Gig of memory and a 1.6 Gig processor.

So what does all of this mean? Well for now the free lunch is over. Assuming a computer with 16 Gig of memory, the RAM/Virtual ratio is 2^34 / 2^46 == 1/2^12 == 1/4096.

This means as soon as your projects become larger than the physical RAM you have, Windows must swap in/out memory. Thus you the users are going to have to accept "potentially" long processing times.

So the scale of the numbers here are huge. The problem will be education because most users have never ever used a computer with 4 meg of memory. (Ok ignoring DOS with 512k - it was not a 32 bit OS)

The upshot is, one cannot state how different computers with different amounts of RAM are going to relate between 32 and 64 bit computing with any "good" accuracy.

64 Bit projects are compatiable with 32 bit projects. BUT, if you are trying to share a 10,000,000 point model created in 64 bit, with someone running 32 bit. Guess what, the 32 bit will crash because of lack of virtual memory. Same deal with large tins. So you cannot prepare large models/tins in the 64 bit version, and expect the 32 bit verison to handle this. So I guess these mixed environments are going to be considered "dangerous" ?

64 Bit Vista? Have not even installed it yet. We've tested Vista 32 bit to death and as noted previously, good drivers for OpenGL are the problem.

I believe Windows XP 64 bit is still available, but again it's problems were a lack of drivers. If you buy top of the range graphics cards (NVidia, ATI) and good brand mother boards etc, Windows XP 64 should run. But verify it with your computer suppliers / IT etc. Also, if you are not going to put in at least 4 Gig of memory, do not bother trying.

We also found so really strange performance issues in 64 bit Windows where things like disk IO just seemed to go to sleep for 30 seconds at a time.

So it is a brave new world right now :-)

http://www.microsoft.com/windowsxp/usin ... ngx64.mspx

There are 1024 gigabytes in a terabyte.
1 bit (binary digit*) = the value of 0 or 1
8 bits = 1 byte
1024 bytes = 1 kilobyte
1024 kilobytes = 1 megabyte
1024 megabytes = 1 gigabyte
1024 gigabytes = 1 terabyte
1024 terabytes = 1 petabyte
Post Reply