February 1988 | ERIC JUL, HENRY LEVY, NORMAN HUTCHINSON, and ANDREW BLACK
The paper "Fine-Grained Mobility in the Emerald System" by Eric Jul, Henry Levy, Norman Hutchinson, and Andrew Black discusses the design and implementation of fine-grained object mobility in the Emerald distributed programming system. Emerald is an object-based language and system designed to support dynamic and distributed environments. The key features of Emerald include:
1. **Object Mobility**: Emerald supports the movement of objects within the system, allowing for load balancing, improved communication performance, and better fault coverage.
2. **Language Support**: The Emerald language explicitly supports the concepts of location and mobility, with language constructs that facilitate these features.
3. **Performance**: The system aims to achieve efficient local execution, comparable to procedural languages, while maintaining performance in remote operations.
The paper highlights the benefits of fine-grained mobility, such as data movement, improved invocation performance, and simplified garbage collection. It also addresses the challenges of implementing mobility, including the management of activation records, processor registers, and object references across nodes.
Key aspects of the implementation include:
- **Object Implementation and Addressing**: Emerald uses a single object definition mechanism with different implementation strategies for global, local, and direct objects.
- **Finding Objects**: A forwarding address scheme is used to track object locations, allowing for efficient location and relocation.
- **Moving Objects**: The process of moving objects involves updating references and activation records, with a focus on minimizing performance overhead.
- **Garbage Collection**: A distributed garbage collection mechanism is designed to handle references that cross node boundaries, ensuring that reachable objects are not deleted.
The paper concludes with performance measurements and discussions on the trade-offs between mobility and local operation efficiency.The paper "Fine-Grained Mobility in the Emerald System" by Eric Jul, Henry Levy, Norman Hutchinson, and Andrew Black discusses the design and implementation of fine-grained object mobility in the Emerald distributed programming system. Emerald is an object-based language and system designed to support dynamic and distributed environments. The key features of Emerald include:
1. **Object Mobility**: Emerald supports the movement of objects within the system, allowing for load balancing, improved communication performance, and better fault coverage.
2. **Language Support**: The Emerald language explicitly supports the concepts of location and mobility, with language constructs that facilitate these features.
3. **Performance**: The system aims to achieve efficient local execution, comparable to procedural languages, while maintaining performance in remote operations.
The paper highlights the benefits of fine-grained mobility, such as data movement, improved invocation performance, and simplified garbage collection. It also addresses the challenges of implementing mobility, including the management of activation records, processor registers, and object references across nodes.
Key aspects of the implementation include:
- **Object Implementation and Addressing**: Emerald uses a single object definition mechanism with different implementation strategies for global, local, and direct objects.
- **Finding Objects**: A forwarding address scheme is used to track object locations, allowing for efficient location and relocation.
- **Moving Objects**: The process of moving objects involves updating references and activation records, with a focus on minimizing performance overhead.
- **Garbage Collection**: A distributed garbage collection mechanism is designed to handle references that cross node boundaries, ensuring that reachable objects are not deleted.
The paper concludes with performance measurements and discussions on the trade-offs between mobility and local operation efficiency.