SlideShare a Scribd company logo
Parallel & Distributed
Systems
Communication
Importance of
Communication Network
 Performance of a distributed system
deeply depends upon underlying
interprocess communication done
through communication network
2
Networks
• Definitions
 A set of Machines (computers, phones, routers, switches,
gateways, etc.) connected by communications links in a
way that they could pass information between each
other
• Why Networks?
 Sharing resources
 Increasing proximity between people/machines
Requirements
• Performance
 Transmission delay is arbitrary but finite
 Transmission time

Latency + message size / data transfer rate
• Reliability
 Hardware medium does not support replication
 Error recovery

Message lost

Message duplication

Message out-of-order

Message corruption
History of Networking
• Initially circuit switching (PSTN)
• 1960’s: Packet Switching
– ARPAnet (1969)
• 1970’s: LAN
– Ethernet
• 1980’s: Workstations & PCs
– Proliferation of LANs & WANs
• 1990’s: WWW
– Explosion of Internet nodes
– Mobile networks
Network Basics
• Topologies
 star, bus, mesh, ring, etc.
• Switching
 circuit, packet, and virtual circuit switching
• Transmission technology
 point-to-point vs. broadcasting
• Types of networks
 LAN, MAN, and WAN
• Internetworking devices
 Router
 Gateway
 bridge
Protocols
• A protocol specifies
 rules and formats used for interactions between
two parties

specification of the sequences of messages

specification of the format of the data in the message
Layered Architecture
• Motivation
 reducing complexity by modularizing tasks vertically
 Each layer use and provide services

layer N provides a service to layer N+1

layer N extends the service of layer N-1
 independence of each layer allows various
implementations across layers
ISO – OSI Reference Model
Services in Layered
Protocols
• Data Transport Service types
 Connection-oriented vs. connectionless
 Virtual circuit vs. datagram
 Depends on data and QoS requirements of layer above
• Packet assembly
 message at layer N+1 is fragmented into multiple PDUs at layer N
(MTU at layer N+1 > MTU at layer N)
 layer N at peer: responsible for assembly
• Addressing
 identification of the peer at layer N
 conversion into layer N-1 address
Protocol Design Issues
• Quality of service
 reliable vs. unreliable transmission
 messages vs. stream
 error-free vs. error-durable
• Error recovery
 data errors

causes: network error, malicious attacks, etc.

detection and correction: CRC
 transmission errors

causes: network failure, overflow, receiver busy, etc.

detection and correction: sequence number and retransmission
• Flow control
 sliding window
Layers
 Low-level layers
 Transport layer
 Application layer
 Middleware layer
Low Level Layers
• Physical layer: contains the specification and
implementation of bits, and their transmission
between sender and receiver
• Data link layer: prescribes the transmission of a
series of bits into a frame to allow for error and
flow control
• Network layer: describes how packets in a
network of computers are to be routed.
Transport Layer
• The transport layer provides the actual
communication facilities for most distributed
systems.
• Many application protocols are directly
implemented on top of transport protocols, doing a
lot of application-independent work.
• Standard Internet protocols:

TCP: connection-oriented, reliable, stream-oriented
communication
 UDP: unreliable (best-effort) datagram communication
Session and Presentation
 Session
 Dialog control
 Synchronization
 Presentation
 Concerned with meaning of bits

How data is presented so that both parties can
understand it
 Inter-conversion (ASCII, EBCDIC, Unicode etc)
 Compression/encoding/encryption
15
Application Protocols
 The protocols that do not fit into one
of the underlying layers
 All distributed systems are just
application (from OSI perspective)
16
Middleware
 An application that logically lives in the
application layer but contains general
purpose protocols that warrant their own
layers, independent of others

Authentication and authorization protocols
 Naming Protocols

Not closely tied to any application

Can be integrated as a general service

Application independent nature
17
Inter-Process
Communication
 Communication between two
processes
 Required for distributed application
operation
 Message Passing – the simplest form
 Sending process to send a single
message (datagram) to a receiving
process asking for services
18
Inter-Process
Communication
 Allows communication between
