Subject: DC Semester:VIII
What are the reasons for migration of code? Explain the
various models for code migration.
Reasons for migrating code
Code migration in DS took place in form of process migration even though it’s costly
but reason is for performance.
From heavily loaded to lightly loaded performance
Due to heterogeneity of platforms and compression network performance
improvement through code migration is often based on quantitative reasoning.
Eg. Server manages huge database.
Code migration also helps improve performance by exploiting parallelism.
Eg. For searching information in web. It’s easy to implement search query program
that moves from site to site.
Other reasons for supporting code migration is flexibility.
Traditional approach to building dist. Application is to partition application into
different parts and decided where each part to be executed but if code migration
between machines, it is possible to dynamically configure distributed system.
Explain different approaches to code migration.
1. Communication in distributed systems is concerned with exchanging data
between processes.
2. Code migration in the broadest sense deals with moving programs between
machines, with the intention to have those programs be executed at the
target.
Prof.S.S. Aloni [Link] Computer Engineering
Subject: DC Semester:VIII
In code migration framework, a process consists of 3 segments.
The code segment is the part that contains the set of instructions that make up the
program that is being executed.
The resource segment contains references to external resources needed by the
process, such as files, printers, devices, other processes and so on.
Finally an execution segment is used to store the current execution state of a
process, consisting of private data, the stack and the program counter.
Weak mobility:
A characteristics feature of weak mobility is that a transferred program is always
started from its initial state.
Eg. Java applets
Strong mobility
A characteristics feature of strong mobility is that a running process can be stopped,
subsequently moved to another m/c and then resume execution where it left off.
Eg. D’ Agents.
Sender initiated migration
Prof.S.S. Aloni [Link] Computer Engineering
Subject: DC Semester:VIII
In sender initiated migration, migration is initiated at the m/c where code currently
resides or is being executed.
Eg. Sending a search program access the internet to a web database server to
perform the queries at that server.
In contrast to process migration, cloning yields an exact copy of files original
process, but now running on a different m/c.
The cloned process is executed in parallel to the original process.
In UNIX systems, remote cloning takes place by forking off a child processes and
letting that child continue on a remote m/c.
The benefit of cloning is that the model closely reassembles the one that is already
used in many applications.
The only difference is that the closed process is executed on a different m/c.
In this sense, migration by cloning is a simple way to improve distributed
transparency.
Prof.S.S. Aloni [Link] Computer Engineering