Earlier quoted context omitted.
Imagine all the world's computers running in a single unified address space. All network access is abstracted away, loading a resource is as simple as loading a memory address. The standard rebuttal to this thinking is Waldo et al. "A Note on Distributed Computing" from 1994. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7... "We argue that objects that interact in a distributed system need to be dealt w…
I'd argue that at this point one has to be aware of latency and concurrency on the local system also, and any programming model ignores this at their peril. It's the greatness of the potential of failure/hang on all actions that separates local RAM access from distributed computing. You don't generally need to worry about your app hanging indefinitely because of a memory read.
Single Address Space Operating System
51–53 of 53 posts
Re: Single Address Space Operating System
#52Earlier quoted context omitted.
While true, there's enough orders of magnitude in play that the same mechanisms can only rarely be optimal for both. Reaching into a chunk of NUMA space you don't own vs. reaching out to a highly-contended hard drive on the other side of the world are forever likely to be too different to unify.
Compare order of magnitude for register access versus cache versus RAM versus HDD. With page files, all of those are treated the same by the programmer. Local HDD can already have access latency similar to the local network! It is another order of magnitude to go beyond that. Meh. Reliability is, IMHO, the bigger issue.
Right, there are situations where "in RAM on that other computer" is closer than "on my disk".
Re: Single Address Space Operating System
#53Earlier quoted context omitted.
While true, there's enough orders of magnitude in play that the same mechanisms can only rarely be optimal for both. Reaching into a chunk of NUMA space you don't own vs. reaching out to a highly-contended hard drive on the other side of the world are forever likely to be too different to unify.
Compare order of magnitude for register access versus cache versus RAM versus HDD. With page files, all of those are treated the same by the programmer. Local HDD can already have access latency similar to the local network! It is another order of magnitude to go beyond that. Meh. Reliability is, IMHO, the bigger issue.
In many cases we just don't care, because a CPU hooked up to RAM is still pretty fast for many use cases. When you do care, this abstraction is actually a huge problem!
I think this demonstrates my point, not refutes it.