layered protocols (1) layered protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... ·...

8
1 OS2-Sharif University of Technology - Sem1-90-91; R. Jalili Communication Chapter 2 OS2-Sharif University of Technology - Sem1-90-91; R. Jalili IPC Inter-Process Communication is the heart of all DSs. Processes on different machines. Always based on low-level message passing. In this chapter: – RPC – RMI – MOM (Message Oriented MiddleWare) – Streams (due to the advent of Multimedia DSs) OS2-Sharif University of Technology - Sem1-90-91; R. Jalili Layered Protocols (1) Layers, interfaces, and protocols in the OSI model. 2-1 OS2-Sharif University of Technology - Sem1-90-91; R. Jalili Layered Protocols • Protocol – Connection Oriented – Connectionless Protocol Stack Description of the layers, Unit of exchange. OS2-Sharif University of Technology - Sem1-90-91; R. Jalili Layered Protocols (2) A typical message as it appears on the network. 2-2 OS2-Sharif University of Technology - Sem1-90-91; R. Jalili Data Link Layer Discussion between a receiver and a sender in the data link layer. 2-3

Upload: others

Post on 24-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

1

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Communication

Chapter 2

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

IPC

• Inter-Process Communication is the heart of all

DSs.

• Processes on different machines.

• Always based on low-level message passing.

• In this chapter:

– RPC

– RMI

– MOM (Message Oriented MiddleWare)

– Streams (due to the advent of Multimedia DSs)

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Layered Protocols (1)• Layers, interfaces, and protocols in the OSI model.

2-1

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Layered Protocols

• Protocol

– Connection Oriented

– Connectionless

• Protocol Stack

• Description of the layers, Unit of exchange.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Layered Protocols (2)

• A typical message as it appears on the network.

2-2

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Data Link Layer

• Discussion between a receiver and a sender in the data link layer.

2-3

Page 2: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

2

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Transport Protocols

• Makes the underlying layers usable by the

application layer.

• Provide a reliable or unreliable connection for

the upper layer.

• UDP :: TCP

• RTP for real-time systems.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Client-Server TCP

a) Normal operation of TCP.

b) Transactional TCP.2-4

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Middleware Protocols

• An adapted reference model for networked communication.

2-5

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

RPC

• PC?

• R…………….PC?

• Simple idea

• Complexity in provision

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Conventional Procedure Calla) Parameter passing in a local procedure call: the

stack before the call to read Count = read (fd, buf, nbytes);

b) The stack while the called procedure is active

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Issues

• Calling Method?

– Call by value

– Call by reference

– Call by Copy/Restore

– Call by name

Page 3: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

3

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Client and Server Stubs

• Principle of RPC between a client and server program.

• The read stub is called on behalf of the real read procedure!

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Steps of a Remote Procedure Call

1. Client procedure calls client stub in normal way

2. Client stub builds message, calls local OS

3. Client's OS sends message to remote OS

4. Remote OS gives message to server stub

5. Server stub unpacks parameters, calls server

6. Server does work, returns result to the stub

7. Server stub packs it in message, calls local OS

8. Server's OS sends message to client's OS

9. Client's OS gives message to client stub

10. Stub unpacks result, returns to client

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Passing Value Parameters (1)

• Steps involved in doing remote computation through RPC

• It works fine, while the scenario is simple and straightforward;

but ….

2-8

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Passing Value Parameters (2)• Different character set standards (ASCII vs EBCDIC)

• Little-Endian vs Big-Endian Architecture.

a) Original message on the Pentium (L. E.)

b) The message after receipt on the SPARC (B. E.)

c) The message after being inverted. The little numbers in boxes indicate the address of each byte

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Call by Reference Parameter Passing

???

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Parameter Specification and Stub Generation

• Both sides should agree on the content of passing

data structures.

• Example in the next slide.

• The way a message including the parameters is

interpreted is the main issue!!

• Client and server should agree on the

representation of simple data structures.

• Agreement on the actual exchange of the messages

(connection-oriented or connection-less)

Page 4: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

4

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Parameter Specification and Stub Generation

a) A procedure

b) The corresponding message.

c) Interface Definition Language � compiling into client stub and server stub

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Extended RPC Models

