2 level RAM  
Author Message
Roedy Green





PostPosted: 2008-5-17 7:55:00 Top

java-programmer, 2 level RAM At some it will be economic to create banks of say 10 gigabytes of
RAM. This ram will be slower than regular RAM, but won't lose its
value when the power is ostensibly off.

How will this be integrated into Java?

The Windows world will likely treat these as small disk drives. You
will be able to manually place important files there. Windows will
fill it with something useless like system recovery snapshots.

However, it could be used more cleverly.

1. as a cache, much like the old Univac 1106 migrated files between
various speeds of mass storage in order to keep the most commonly used
ones on the fastest devices. You might even, like the 1106 unify this
with backup, so all files got backed up to servers on the Internet, or
spilled there if the disk became full.

2. for large address spaces, to keep infrequently used objects. It
becomes like your swap file today.

3. something else.
--

Roedy Green Canadian Mind Products
The Java Glossary
http://mindprod.com
 
The Ghost In The Machine





PostPosted: 2008-5-19 23:29:00 Top

java-programmer >> 2 level RAM In comp.lang.java.advocacy, Roedy Green
<email***@***.com>
wrote
on Fri, 16 May 2008 23:55:20 GMT
<email***@***.com>:
> At some it will be economic to create banks of say 10 gigabytes of
> RAM. This ram will be slower than regular RAM, but won't lose its
> value when the power is ostensibly off.
>
> How will this be integrated into Java?
>
> The Windows world will likely treat these as small disk drives. You
> will be able to manually place important files there. Windows will
> fill it with something useless like system recovery snapshots.
>
> However, it could be used more cleverly.
>
> 1. as a cache, much like the old Univac 1106 migrated files between
> various speeds of mass storage in order to keep the most commonly used
> ones on the fastest devices. You might even, like the 1106 unify this
> with backup, so all files got backed up to servers on the Internet, or
> spilled there if the disk became full.
>
> 2. for large address spaces, to keep infrequently used objects. It
> becomes like your swap file today.
>
> 3. something else.

You are proposing adding a fifth level of RAM to what is
already a four-level system:

[1] L1 cache. This is a small but very fast cache on
the microprocessor.

[2] L2 cache. This is a larger cache on the
microprocessor; if L1 misses, the query tries here next.

[3] Standard RAM. Virtual addresses are translated
into physical page addresses; if they're already in RAM,
things end up here. In essence, dynamic RAM functions as
a large paging cache.

[4] Disk system. Some addresses can be translated into
physical page addresses on the hard drive. Swap is usually
in a swap partition or swap file; in many operating
systems a file can also be mapped into virtual address
space (in Unix, for example one can use mmap() or mmap2()).

It is possible for a memory fetch to reside in exactly
one cache, more than one cache, or in no cache at all,
depending on system design (if a fetch is not in cache,
one might get an illegal address fault).

http://en.wikipedia.org/wiki/CPU_cache

Your new level would be inserted between [3] and [4] from
a priority standpoint, and it does not appear Java would
need to directly worry about it at all.

--
#191, email***@***.com
Insert random misquote here.
** Posted from http://www.teranews.com **