Local vs Distributed Objects
The fundamental differences between local and distributed object interactions.
The distinction between Local and Distributed Objects is not just an implementation detail; it is a fundamental difference that cannot be fully abstracted.
Key differences typically include:
- Latency: Remote calls are orders of magnitude slower.
- Memory Access: Separate address spaces mean no shared state/pointers.
- Partial Failure: A remote machine can fail while the local one keeps running (and vice-versa), unlike a single local process.
- Concurrency: Distributed systems are inherently concurrent.
Attempts to make distribution transparent (hiding these differences) often lead to fragile and inefficient systems.
Related
- [[A Note on Distributed Computing]]
- [[Federation]] — federation must handle all these differences across independent servers
- [[Circuit Breaker Pattern]] — addresses partial failure, one of the key differences listed above
Source: [[Paper: A Note On Distributed Computing]]
4 notes link here
- Circuit breaker pattern stops cascading failures in distributed systems The circuit breaker pattern prevents a system from wasting resources on a …
- Federation is many independent servers speaking a shared protocol Federation applies the email model to any networked application — independent …
- Paper: A Note On Distributed Computing A critique of the 'unified view' of local and distributed objects.
- A Note on Distributed Computing The thesis that local and distributed objects are fundamentally different.