64bit CPU/OS and Ram Drives?

Bit343

Junior Member
Jun 1, 2004
2
0
0
Something I was wondering about and hoping to get opinions on. It should become quite obvious that I am not highly technical but would appreciate a highly technical response.

With a 64bit OS the amount of ram that could theoretically be installed is much higher than that which would be commonly utilized. Will we in the future see ram drives used to increase performance?

For instance, I want to install a game. I have a program that manages a ram drive and backs up data to the harddrive (mimicking RAID-1). The next time I restart my computer I still have the game installed on my harddrive and I can choose to recopy it to the ram drive prior to playing.

Will having an entire program loaded into RAM increase performance and if so to what extent?

How will performance be affected in a multiprocessor environment where each CPU has its own RAM?

Any other implications that need to be addressed? (besides the obvious cost prohibitive nature of using ram for this purpose)
 

aka1nas

Diamond Member
Aug 30, 2001
4,335
1
0
A RAM drive like you are speaking of is more of a very large cache as data is not stored when the system is powered off. Many RAM drives have some kid of battery backup facility that stores the data between reboots. Also, having the RAM on a physically seperate "drive" eliminates the need for a 64-bit cpu/OS.

Now having 16GB of system memory and using a ton of it as a cache is reasonable is already done to much lesser extents by modern operating systems. Keep in mind, that your installed game would still need to to be read from disk to RAM which might make take longer than just caching portions of it as they are used.
 

cquark

Golden Member
Apr 4, 2004
1,741
0
0
Originally posted by: Bit343
With a 64bit OS the amount of ram that could theoretically be installed is much higher than that which would be commonly utilized. Will we in the future see ram drives used to increase performance?

For instance, I want to install a game. I have a program that manages a ram drive and backs up data to the harddrive (mimicking RAID-1). The next time I restart my computer I still have the game installed on my harddrive and I can choose to recopy it to the ram drive prior to playing.

The operating system's disk buffering and prefetching I/O routines already load segments of your program before you use it and keep it in memory as long as there is sufficient memory to do so (in UNIX/Linux at least.) A RAM disk is slower than the OS's buffer cache, as the RAM disk, like the hard disk, isn't directly accessible--the OS has to go through (emulated) I/O instructions to access it. However, if you know better than your OS about what files are going to be accessed next, you may be able to gain some performance by preloading data into a RAM disk.

How will performance be affected in a multiprocessor environment where each CPU has its own RAM?

SMP systems have difficulties scaling beyond 8-12 CPUs because of contention for the shared memory bus, but NUMA (non-uniform memory architecture), which is a generalization of what you're discussing here (every n CPUs has their own memory, instead of every 1 CPU), reduces that contention and allows systems to scale beyond 8-12 CPUs. If a RAM disk is shared between all CPUs, then there may be a performance advantage to using it rather than the buffer cache, which is local to a CPU, as you only have to load the file from disk once.