components (processes)
 Shields one process from failure of
another
 Provides modularity by a well defined
interface mechanism
 Hides distinction between local and
remote communications
19
Design Considerations in IPC
• Data representation
• Marshalling
• Calling semantics
• Addressing
• Reliable delivery
• Versatility
20
Data Representation
• Due to heterogeneity property of distributed
systems
• Things to consider
 Representation of floating point number in different
architectures
 byte ordering: may be big endian or little endian
 word boundary: ASCII take 1 byte per character, Unicode
take 2 bytes
• Policy
 conversion to the common data type agreed by both a
sender and a receiver while passing parameters in a
function call from sending to receiving process and same in
return value
21
Data Representation
Examples
22
Standard What it does
Sun XDR (External Data
Representation)
Used in Remote Procedure Calls
(RPC); converts data into a
standard binary format.
ISO ASN.1 (Abstract Syntax
Notation One)
Common in telecommunications
and networking; allows structured
data exchange.
Xerox Courier
Early protocol for data exchange;
used by Xerox’s networked
systems.
Marshalling
 Process of taking a collection of data items and assembling them
into a form suitable for transmission in a message
 Translation of structured data items and primitive values into an
External Data Representation (XDR)
 Unmarshalling is process of disassembling them on arrival to
produce an equivalent collection of data items at the destination
 Both are intended to be carried out by a middleware layer
without any involvement on part of the application programmer
 CORBA’s common data representation
 Java’s Object Serialization
 Marshalling into binary/ASCII form

Used by HTTP
23
Calling Semantics
• Remote operation invocation may need a different
behavior than a local one

sender may not need a result either at all or immediately

sender may want to do other operations in parallel (e.g.
multithreading)
• Semantics
 synchronous: same as local operation invocation
(blocked)

timeout is used to avoid indefinite wait
 delayed synchronous: the sender may get a reply later
 asynchronous: the sender does not need a reply
 RPC Exchange Protocol

R(Request)/RR(Request;Reply)/RRA(Request;Reply;ACK)
24
Addressing
 Identification of communication peers
 Location independent identifiers are
required

Globally unique identifier: UUID in Network
Computing Architecture

UUID is Universally Unique Identifier

A URI

Examples of Identifiers

Ports

Mailbox
25
Reliable Delivery
 Reliable Delivery
 End-to-end argument

error recovery in lower levels of protocols is only useful for
purpose of increasing efficiency

protocols for application-level end-to-end checking are always
required
 Possible causes for retransmission (client -> server)

server still working on it

server crashes

request gets lost
 IPC should provide some level of failure transparent but
also failure visibility (accurate report of failures)
26
Reliable Delivery
 Retransmission mechanisms
 reply can be considered an acknowledgement
 selective retransmission: sequence number
 explicit acknowledgement (server/client)
 retransmission timer
27
Versatility
 Types of IPC

remote operation

bulk data transfer

group communication

continuous media
 Flow control
 stop-and-wait

sliding window
 QoS
 real-time with no error tolerance

stream-oriented: steady and low delay but packet lost is ok
28
Group Communication
 Pair wise communication is not best in all
cases
 A process speaking to group of processes

May be replicas
 A multicast operation is more appropriate
 A single message from a process is propagated
to all the members of the group

Group membership is usually transparent to user
29
Group Communication
 Usage

Fault tolerance based on replicated services
 Finding discovery services in spontaneous
networking

Router solicitations and advertisements

Better performance through replicated data
 Propagation of event notification

A new news message
 Example
 IP multicast
30
Case Study: IPC in UNIX
 Implemented as system calls in a layer over TCP and
UDP
 Uses sockets
 Messages are queued at receiver socket until
receiver process makes an appropriate system call
 Socket creation
 Any process can do this by invoking socket system call
 Primitive Arguments

Type: datagram/stream

Protocol: TCP/UDP
 Socket call return a descriptor
31
Case Study: IPC in UNIX
 Datagram communication
 Socket pair is identified each time a
communication is made
 Stream Communication
 A connection is established between
peer pair of sockets prior to any
communication
32

