Processes - PowerPoint PPT Presentation

About This Presentation
Title:

Processes

Description:

Processes and threads. Process forms a building block in distributed systems ... Multiple threads make easier to build distributed applications ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 20
Provided by: steve1828
Category:

less

Transcript and Presenter's Notes

Title: Processes


1
Processes
2
Processes and threads
  • Process forms a building block in distributed
    systems
  • Processes granularity is not sufficient for
    distributed systems
  • Multiple threads make easier to build distributed
    applications

3
Thread Usage in Nondistributed Systemslarge
applications many cooperating programs
(processes) via Inter-Process Communication
mechanisms (Unix)
  • IPC needs extensive context switching

Changes to MMU, TLB
Changes to MMU, TLB
process B
Instead of processes threads
4
Thread Implementationuser level library
switching in a few instructions, no change in
memory maps etc. but a blocking system call
blocks the entire processO.S. kernel level no
problem with blocking system call but every
thread operation has to be carried out by
the kernel, so switching contest similar to
process
LightWeight Processes (LWP)
  • Manipulation of threads at user level
  • A blocking call doesnt suspend the entire
    process
  • Applications dont need to know LWPs
  • Different LWPs on different CPUs
  • Combining kernel-level lightweight processes and
    user-level threads.

5
Multithreaded Servers
The true benefit from multithreading in DS is
having multithreaded servers
  • A multithreaded server (i.e. file server)
    organized in a dispatcher/worker model.

6
Multithreaded Servers
  • Three ways to construct a server
  • The multi- and single-threaded models are
    sequential and synchronous
  • The finite-state machine model is asynchronous
    and simulates the multi-threaded
  • model instead of blocking, it records the
    request and gets the next message. Not a
  • sequential process, hard to program.

7
Client-Side Software for Distribution
TransparencyClient software is a lot more than
user interfacesAccess, location, migration,
replication, failure transparencycooperation
with client-side software
  • A possible approach to transparent replication of
    a remote object using a client-side solution.

8
Servers General Design Issues
  • Iterative server the server itself handles the
    request
  • Concurrent server the server passes the request
    to a separate thread or process
  • Stateless server no information on clients
    state (Web)
  • Stateful server maintains information on
    clients state (file server AFS)
  • Where clients contact a server?
  • Pre-assigned endpoint (port)
  • No pre-assigned endpoint a special daemon
    running on the server

9
Servers General Design Issues
3.7
  • Client-to-server binding using a daemon as in DCE
  • Client-to-server binding using a superserver as
    in UNIX (inetd)

10
Object Server
  • An object server doesnt provide a
  • real specific service
  • Services are provided by objects
  • One can add or modify services
  • adding or modifying objects
  • Different invocation approach can be used
  • to invoke an object in an object server
  • (activation policy)
  • An object adapter (or o. wrapper) is a
  • mechanism to group objects per policy
  • An obj. adapter controls one or more objs.
  • If a server supports objs with different
  • activation policy, several adapters reside on
  • the same server
  • Organization of an object server supporting
    different activation policies.

11
Reasons for Migrating CodeImproving performances
( optimizing CPU load, minimizing communication)
and flexibility
  • The principle of dynamically configuring a client
    to communicate to a server. The client first
    fetches the necessary software, and then invokes
    the server (security!)

12
Process segmentation
  • Code segment set of instruction of the program
  • Resource segment references to external
    resources needed to the process
  • Execution segment current execution state of the
    process

Mobility
  • Weak mobility only code segment is moved
  • Strong mobility execution segment too is
    moved

Where migration starts ?
  • Sender-initiated migration initiate at
    the machine where the
  • code resides
  • Receiver initiated migration starts by
    target machine initiative

13
Models for Code Migration
Code segment, program starts from initial state
Code and execution segment Migrated prog. starts
from where it letf off
  • Alternatives for code migration.

14
Migration and Local Resources
What about resource segment? To migrate code we
need to migrate local references to the new
machine Different types of process-to-resource
and resource-to-machine bindings exist.
Resource-to-machine binding

Process-to-resource binding
MV Move the resource GR Establish a
global reference CP Copy the resource value
RB Rebind process to local resource
  • Actions to be taken with respect to the
    references to local resources when migrating code
    to another machine.

15
Migration in Heterogeneous Systems
3-15
  • The principle of maintaining a migration stack to
    support migration of an execution segment in a
    heterogeneous environment (compiler and runtime
    system dependent)
  • Migration can take place only when a subroutine
    is called. A migration stack is maintained in a
    machine independent way. (Compiler and runtime
    system dependent)

16
Software Agents in Distributed Systemsautonomous
units capable of performing tasks in
collaboration with other agents
  • Collaborative agent is part of a multi-agent
    system
  • Mobile agent can move between different machine
  • Interface agent assists user to interact with an
    application (with learning capability)
  • Information agent manages information from many
    different sources

17
Agent Technology
Agent Communication channel
Creating, deleting, Looking up endpoint Naming
service
Other agents in platform services
  • The general model of an agent platform (from
    Foundation for Intelligent Physical Agents
    (FIPA)) that could be incorporate in middleware.
  • An agent platform provides basic services
    (creating, deleting, locating ...agents) for a
    multi-agent system.

18
Agent Communication Languages ACL is an
application level protocol providing an high
level communication protocol between a collection
of agents
  • Examples of different message types in the FIPA
    ACL, giving the purpose of a message, along with
    the description of the actual message content.

19
Agent Communication Languages (example)
  • A simple example of a FIPA ACL message sent
    between two agents using Prolog to express
    genealogy information.
  • The message is specific to the communicating
    agents no format or language is prescribed for
    the content of the message
Write a Comment
User Comments (0)
About PowerShow.com