• RPC becoming as de facto standard for comm. in

DSs.

• Popularity due to simplicity.

• Two extensions

– Doors

– Async RPC.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Doors

• Equivalent to RPC for processes located on the

same machine.

• A door is a name for a procedure in the address

space of a server process, called by colocated

processes within the server.

• Idea was originally from the Spirit OS (1994)

• Same as LightWeight RPC.

• The server process must register a door before

use (calling door-create)

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Doors• The principle of using doors as IPC mechanism.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Asynchronous RPC (1)

a) The interconnection between client and server in a traditional RPC

b) The interaction using asynchronous RPC

2-12

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Asynchronous RPC (2)

• A client and server interacting through two

asynchronous RPCs

2-13

Page 5: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

5

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Writing a Client and a Server• The steps in writing a client and a server in DCE RPC.

2-14

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Binding a Client to a Server

• Client-to-server binding in DCE.

2-15

OS2-Sharif University of Technology - Sem1-90-91; R. Jalili

Performing an RPC

• The whole scenario!

• Semantics

– At-most-once operation

• Idempotency

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Remote Object Invocation

• OO technology in centralized systems.

• Promoting the idea of RPC to the OO technology.

• Proxy as the client delegate == Client stub.

• Skeleton == server stub

• The object state is normally not distributed � remote object instead of distributed object

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Distributed Objects• Common organization of a remote object with

client-side proxy.

2-16

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Message-Oriented Communication

• Sometimes both RPC and RMI is not appropriate

• Synchronous nature of RPC and RMI!

• � Messaging.

Page 6: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

6

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Berkeley Sockets (2)

• Connection-oriented communication pattern using sockets.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

The Message-Passing Interface (MPI)

• Some of the most intuitive message-passing

primitives of MPI.

Primitive Meaning

MPI_bsend Append outgoing message to a local send buffer

MPI_send Send a message and wait until copied to local or remote buffer

MPI_ssend Send a message and wait until receipt starts

MPI_sendrecv Send a message and wait for reply

MPI_isend Pass reference to outgoing message, and continue

MPI_issend Pass reference to outgoing message, and wait until receipt starts

MPI_recv Receive a message; block if there are none

MPI_irecv Check if there is an incoming message, but do not block

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Stream-Oriented Communication

• Till now, focus was on exchanging one or more independent and complete units of info.

• However, consider an audio stream, CD quality is also required � the original sound has been sampled at 44100 Hz �a sample in each 1/44100 Sec is required to re-produce the original sound.

• Time-dependent and continuous media is required :: Temporal relationship between data items are crucial.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Data Stream (1)

• Setting up a stream between two processes across a network.

• Data stream is a sequence of data units.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Transmission Modes

• Async Trans Mode: Sending regardless of time

• Synch Trans Mode: There is a max end-to-end

delay for each unit: Sensor info!

• Isochronous Trans Mode: Data units should be

transferred on time:: A max and min end-to-end

delay (bounded jitter).

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Data Stream (2)

• Setting up a stream directly between two devices.

2-35.2

Page 7: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

7

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Data Stream (3)

• An example of multicasting a stream to several receivers.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

QoS

• Time-Dependent requirement:: QoS

• Next slide as a sample QoS specification

• Formulation based on the token bucket algorithm

• Basic idea is that tokens are generated at a

constant rate.

• Token is a fixed # of bytes, an application is

allowed to pass to the network.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Specifying QoS (2)

• The principle of a token bucket algorithm.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Setting Up a Stream

• The basic organization of RSVP (Resource reSerVation Protocol)

for resource reservation in a distributed system.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Synchronization Mechanisms (1)

• The principle of explicit synchronization on the

level data units.

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili

Synchronization Mechanisms (2)

• The principle of synchronization as supported by

high-level interfaces.

2-41

Page 8: Layered Protocols (1) Layered Protocolsce.sharif.edu/courses/90-91/1/ce533-1/resources... · Communication Chapter 2 OS2-Sharif University of Technology -Sem1 -90 -91; R. Jalili IPC

8

End of Chapter 2

OS2-Sharif University of Technology

- Sem1-90-91; R. Jalili