0% found this document useful (0 votes)
22 views4 pages

Improved Distributed Systems Chapter

Uploaded by

Yeabsira
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)
22 views4 pages

Improved Distributed Systems Chapter

Uploaded by

Yeabsira
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
You are on page 1/ 4

Processes in Distributed Systems

1. Introduction

In distributed systems, communication between processes is a fundamental concept. A process is

essentially a program in execution, and its management, including scheduling and resource

allocation, is crucial for system performance. Distributed systems introduce additional complexities

such as multithreading, client-server organization, process migration, and the use of software

agents.

2. Threads and Their Implementation

Threads in Non-distributed Systems

Process: An independent execution unit with its own memory space.

Thread: A smaller unit of a process that can run concurrently within the same process memory

space.

[Placeholder for Processes and Threads Image]

Benefits of Threads:

- Simplified programming model

- Reduced resource allocation time compared to processes

- Improved performance through overlapping I/O and computation

- Real parallelism on multiprocessor systems

Thread Implementation:
Processes in Distributed Systems

User-level threads: Fast to create and manage but can block entire processes during system calls.

Kernel-level threads: Managed by the OS, allowing better scheduling but with higher overhead.

Hybrid Approach: Lightweight processes (LWPs) combine user-level thread benefits with

kernel-level thread management for efficient operation.

3. Anatomy of Clients

Clients interact with distributed systems through user interfaces and client-side software. The goal is

to provide transparency in operations such as location, replication, and access.

4. Servers and Design Issues

General Design Issues:

Organization: Iterative (single-threaded) vs. Concurrent (multithreaded or multiprocess)

Client Contact: Endpoints or ports are used for client-server communication. Well-known ports are

standardized, while dynamic ports are assigned as needed.

Interrupt Handling: Servers can handle interruptions through client disconnection or urgent data

signals.

Stateless vs. Stateful Servers: Stateless servers are simpler and more resilient to crashes, whereas

stateful servers offer better performance but need recovery mechanisms.

[Placeholder for Server Models Image]

Server Clusters:
Processes in Distributed Systems

Three-tier Architecture: Presentation, logic, and data tiers enhance scalability and reliability.

Distributed Servers: Provide multiple access points to avoid single points of failure.

5. Code Migration

Reasons for Code Migration:

Performance Improvement: Load balancing across machines.

Reduced Communication: Moving code closer to data sources.

Parallelism: Executing parts of a program simultaneously on different machines.

Flexibility: Dynamic reconfiguration of applications.

Models for Code Migration:

Weak Mobility: Only the code segment moves; the program restarts at the target.

Strong Mobility: The entire execution state moves, allowing the program to resume from where it left

off.

[Placeholder for Code Migration Models Image]

Resource Binding:

Unattached, Fastened, and Fixed Resources: Strategies for handling resource references during

migration.
Processes in Distributed Systems

6. Software Agents and Agent Technology

Types of Agents:

Collaborative Agents: Work together towards a common goal.

Mobile Agents: Move across different systems to perform tasks.

Interface Agents: Assist users by learning and adapting to their preferences.

Information Agents: Manage and retrieve information across distributed systems.

[Placeholder for Agent Types Image]

You might also like