0% found this document useful (0 votes)
8 views16 pages

Week 04 Lect Distributed Systems

The document discusses code migration in distributed systems, highlighting its purpose for load distribution and improved performance. It outlines models for code migration, including strong and weak mobility, and addresses challenges in heterogeneous systems. Additionally, it emphasizes the importance of interprocess communication and presents models such as Remote Procedure Call (RPC) and Message-Oriented Middleware (MOM).

Uploaded by

bestoff.com
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views16 pages

Week 04 Lect Distributed Systems

The document discusses code migration in distributed systems, highlighting its purpose for load distribution and improved performance. It outlines models for code migration, including strong and weak mobility, and addresses challenges in heterogeneous systems. Additionally, it emphasizes the importance of interprocess communication and presents models such as Remote Procedure Call (RPC) and Message-Oriented Middleware (MOM).

Uploaded by

bestoff.com
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

`

Distributed Systems
Dr. Gayathri R G
Department Of Computer Science
Amrita Vishwa Vidyapeetham
Recap

• Processes and Threads

• Clients

• Servers and the types

• Virtualization
Code Migration

The big idea is to move a compute-intensive task from a heavily


loaded machine to a lightly loaded machine “on demand” and “as
required”.
Reasons to migrate code
• Load distribution
• Improved Performance
• Ensuring that servers in a data center are sufficiently
loaded
• Minimizing communication by ensuring that
computations are close to where the data is
• Flexibility: moving code to a client when needed
• Avoids pre-installing software and increases dynamic
configuration

9
Dynamic Code Migration
Models for Code Migration

Object components
• Code segment: contains the actual code
• Data segment: contains the state
• Execution state: contains context of thread executing the
object’s code
Strong and Weak Mobility

Weak mobility: Move only code and data segment (and reboot
execution)
• Relatively simple, especially if code is portable
• Distinguish code shipping (push) from code fetching (pull)
Strong mobility: Move component, including execution state
• Migration: move entire object from one machine to the other
• Cloning: start a clone, and set it in the same execution state.
Models for Code Migration
Models for Code Migration
Strong vs Weak Mobility
Migration in heterogeneous systems
• Main problem
• The target machine may not be suitable to execute the
migrated code
• The definition of process/thread/processor context is
highly dependent on local hardware, operating system
and runtime system
• Only solution:
• Abstract machine implemented on different platforms
• Interpreted languages, effectively having their own VM
• Virtual machine monitors

1
Migrating a virtual machine Place your
Webcam Video here

• Migrating images: three alternatives


• Pushing memory pages to the new machine and resending
the ones that are later modified during the migration process.
• Stopping the current virtual machine; migrate memory, and
start the new virtual machine.
• Letting the new virtual machine pull in new pages as needed:
processes start on the new virtual machine immediately and
copy memory pages on demand.

1
Summary

• Code Migration

• Reasons to migrate the code

• Models for Migration

• Issues in Heterogeneous systems


Communication
• Interprocess communication is fundamental to all distributed
systems
• Communication in distributed systems is always based on low-level
message passing as offered by the underlying network.
• Expressing communication through message passing is harder than
using primitives based on shared memory
• Unless the primitive communication facilities of computer
networks are replaced by something else, developing large-scale
distributed applications is extremely difficult.
Models for Communication

• Remote Procedure Call (RPC)

• Message-Oriented Middleware (MOM)


References

• Distributed Systems: Principles and Paradigms. Andrew S. Tanenbaum and


Maarten van Steen. Prentice Hall, 2 n d Ed., 2006

• Distributed Computing, Fundamentals, Simulations and Advanced topics, 2nd


Edition, HagitAttiya and Jennifer Welch, Wiley India

• [Link]
2nd/9781466552975/K15248_C001.xhtml#_idParaDest-11

66

You might also like