0% found this document useful (0 votes)
9 views9 pages

Distributed System

The document covers various aspects of distributed systems, including definitions of key concepts such as firewalls, middleware, and transparency types. It discusses client-server and peer-to-peer architectures, communication protocols, and the differences between network and distributed operating systems. Additionally, it explores parallel computing models, threading architectures, and the characteristics of shared memory SIMD computers.

Uploaded by

sudarliwin2310
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)
9 views9 pages

Distributed System

The document covers various aspects of distributed systems, including definitions of key concepts such as firewalls, middleware, and transparency types. It discusses client-server and peer-to-peer architectures, communication protocols, and the differences between network and distributed operating systems. Additionally, it explores parallel computing models, threading architectures, and the characteristics of shared memory SIMD computers.

Uploaded by

sudarliwin2310
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

Chapter (1)

Distributed System

A distributed system is one in which hardware or software components located at networked computers
communicate and coordinate their actions only by passing messages.

Firewall

The role of a firewall is to protect an intranet by preventing unauthorized messages from leaving or entering.

Middleware

The term middleware applies to a software layer that provides a programming abstraction as well as masking
the heterogeneity of the underlying networks, hardware, operating systems and programming languages.

Location transparency

Location transparency enables resources to be accessed without knowledge of their physical or network
location (for example, which building or IP address).

Mobility transparency

Mobility transparency allows the movement of resources and clients within a system without affecting the
operation of users or programs.

Chapter (2)

Client - Server Architecture

Server refers to a running program on a networked computer that accepts requests from programs running
on other computers to perform a service and responds appropriately. The requesting processes are referred to
as clients, and the overall approach is known as client-server computing. In this approach, requests are sent
in messages from clients to a server and replies are sent in messages from the server to the clients. When the
client sends a request for an operation to be carried out, we say that the client invokes an operation upon the
server.

Peer-to-peer Architecture

In this architecture all of the processes involved in a task or activity play similar roles, interacting
cooperatively as peers without any distinction between client and server processes or the computers on
which they run. The aim of the peer-to-peer architecture is to exploit the resources (both data and hardware)
in a large number of participating computers for the fulfilment of a given task or activity. Peer-to-peer
applications and systems have been successfully constructed that enable tens or hundreds of thousands of
computers to provide access to data and other resources that they collectively store and manage.
Send-omission

A process completes a send operation but the message is not put in its outgoing message buffer.

Receive-omission

A message is put in a process’s incoming message buffer, but that process does not receive it.

Arbitrary

Process/channel exhibits arbitrary behaviour: it may send/transmit arbitrary messages at arbitrary times or
commit omissions; a process may stop or take an incorrect step.

Validity

Any message in the outgoing message buffer is eventually delivered to the incoming message buffer.

Integrity

The message received is identical to one sent, and no messages are delivered twice.

Chapter (3)

Application Layer

Protocols at this level are designed to meet the communication requirements of specific applications, often
defining the interface to a service. Examples: HTTP, FTP

Presentation Layer

Protocols at this level transmit data in a network representation that is independent of the representations
used in individual computers, which may differ. Encryption is also performed in this layer, if required.
Examples: TLS security, CORBA data representation

Transport Layer

This is the lowest level at which messages (rather than packets) are handled. Messages are addressed to
communication ports attached to processes. Protocols in this layer may be connection-oriented or
connectionless. Examples: TCP, UDP

UDP Features

UDP is almost a transport-level replica of IP. A UDP datagram is encapsulated inside an IP packet. It has a
short header that includes the source and destination port numbers.
TCP Features

It provides reliable delivery of arbitrarily long sequences of bytes via a stream-based programming
abstraction. TCP is connection-oriented. Before any data is transferred, the sending and receiving processes
must cooperate in the establishment of a bidirectional communication channel.

TCP layer includes additional mechanisms to meet reliability guarantees.

Retransmission

The sender records the sequence numbers of the segments that it sends. When it receives an
acknowledgement, it notes that the segments were successfully received, and it may then delete them from
its outgoing buffers. If any segment is not acknowledged within a specified timeout, the sender retransmits it.

Buffering

The incoming buffer at the receiver is used to balance the flow between the sender and the receiver. If the
receiving process issues receive operations more slowly than the sender issues send operations, the quantity
of data in the buffer will grow. Usually it is extracted from the buffer before it becomes full, but ultimately
the buffer may overflow, and when that happens incoming segments are simply dropped without recording
their arrival. Their arrival is therefore not acknowledged and the sender is obliged to retransmit them.

Chapter (4)

Asynchronous Communication

In the asynchronous form of communication, the use of the send operation is non-blocking in that the
sending process is allowed to proceed as soon as the message has been copied to a local buffer, and the
transmission of the message proceeds in parallel with the sending process. The receive operation can have
blocking and non-blocking variants. In the non-blocking variant, the receiving process proceeds with its
program after issuing a receive operation, which provides a buffer to be filled in the background. In the
blocking variant, whenever a receive is issued by a process (or thread), it blocks until a message arrives.

Marshalling and Unmarshalling

Marshalling is the process of taking a collection of data items and assembling them into a form suitable for
transmission in a message. Unmarshalling is the process of disassembling them on arrival to produce an
equivalent collection of data items at the destination. Thus marshalling consists of the translation of
structured data items and primitive values into an external data representation. Similarly, unmarshalling
consists of the generation of primitive values from their external data representation and the rebuilding of
the data structures.
Chapter (5)

RPC (Remote Procedure Calls)

RPC aimed to make remote procedure calls as much like local procedure calls as possible, with no
distinction in syntax between a local and a remote procedure call.

RMI (Remote Method Invocation)