More Related Content

PPT
Computer networks chapter1.
MrsRRajaSangeethaIT
 
PPTX
CISSP - Chapter 4 - Network Fundamental
Karthikeyan Dhayalan
 
PPTX
Introduction to computer networks
veeravanithaD
 
PPT
Computer network basics
JAI MCA-STUDENT
 
PPT
Data communication and networking notes_Lecture 2 (1).ppt
stephen972973
 
PPT
notes_Lecture 2.ppt tdtfdjhdydhdhdddtttt
aqeelabbasbsse
 
PPT
notes_Lecture 2ddddddd dcnsci cscscnscisncs csncscns c
MuhammadIbrar646649
 
PPT
notes_Lecaaaaaaaaaaaaaaaaaaaaature 2.ppt
AdityaGupta221734
 
Computer networks chapter1.
MrsRRajaSangeethaIT
 
CISSP - Chapter 4 - Network Fundamental
Karthikeyan Dhayalan
 
Introduction to computer networks
veeravanithaD
 
Computer network basics
JAI MCA-STUDENT
 
Data communication and networking notes_Lecture 2 (1).ppt
stephen972973
 
notes_Lecture 2.ppt tdtfdjhdydhdhdddtttt
aqeelabbasbsse
 
notes_Lecture 2ddddddd dcnsci cscscnscisncs csncscns c
MuhammadIbrar646649
 
notes_Lecaaaaaaaaaaaaaaaaaaaaature 2.ppt
AdityaGupta221734
 

Similar to Parallel systemhhzgzhzbzhhzhzhuzhzhzhhzhzh (20)

PDF
Computer Networks- Introduction and Data Link Layer
Deepak John
 
PPTX
CN Unit-1 PPT.pptx
AnithaVanama1
 
ODP
komdat1
pasca
 
ODP
komdat1
pasca
 
PPTX
Lecture 1 Network Reference Models Final.pptx
Ronoh Kennedy
 
PPT
Osi model 7 Layers
Siddique Ibrahim
 
PPT
Data & comp. communication
Ashwin Namewar
 
PPT
nv.ppt
tahaniali27
 
PPTX
seven layer OSI model
Manjeet MN
 
PDF
Cisco ccna certification knowledge to pass the exam
le_dung762
 
PDF
Unit_I_Computer Networks 4.pdf
Arumugam90
 
PPT
Tcp ip
mailalamin
 
PPT
934 Ch1 Networks
techbed
 
PPTX
Reference models in Networks: OSI & TCP/IP
Mukesh Chinta
 
PPT
06 - OSI Model.ppt
ssuserf7cd2b
 
PPT
06 - OSI Model.ppt
ssuserf7cd2b
 
PPTX
Fundamental Of Computer Network.
PushpendraSingh483
 
PPTX
unit1 network model osi and tcpip.pptx
183JAIDEEP
 
PPTX
CHP-4.pptx
FamiDan
 
PPTX
OSI reference model
shanthishyam
 
Computer Networks- Introduction and Data Link Layer
Deepak John
 
CN Unit-1 PPT.pptx
AnithaVanama1
 
komdat1
pasca
 
komdat1
pasca
 
Lecture 1 Network Reference Models Final.pptx
Ronoh Kennedy
 
Osi model 7 Layers
Siddique Ibrahim
 
Data & comp. communication
Ashwin Namewar
 
nv.ppt
tahaniali27
 
seven layer OSI model
Manjeet MN
 
Cisco ccna certification knowledge to pass the exam
le_dung762
 
Unit_I_Computer Networks 4.pdf
Arumugam90
 
Tcp ip
mailalamin
 
934 Ch1 Networks
techbed
 
Reference models in Networks: OSI & TCP/IP
Mukesh Chinta
 
06 - OSI Model.ppt
ssuserf7cd2b
 
06 - OSI Model.ppt
ssuserf7cd2b
 
Fundamental Of Computer Network.
PushpendraSingh483
 
unit1 network model osi and tcpip.pptx
183JAIDEEP
 
CHP-4.pptx
FamiDan
 
