On Nov 16, 10:05 pm, Anders <[EMAIL PROTECTED]> wrote:
> And another thing: In a distributed system, must there really be any
> functional difference between RAM and disk memory? Of course, disk
> access is magnitudes slower than accessing RAM, but as I see it, at
> least theoretically, in a distributed system RAM could be made to
> function as a permanent storage.
>
> Think of a single huge distributed virtual memory where data is stored
> in a duplicated and fail-safe way. Then the disk space would only be
> used for swapping memory pages to and from faster memory such as RAM
> (and in the future maybe even other forms of fast memory). Only at the
> very lowest level (Distributed OS 'kernel' level) would developers
> need to know if some chunk of memory is physically stored on disk or
> on some other form of memory.

The limitations and design concerns you're talking about here are not
unique to App Engine. The tradeoffs between disk and memory, and the
tradeoffs between different kinds of cache (e.g. disk buffer cache, L1/
L2, memcache), are core computer science. What's the latency? The
throughput? The cache-hit rate? Does the kernel or does the app have a
better understanding of the data access patterns? If the operating
system was not able to solve these issues and remove them from the
mind-set of the developer, then it's unlikely that App Engine will :-P

In the case of automatic caching of the datastore, it's the case that
the application does have a better opportunity to cache than we could
from behind the scenes. The app knows better what is the tradeoff
between data staleness and end-user latency. The app knows how to keep
the cached data consistent with the true data. If we tried to do these
things within the datastore, since it is an API that is perfectly
consistent and guarantees that new writes immediately appear in query
results, we wouldn't be able to achieve a good cache-hit rate as every
datastore write would force us to invalidate every single query-cache
for an app. The app can do much better than we can for datastore
caching.

Jon
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to