Remote method invocation (RMI) is closely related to RPC but extended into the world of distributed
objects. In RMI, a calling object can invoke a method in a potentially remote object. As with RPC, the
underlying details are generally hidden from the user.

The commonalities between RMI and RPC are as follows:

- They both support programming with interfaces.

- They are both typically constructed on top of request-reply protocols.

- They both offer a similar level of transparency.

Chapter (7)

Difference between network operating systems and distributed operating systems

Network Operating Systems

Both UNIX and Windows are examples of network operating systems. They have a networking capability
built into them and so can be used to access remote resources. There are multiple system images, one per
node. A user can remotely log into another computer, using ssh.

Distributed Operating Systems

There is a single system image. The operating system has control over all the nodes in the system.

Execution Environment

An execution environment primarily consists of:

- an address space

- thread synchronization and communication resources

- higher-level resources such as open files and windows

The central aim of having multiple threads

The central aim of having multiple threads of execution is to maximize the degree of concurrent execution
between operations, thus enabling the overlap of computation with input and output, and enabling
concurrent processing on multiprocessors. For example, one thread can process a client's request while a
second thread servicing another request waits for a disk access to complete.
Server Threading Architectures

The thread-per-connection architecture associates a thread with each connection. The server
creates a new worker thread when a client makes a connection and destroys the thread when the client closes
the connection. In between, the client may make many requests over the connection, targeted at one or more
remote objects.

The thread-per-object architecture associates a thread with each remote object. An I/O thread
receives requests and queues them for the workers, but this time there is a per-object queue.

In each of these last two architectures the server benefits from lower thread-management overheads
compared with the thread-per-request architecture. Their disadvantage is that clients may be delayed while a
worker thread has several outstanding requests but another thread has no work to perform.

MCQ

Ubiquitous computing

Ubiquitous computing is the harnessing of many small, cheap computational devices that are present in
users’ physical environments.

Webcasting

Webcasting is an application of distributed multimedia technology. It is the ability to broadcast continuous


media, typically audio or video, over the Internet.

Threads can be created and destroyed dynamically, as needed.

Fail-stop: Process halts and remains halted. Other processes may detect this state.

Crash: Process halts and remains halted. Other processes may not be able to detect this state.

client → stub (marshalling)

server → skeleton (unmarshalling)


Parallel AA

Solution of Parallel Computing

To reduce the processing time of uniprocessor computer

What is Parallel Computer?

- A computer with many processing units or processors.

- Breaks a given problem into a number of sub problems to be solved.

- Solve all sub problems simultaneously each on a different processor.

Why need Parallel Computers?

- Process vast amounts of data and a large number of calculations quickly.

- Remove part like one component is waiting to receive some input from another one in sequential process.

- Reduce computation time significantly by performing simultaneously the several operations.

Strength and Weakness of Parallel Computers

Strength

- Large Amount of Data

- Fast Processing

- Time Consuming

Weakness

- More Processors/Resources

Briefly explain Four Classes Models of computation.

Four Classes Models of computation

SISD: Single Instruction stream, Single Data stream

MISD: Multiple Instruction stream, Single Data stream

SIMD: Single Instruction stream, Multiple Data stream

MIMD: Multiple Instruction stream, Multiple Data stream


Single Instruction Stream, Single Data Stream (SISD)

- A computer consists of a single processing unit receiving a single stream of instructions that operate on a
single stream of data.

Example: sum of n consecutive numbers

Multiple Instruction Stream, Single Data Stream (MISD)

- N processors each with its own control unit share a common memory unit where data reside.

- N streams of instructions and one stream of data.

Example: z prime number

Single Instruction Stream, Multiple Data Stream (SIMD)

- Each of the N processors processes its own local memory where it can store both programs and data.

- N data streams, one per processor.

Example: merging two sequences

Multiple Instruction Stream, Multiple Data Stream (MIMD)

- Computers share a common memory are referred to as multiprocessors.

- Computers share using an interconnection network are known as multicomputer or distributed systems.

- N processors, N streams of instructions, and N streams of data.

Example: (a+b)*(c-d)/(e%f)

Explain Shared Memory (SM) SIMD Computers.

- Allows all processors to gain access to the shared memory simultaneously if the memory locations that
they are trying to read from or write into are different.

- Can be further divided into four subclasses according to whether two or more processors can gain access to
the same memory location simultaneously.

1. Exclusive-Read, Exclusive-Write (EREW) SM SIMD Computer

2. Concurrent-Read, Exclusive-Write (CREW) SM SIMD Computer

3. Exclusive-Read, Concurrent-Write (ERCW) SM SIMD Computer

4. Concurrent-Read, Concurrent-Write (CRCW) SM SIMD Computer


Four Subclasses of SM SIMD Computers

EREW (Exclusive-Read, Exclusive-Write)

- Access to memory locations is exclusive.

- No two processors are allowed simultaneously to read from or write into the same memory location.

CREW (Concurrent-Read, Exclusive-Write)

- Multiple processors are allowed to read from the same memory location.

- No two processors are allowed to write into the same location simultaneously.

ERCW (Exclusive-Read, Concurrent-Write)

- Multiple processors are allowed to write into the same memory location but read accesses are exclusive.

CRCW (Concurrent-Read, Concurrent-Write)

- Both multiple-read and multiple-write privileges are granted.

Different networks in SIMD computers

1. Fully Interconnected Network

2. Mesh Network (or) Two-dimensional Array

3. Tree Connection

4. Shuffle Connection

5. Cube Connection

Fully Interconnected Network

All processors can be busy communicating all the time in fully connected network.

Basic criteria

When analyzing parallel algorithms, the basic criteria are running time, number of processors used, and cost.

You might also like