OSI reference model
shanthishyam
 
Ad

Recently uploaded (20)

PDF
5g is Reshaping the Competitive Landscape
Stellarix
 
PDF
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
PPTX
Parallel & Concurrent ...
yashpavasiya892
 
PPTX
谢尔丹学院毕业证购买|Sheridan文凭不见了怎么办谢尔丹学院成绩单
mookxk3
 
PPTX
Pengenalan perangkat Jaringan komputer pada teknik jaringan komputer dan tele...
Prayudha3
 
PPTX
The Latest Scam Shocking the USA in 2025.pptx
onlinescamreport4
 
PPTX
Blue and Dark Blue Modern Technology Presentation.pptx
ap177979
 
PPTX
How tech helps people in the modern era.
upadhyayaryan154
 
PPTX
Microsoft PowerPoint Student PPT slides.pptx
Garleys Putin
 
PPTX
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
PPT
Transformaciones de las funciones elementales.ppt
rirosel211
 
PPTX
Different Generation Of Computers .pptx
divcoder9507
 
PPTX
Crypto Recovery California Services.pptx
lionsgate network
 
PDF
UI/UX Developer Guide: Tools, Trends, and Tips for 2025
Penguin peak
 
PPTX
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
PPTX
LESSON-2-Roles-of-ICT-in-Teaching-for-learning_123922 (1).pptx
renavieramopiquero
 
PPTX
Generics jehfkhkshfhskjghkshhhhlshluhueheuhuhhlhkhk.pptx
yashpavasiya892
 
PPTX
The Monk and the Sadhurr and the story of how
BeshoyGirgis2
 
PDF
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
PDF
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
5g is Reshaping the Competitive Landscape
Stellarix
 
Data Protection & Resilience in Focus.pdf
AmyPoblete3
 
Parallel & Concurrent ...
yashpavasiya892
 
谢尔丹学院毕业证购买|Sheridan文凭不见了怎么办谢尔丹学院成绩单
mookxk3
 
Pengenalan perangkat Jaringan komputer pada teknik jaringan komputer dan tele...
Prayudha3
 
The Latest Scam Shocking the USA in 2025.pptx
onlinescamreport4
 
Blue and Dark Blue Modern Technology Presentation.pptx
ap177979
 
How tech helps people in the modern era.
upadhyayaryan154
 
Microsoft PowerPoint Student PPT slides.pptx
Garleys Putin
 
Perkembangan Perangkat jaringan komputer dan telekomunikasi 3.pptx
Prayudha3
 
Transformaciones de las funciones elementales.ppt
rirosel211
 
Different Generation Of Computers .pptx
divcoder9507
 
Crypto Recovery California Services.pptx
lionsgate network
 
UI/UX Developer Guide: Tools, Trends, and Tips for 2025
Penguin peak
 
dns domain name system history work.pptx
MUHAMMADKAVISHSHABAN
 
LESSON-2-Roles-of-ICT-in-Teaching-for-learning_123922 (1).pptx
renavieramopiquero
 
Generics jehfkhkshfhskjghkshhhhlshluhueheuhuhhlhkhk.pptx
yashpavasiya892
 
The Monk and the Sadhurr and the story of how
BeshoyGirgis2
 
BGP Security Best Practices that Matter, presented at PHNOG 2025
APNIC
 
PDF document: World Game (s) Great Redesign.pdf
Steven McGee
 
Ad

