Explain Code Migration

Mumbai University > Computer Engineering > Sem 8 > parallel and distributed systems

Marks: 10M

1 Answer

There are situations in which passing programs, sometimes even while they are being executed, simplifies the design of a distributed system.

To start with by considering different approaches to code migration, followed by a discussion on how to deal with the local resources that a migrating program uses.

Traditionally, code migration in distributed systems took place in the form of process migration in which an entire process was moved from one machine to another.

Moving a running process to a different machine is a costly and intricate task, and there had better be a good reason for doing so.

That reason has always been performance.

The basic idea is that overall system performance can be improved if processes are moved from heavily-loaded to lightly-loaded machines.

Load is often expressed in terms of the CPU queue length or CPU utilization, but other performance indicators are used as well.

Support for code migration can also help improve performance by exploiting parallelism, but without the usual intricacies related to parallel programming.

A typical example is searching for information in the Web.

It is relatively simple to implement a search query in the form of a small mobile program, called a mobile agent that moves from site to site.

By making several copies of such a program, and sending each off to different sites, we may be able to achieve a linear speedup compared to using just a single program instance.

enter image description here

Please log in to add an answer.