lOMoARcPSD|41812488
Dc4
Distributed Computing (University of Mumbai)
Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
CODE MIGRATION ANSWER:
Reasons for Code Migration:
Code migration involves moving software processes from one computing environment to another.
Common reasons for code migration include:
Load Balancing: Distributing computational workload across multiple machines to optimize resource
utilization and performance.
Fault Tolerance: Ensuring continuity of service by relocating processes away from failing or overloaded
machines.
Resource Optimization: Moving processes to machines with specific hardware configurations or
software dependencies to enhance efficiency.
Geographical Proximity: Placing processes closer to users or data sources to reduce latency and improve
responsiveness.
Dynamic Resource Provisioning: Adapting to changing workload demands by dynamically allocating
resources based on real-time requirements.
Models for Migration Code:
There are two primary models for code migration:
Strong Mobility Model:
Sender-Initiated: The sending process initiates the migration by transferring both code and state to a
target machine.
Receiver-Initiated: The target machine actively requests the migration of a process from another
machine, including necessary code and state.
Weak Mobility Model:
Sender-Initiated: The sending process transfers only its code to another machine, but not its entire
state.
Receiver-Initiated: The target machine retrieves the code of a process and may require additional state
information from the sender to execute the process fully.
Process to Resource Binding:
During code migration, processes need to bind to resources on the target machine. There are three
types of process to resource bindings:
Binding by Identifier: The process specifies resources using unique identifiers or names.
Binding by Value: Resources are identified based on specific values or parameters passed during the
binding process.
Binding by Type: Resources are identified based on their type or class, matching the requirements of the
process.
Resource to Machine Binding:
Resources are bound to machines during code migration based on their nature and availability:
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Unattached Resources: Resources that are not tightly coupled to specific machines and can be
dynamically allocated or reassigned as needed.
Fastened Resources: Resources that are tightly coupled to specific machines due to hardware
dependencies or specialized configurations.
Fixed Resources: Resources that are pre-allocated to specific machines and remain static during code
migration.
Process Migration Answer:
Process migration involves moving a running process from one computing environment (e.g., machine,
server) to another.
Types of Process Migration:
Non-Preemptive Process Migration:
Process migration occurs voluntarily when the process explicitly requests to move to another
environment.
Preemptive Process Migration:
Process migration is initiated by the system without the explicit request of the process, often due to
load balancing or resource optimization.
Desirable Features of a Good Process Migration Mechanism:
Transparency:
Migration should be transparent to users and applications, appearing seamless without disruptions or
changes in behavior.
Minimal Interference:
Downloaded by God Level (godlevel526@gmail.com)
lOMoARcPSD|41812488
Migration should not significantly impact the performance or availability of the system during the
migration process.
Minimal Residual Dependency:
After migration, the process should have minimal remaining dependencies on its original environment.
Efficiency:
Migration should be efficient in terms of time, resource usage, and system overhead.
Robustness:
The migration mechanism should be reliable and robust, handling various failure scenarios and ensuring
data integrity.
Process Migration Mechanisms:
State Transfer:
Transfer the entire state (code, data, execution context) of the process to the new environment.
Checkpoint and Restart:
Save the current state of the process (checkpoint) and then restore it in the new environment to
continue execution.
Remote Procedure Call (RPC):
Execute parts of the process remotely on different machines, migrating functionality rather than the
entire process.
Live Migration:
Migrate processes without interrupting their execution, typically used in virtualized environments.
Dynamic Binding:
Bind processes to resources dynamically based on workload and resource availability.
Downloaded by God Level (godlevel526@gmail.com)