Parallel systemhhzgzhzbzhhzhzhuzhzhzhhzhzh

  • 2. Importance of Communication Network  Performance of a distributed system deeply depends upon underlying interprocess communication done through communication network 2
  • 3. Networks • Definitions  A set of Machines (computers, phones, routers, switches, gateways, etc.) connected by communications links in a way that they could pass information between each other • Why Networks?  Sharing resources  Increasing proximity between people/machines
  • 4. Requirements • Performance  Transmission delay is arbitrary but finite  Transmission time  Latency + message size / data transfer rate • Reliability  Hardware medium does not support replication  Error recovery  Message lost  Message duplication  Message out-of-order  Message corruption
  • 5. History of Networking • Initially circuit switching (PSTN) • 1960’s: Packet Switching – ARPAnet (1969) • 1970’s: LAN – Ethernet • 1980’s: Workstations & PCs – Proliferation of LANs & WANs • 1990’s: WWW – Explosion of Internet nodes – Mobile networks
  • 6. Network Basics • Topologies  star, bus, mesh, ring, etc. • Switching  circuit, packet, and virtual circuit switching • Transmission technology  point-to-point vs. broadcasting • Types of networks  LAN, MAN, and WAN • Internetworking devices  Router  Gateway  bridge
  • 7. Protocols • A protocol specifies  rules and formats used for interactions between two parties  specification of the sequences of messages  specification of the format of the data in the message
  • 8. Layered Architecture • Motivation  reducing complexity by modularizing tasks vertically  Each layer use and provide services  layer N provides a service to layer N+1  layer N extends the service of layer N-1  independence of each layer allows various implementations across layers
  • 9. ISO – OSI Reference Model
  • 10. Services in Layered Protocols • Data Transport Service types  Connection-oriented vs. connectionless  Virtual circuit vs. datagram  Depends on data and QoS requirements of layer above • Packet assembly  message at layer N+1 is fragmented into multiple PDUs at layer N (MTU at layer N+1 > MTU at layer N)  layer N at peer: responsible for assembly • Addressing  identification of the peer at layer N  conversion into layer N-1 address
  • 11. Protocol Design Issues • Quality of service  reliable vs. unreliable transmission  messages vs. stream  error-free vs. error-durable • Error recovery  data errors  causes: network error, malicious attacks, etc.  detection and correction: CRC  transmission errors  causes: network failure, overflow, receiver busy, etc.  detection and correction: sequence number and retransmission • Flow control  sliding window
  • 12. Layers  Low-level layers  Transport layer  Application layer  Middleware layer
  • 13. Low Level Layers • Physical layer: contains the specification and implementation of bits, and their transmission between sender and receiver • Data link layer: prescribes the transmission of a series of bits into a frame to allow for error and flow control • Network layer: describes how packets in a network of computers are to be routed.
  • 14. Transport Layer • The transport layer provides the actual communication facilities for most distributed systems. • Many application protocols are directly implemented on top of transport protocols, doing a lot of application-independent work. • Standard Internet protocols:  TCP: connection-oriented, reliable, stream-oriented communication  UDP: unreliable (best-effort) datagram communication
  • 15. Session and Presentation  Session  Dialog control  Synchronization  Presentation  Concerned with meaning of bits  How data is presented so that both parties can understand it  Inter-conversion (ASCII, EBCDIC, Unicode etc)  Compression/encoding/encryption 15
  • 16. Application Protocols  The protocols that do not fit into one of the underlying layers  All distributed systems are just application (from OSI perspective) 16
  • 17. Middleware  An application that logically lives in the application layer but contains general purpose protocols that warrant their own layers, independent of others  Authentication and authorization protocols  Naming Protocols  Not closely tied to any application  Can be integrated as a general service  Application independent nature 17
  • 18. Inter-Process Communication  Communication between two processes  Required for distributed application operation  Message Passing – the simplest form  Sending process to send a single message (datagram) to a receiving process asking for services 18
  • 19. Inter-Process Communication  Allows communication between components (processes)  Shields one process from failure of another  Provides modularity by a well defined interface mechanism  Hides distinction between local and remote communications 19
  • 20. Design Considerations in IPC • Data representation • Marshalling • Calling semantics • Addressing • Reliable delivery • Versatility 20
  • 21. Data Representation • Due to heterogeneity property of distributed systems • Things to consider  Representation of floating point number in different architectures  byte ordering: may be big endian or little endian  word boundary: ASCII take 1 byte per character, Unicode take 2 bytes • Policy  conversion to the common data type agreed by both a sender and a receiver while passing parameters in a function call from sending to receiving process and same in return value 21
  • 22. Data Representation Examples 22 Standard What it does Sun XDR (External Data Representation) Used in Remote Procedure Calls (RPC); converts data into a standard binary format. ISO ASN.1 (Abstract Syntax Notation One) Common in telecommunications and networking; allows structured data exchange. Xerox Courier Early protocol for data exchange; used by Xerox’s networked systems.
  • 23. Marshalling  Process of taking a collection of data items and assembling them into a form suitable for transmission in a message  Translation of structured data items and primitive values into an External Data Representation (XDR)  Unmarshalling is process of disassembling them on arrival to produce an equivalent collection of data items at the destination  Both are intended to be carried out by a middleware layer without any involvement on part of the application programmer  CORBA’s common data representation  Java’s Object Serialization  Marshalling into binary/ASCII form  Used by HTTP 23
  • 24. Calling Semantics • Remote operation invocation may need a different behavior than a local one  sender may not need a result either at all or immediately  sender may want to do other operations in parallel (e.g. multithreading) • Semantics  synchronous: same as local operation invocation (blocked)  timeout is used to avoid indefinite wait  delayed synchronous: the sender may get a reply later  asynchronous: the sender does not need a reply  RPC Exchange Protocol  R(Request)/RR(Request;Reply)/RRA(Request;Reply;ACK) 24
  • 25. Addressing  Identification of communication peers  Location independent identifiers are required  Globally unique identifier: UUID in Network Computing Architecture  UUID is Universally Unique Identifier  A URI  Examples of Identifiers  Ports  Mailbox 25
  • 26. Reliable Delivery  Reliable Delivery  End-to-end argument  error recovery in lower levels of protocols is only useful for purpose of increasing efficiency  protocols for application-level end-to-end checking are always required  Possible causes for retransmission (client -> server)  server still working on it  server crashes  request gets lost  IPC should provide some level of failure transparent but also failure visibility (accurate report of failures) 26
  • 27. Reliable Delivery  Retransmission mechanisms  reply can be considered an acknowledgement  selective retransmission: sequence number  explicit acknowledgement (server/client)  retransmission timer 27
  • 28. Versatility  Types of IPC  remote operation  bulk data transfer  group communication  continuous media  Flow control  stop-and-wait  sliding window  QoS  real-time with no error tolerance  stream-oriented: steady and low delay but packet lost is ok 28
  • 29. Group Communication  Pair wise communication is not best in all cases  A process speaking to group of processes  May be replicas  A multicast operation is more appropriate  A single message from a process is propagated to all the members of the group  Group membership is usually transparent to user 29
  • 30. Group Communication  Usage  Fault tolerance based on replicated services  Finding discovery services in spontaneous networking  Router solicitations and advertisements  Better performance through replicated data  Propagation of event notification  A new news message  Example  IP multicast 30
  • 31. Case Study: IPC in UNIX  Implemented as system calls in a layer over TCP and UDP  Uses sockets  Messages are queued at receiver socket until receiver process makes an appropriate system call  Socket creation  Any process can do this by invoking socket system call  Primitive Arguments  Type: datagram/stream  Protocol: TCP/UDP  Socket call return a descriptor 31
  • 32. Case Study: IPC in UNIX  Datagram communication  Socket pair is identified each time a communication is made  Stream Communication  A connection is established between peer pair of sockets prior to any communication 32

Editor's Notes

  • #3: Proximity = closeness, nearness
  • #5: Proliferation = spread
  • #10: PDU = Protocol Data Unit MTU = Max Transmission Unit
  • #11: Sliding Window allows a sender to send multiple packets before needing an acknowledgment, increasing efficiency. Benefits: Improves efficiency by allowing continuous data flow. Avoids congestion by controlling how much data is in transit. Helps with error control by retransmitting only unacknowledged packets Let’s say the window size is 4: Sender sends packets 1, 2, 3, 4. Waits for ACKs. If ACK 1 and 2 are received, the window slides → now send 5 and 6. If packet 3 is lost, only 3 is retransmitted.
  • #17: HTTP is application layer protocol but uses general purpose protocols like TLS/SSL that acts as security layer which is not fully part of OSI layers. These may be used by browser, email, file transfer, VPN etc