Message & Stream
Oriented Communication
CS4262 Distributed Systems
Dilum Bandara
Dilum.Bandara@uom.lk
Some slides extracted from Dr. Srinath Perera & Dr. Rajkumar Buyya’s
Presentation Deck
Outline
 Message oriented communication
 Event queues
 Pub/sub networks
 MPI
 Stream-based communication
 Multicast communication
2
Definitions – Persistent
vs. Transient Communication
 Persistent communication
 Message submitted for transmission is stored by communication
system for as long as it takes to deliver it to receiver
 e.g., e-mail, SMS
 Not necessary for sender to continue execution after submitting
a message
 Not necessary for receiver to be executing at the time message
submission
 Transient communication
 Message is stored by communication system only as long as
sending & receiving applications are executing
 e.g., transport-level communication services (store-and-forward
router)
 Receiver needs to be there when a message is received
3
Definitions – Asynchronous vs.
Synchronous Communication
 Asynchronous communication
 Sender continues immediately after it has submitted
its message for transmission
 Message may be stored, in a local buffer at sending
host or at an intermediate communication server
 Synchronous communication
 Sender is blocked until its message is stored in a
local buffer at receiving host or actually delivered to
receiver
 Strongest form – Sender blocked until receiver has
processed message
4
Types of Communication
5
a) Persistent asynchronous communication (e.g., e-mail)
b) Persistent synchronous communication
Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
Types of Communication (Cont.)
6
c) Transient asynchronous communication (e.g., UDP)
d) Receipt-based transient synchronous communication
Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
Types of Communication (Cont.)
7
e) Delivery-based transient synchronous communication
f) Response-based transient synchronous communication
Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
Types of Communication (Cont.)
1. Persistent, asynchronous communication
 Messages are persistently stored in local host buffer,
or at an intermediate communication server
 e.g., e-mail
2. Persistent, synchronous communication
 Messages can be persistently stored only at receiving
host
 Weaker form of synchronous communication
 It isn’t necessary for receiving application to be executing
8
Types of Communication (Cont.)
3. Transient, asynchronous communication
 Messages is temporarily stored in a local buffer &
sender immediately continues
 e.g., UDP, RPC fire & forget
4. Transient, synchronous communication
I. Weakest form
 Receipt-based, transient, synchronous communication
 Sender is blocked until message is stored in a local buffer of
receiving host
 e.g., Asynchronous RPC delivery part (send with Ack)
9
Types of Communication (Cont.)
II. Weaker form
 Delivery-based, transient, synchronous communication
 e.g., Asynchronous RPC delivery part (Send with Ack)
III. Strongest form
 Response-based, transient, synchronous communication
 e.g., RPC & RMI
10
Message-Oriented Communication
 Message-oriented transient communication
 Transport-level sockets
 Message-Passing Interface (MPI)
 Message transfer latency  milliseconds to seconds
 Message-oriented persistent communication
 Message-queuing systems or Message-Oriented
Middleware (MOM)
 Provide intermediate-term storage capacity for
messages
 Doesn’t requiring either sender or receiver to be active during
message transmission
 Message transfer latency  seconds to minutes 11
Message-Queuing Model
 Applications communicate by inserting messages into a
series of queues
 Loosely-coupled communication
 Sender is given guarantee that its message will eventually be
inserted in recipient’s queue
 No guarantee on timing, or message will actually be read
12
Source: http://msdn.microsoft.com/en-
us/library/windows/desktop/ms699870%
28v=vs.85%29.aspx
Message-Queuing Model
Combinations
13
Loosely-coupled communications using Queues.
Sender & receiver can execute completely independent of each other.
Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
Message-Queuing Interface
 Basic interface to a queue in a message-
queuing system
14
Primitive Meaning
Put Append a message to a specified queue
Get Block until the specified queue is nonempty, & remove first
message
Poll Check a specified queue for messages, & remove first
message. Never block
Notify Install a handler to be called when a message is put into
specified queue
Architecture of a Typical Message-
Queuing System With Routers
15
Source: http://csis.pace.edu/~marchese/SE765/L7/L7.htm
Message Queue Applications
 Amazon Simple Queue Service (Amazon SQS)
 Decouple components of a cloud application
 Can transmit any volume of data, at any level of
throughput, without losing messages or requiring
other services to be always available
16
Source: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-using-sqs-queue.html
Message Queue Applications (Cont.)
 Java Message Service (JMS) queues
 Based on Java Enterprise Edition (JEE)
 Loosely coupled, reliable, & asynchronous
 Other applications
 E-mail
 Workflow & Groupware
 Batch processing
 Job queues
 Stream/complex-event processing
17
Pub/Sub Networks
 Publishers publish messages
 Usually to a topic
 Subscribers may express
interest for a subset of
messages
 Pub/Sub system makes sure
interested parties get
corresponding messages
 80-90% implementations are
topic based
 Content based is hard
18
Source: http://msdn.microsoft.com/en-
us/library/ff649664.aspx
19
Eventing in Pub/Sub
 Decouple
 Time – both parties need not be online same time
 Space – don’t know each other’s addresses
 Synchronization – don’t have to wait for each other
 Models
 Event producer  Event consumer
 Event producer  Broker  Event consumer
 Actually it’s Event producer  Event Bus  Notifier
 Event bus can be 1+ nodes
 Decoupling makes it is hard to debug
20
Pub/Sub Brokers
 RSS feeds
 Apache ActiveMQ, Qpid
 OGCE WS-Messenger
 For web services
 WSO2 Event Server
 Microsoft BizTalk Server
 Distributed brokers
 Narada Broker (www.naradabrokering.org)
 Whihdum (http://code.google.com/p/wihidum/)
21
Message Brokers
 Applications need to understand messages they
receive
 Options
 Standard message formats
 Not suitable as message-queuing applications typically
operate at a higher level of abstraction
 Convert messages using a Message Broker
 Convert incoming messages to a format that can be
understood by destination application
22
Message Brokers
23
Source: http://www.fi.muni.cz/~xkolar2/dp/html/index.html
Message Broker Architecture
24
Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
Message Bus
 A.k.a. Enterprise Service Bus (ESB)
 Tasks
 Monitor & control routing of message exchange between services
 Resolve contention between communicating service components
 Control deployment & versioning of services
 Marshal use of redundant services
25
Source: http://msdn.microsoft.com/en-us/library/ff647328.aspx
Complex Event Processing System
26
WSO2 Siddhi CEP Architecture
27
Source: S. Suhothayan et al., “Siddhi: A Second Look at Complex Event Processing Architectures”, Nov. 2011
Siddhi Pipeline Architecture
28
Source: S. Suhothayan et al., “Siddhi: A Second Look at Complex Event Processing Architectures”, Nov. 2011
Message-Passing Interface (MPI)
 Designed for communication among parallel
applications
 Primarily used in HPC systems with high-speed
interconnection networks
 Provides an interface with advanced features
such as different forms of buffering &
synchronization
 Provides hardware independence
 Supports many types/forms of communication
 Algorithm/application specific performance
optimization 29
MPI Operations
30
Source: http://www.broadinstitute.org/gatk/about/#high-performance
Source: http://mpitutorial.com/mpi-reduce-and-allreduce/
MPI_Allreduce
31
Global sum followed
by distribution of result
Source: Peter Pacheco, "An Introduction
to Parallel Programming"
Butterfly-Structured Global Sum
32
Source: Peter Pacheco, "An Introduction to Parallel Programming"
MPI Primitives
33
Primitive Meaning
MPI_bsend Append outgoing message to local send buffer.
MPI_send Send a message & wait until copied to local or remote
buffer.
MPI_ssend Send a message & wait until receipt starts.
MPI_sendrecv Send a message & wait for reply.
MPI_isend Pass reference to outgoing message, and continue.
MPI_issend Pass reference to outgoing message, & wait until receipt
starts.
MPI_recv Receive a message; block if there is none.
MPI_irecv Check if there is an incoming message, but do not block.
Stream Oriented Communication
 Continuous streams of data
 e.g., real media stream
 Modes
 Asynchronous – no time limit
 Synchronous – max time limit
 Isochronous – both max & lower limit
 Simple stream – One type of streams
 Complex stream – Many streams
 e.g., movie with video, 2 audio, & subtitles
 QoS – bit rate, delay, jitter, etc.
 Enforcing QoS is a main challenge 34
Streams (Cont.)
 Enforcing QOS
 Mark packets as high priority
 Use buffers to reduce jitter (play from buffer)
35Source: T. Banka et al., “An architecture and a programming interface for application-aware data
dissemination using overlay networks,” COMSWARE 2007
Streams (Cont.)
 Stream synchronization
 Read alternatively
 Control interface to control rates
 Distribution – merge at sender
36
Multicast Communication
 Network level – IP multicast
 Very efficient within LAN
 No global routing support
 Application level
 Main challenge is to setup a path
 Options
 Tree based
 Mesh based
 Can recover from failures
 Often used in parallel computing clusters
 Group communication
 Ordered reliable multicast 37
Tree-Push & Mesh-Pull
38
Source:
J. Liu et al., "Opportunities and challenges of peer-to-peer
internet video broadcast,” 2008.
X. Zhang et al., "CoolStreaming/DONet: a data-driven overlay
network for efficient live media streaming," INFOCOM 2005.

More Related Content

PPTX
Communication in Distributed Systems
PPT
message passing
PPT
Distributed objects & components of corba
PDF
Inter-Process Communication in distributed systems
PPTX
Unit 1
PPT
clock synchronization in Distributed System
PDF
Introduction to Web Services
PPTX
Remote Procedure Call in Distributed System
Communication in Distributed Systems
message passing
Distributed objects & components of corba
Inter-Process Communication in distributed systems
Unit 1
clock synchronization in Distributed System
Introduction to Web Services
Remote Procedure Call in Distributed System

What's hot (20)

PPTX
Fault tolerance in distributed systems
PPTX
Message passing in Distributed Computing Systems
PPT
Communication primitives
PDF
8. mutual exclusion in Distributed Operating Systems
PPT
Naming in Distributed Systems
PPT
File models and file accessing models
PPTX
RPC: Remote procedure call
PPT
Clock synchronization in distributed system
PPT
File replication
PPTX
Distributed file system
PPTX
Replication in Distributed Systems
PPTX
Distributed shred memory architecture
PPTX
Models of Distributed System
PPTX
2. Distributed Systems Hardware & Software concepts
PPTX
Security in distributed systems
PPT
3. distributed file system requirements
PPT
Logical Clocks (Distributed computing)
PPTX
Query processing in Distributed Database System
PPT
Communications is distributed systems
PDF
Middleware and Middleware in distributed application
Fault tolerance in distributed systems
Message passing in Distributed Computing Systems
Communication primitives
8. mutual exclusion in Distributed Operating Systems
Naming in Distributed Systems
File models and file accessing models
RPC: Remote procedure call
Clock synchronization in distributed system
File replication
Distributed file system
Replication in Distributed Systems
Distributed shred memory architecture
Models of Distributed System
2. Distributed Systems Hardware & Software concepts
Security in distributed systems
3. distributed file system requirements
Logical Clocks (Distributed computing)
Query processing in Distributed Database System
Communications is distributed systems
Middleware and Middleware in distributed application
Ad

Similar to Message and Stream Oriented Communication (20)

PPTX
Message Oriented Middleware
PDF
communicationsection123-150610092456-lva1-app6891.pdf
PDF
MOM - Message Oriented Middleware
PDF
On MQ Series & JMS
PPT
Distributed System by Pratik Tambekar
PPTX
SOA Pattern-Asynchronous Queuing
PPT
Unit_2_COMMUNICATION AND CO-ORDINATION.ppt
PPTX
Enterprise messaging with jms
PPTX
Topic 5- Communications v1.pptx
ODP
Apache ActiveMQ and Apache Camel
PPT
data communication
PPTX
Synchronous and asynchronous software communication components
PPT
Mq Lecture
PDF
Distributed systems short notes module 1
PDF
Designing Distributed Systems
PPTX
COMPLEXITY CHAPTER 4 LECTURE FOR FOURTH YEAR .pptx
PPTX
Designing Application over mobile environment
PDF
WSO2 Message Broker - Product Overview
PDF
Messaging With ActiveMQ
PDF
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
Message Oriented Middleware
communicationsection123-150610092456-lva1-app6891.pdf
MOM - Message Oriented Middleware
On MQ Series & JMS
Distributed System by Pratik Tambekar
SOA Pattern-Asynchronous Queuing
Unit_2_COMMUNICATION AND CO-ORDINATION.ppt
Enterprise messaging with jms
Topic 5- Communications v1.pptx
Apache ActiveMQ and Apache Camel
data communication
Synchronous and asynchronous software communication components
Mq Lecture
Distributed systems short notes module 1
Designing Distributed Systems
COMPLEXITY CHAPTER 4 LECTURE FOR FOURTH YEAR .pptx
Designing Application over mobile environment
WSO2 Message Broker - Product Overview
Messaging With ActiveMQ
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
Ad

More from Dilum Bandara (20)

PPTX
Designing for Multiple Blockchains in Industry Ecosystems
PPTX
Introduction to Machine Learning
PPTX
Time Series Analysis and Forecasting in Practice
PPTX
Introduction to Dimension Reduction with PCA
PPTX
Introduction to Descriptive & Predictive Analytics
PPTX
Introduction to Concurrent Data Structures
PPTX
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
PPTX
Introduction to Map-Reduce Programming with Hadoop
PPTX
Embarrassingly/Delightfully Parallel Problems
PPTX
Introduction to Warehouse-Scale Computers
PPTX
Introduction to Thread Level Parallelism
PPTX
CPU Memory Hierarchy and Caching Techniques
PPTX
Data-Level Parallelism in Microprocessors
PDF
Instruction Level Parallelism – Hardware Techniques
PPTX
Instruction Level Parallelism – Compiler Techniques
PPTX
CPU Pipelining and Hazards - An Introduction
PPTX
Advanced Computer Architecture – An Introduction
PPTX
High Performance Networking with Advanced TCP
PPTX
Introduction to Content Delivery Networks
PPTX
Peer-to-Peer Networking Systems and Streaming
Designing for Multiple Blockchains in Industry Ecosystems
Introduction to Machine Learning
Time Series Analysis and Forecasting in Practice
Introduction to Dimension Reduction with PCA
Introduction to Descriptive & Predictive Analytics
Introduction to Concurrent Data Structures
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Introduction to Map-Reduce Programming with Hadoop
Embarrassingly/Delightfully Parallel Problems
Introduction to Warehouse-Scale Computers
Introduction to Thread Level Parallelism
CPU Memory Hierarchy and Caching Techniques
Data-Level Parallelism in Microprocessors
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Compiler Techniques
CPU Pipelining and Hazards - An Introduction
Advanced Computer Architecture – An Introduction
High Performance Networking with Advanced TCP
Introduction to Content Delivery Networks
Peer-to-Peer Networking Systems and Streaming

Recently uploaded (20)

PPTX
L1111-Important Microbial Mechanisms.pptx
PPTX
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
PDF
SURVEYING BRIDGING DBATU LONERE 2025 SYLLABUS
PPTX
ARCHITECTURE AND PROGRAMMING OF EMBEDDED SYSTEMS
PDF
V2500 Owner and Operatore Guide for Airbus
PPTX
sub station Simple Design of Substation PPT.pptx
PDF
LS-6-Digital-Literacy (1) K12 CURRICULUM .pdf
PPTX
IOP Unit 1.pptx for btech 1st year students
PPTX
quantum theory on the next future in.pptx
PDF
IAE-V2500 Engine for Airbus Family 319/320
PPTX
Software-Development-Life-Cycle-SDLC.pptx
PPT
Basics Of Pump types, Details, and working principles.
PDF
Module 1 part 1.pdf engineering notes s7
PDF
ITEC 1010 - Networks and Cloud Computing
PDF
CBCN cam bien cong nghiep bach khoa da năng
PDF
BTCVPE506F_Module 1 History & Theories of Town Planning.pdf
PPTX
240409 Data Center Training Programs by Uptime Institute (Drafting).pptx
PDF
B461227.pdf American Journal of Multidisciplinary Research and Review
PDF
The Journal of Finance - July 1993 - JENSEN - The Modern Industrial Revolutio...
PDF
Application of smart robotics in the supply chain
L1111-Important Microbial Mechanisms.pptx
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
SURVEYING BRIDGING DBATU LONERE 2025 SYLLABUS
ARCHITECTURE AND PROGRAMMING OF EMBEDDED SYSTEMS
V2500 Owner and Operatore Guide for Airbus
sub station Simple Design of Substation PPT.pptx
LS-6-Digital-Literacy (1) K12 CURRICULUM .pdf
IOP Unit 1.pptx for btech 1st year students
quantum theory on the next future in.pptx
IAE-V2500 Engine for Airbus Family 319/320
Software-Development-Life-Cycle-SDLC.pptx
Basics Of Pump types, Details, and working principles.
Module 1 part 1.pdf engineering notes s7
ITEC 1010 - Networks and Cloud Computing
CBCN cam bien cong nghiep bach khoa da năng
BTCVPE506F_Module 1 History & Theories of Town Planning.pdf
240409 Data Center Training Programs by Uptime Institute (Drafting).pptx
B461227.pdf American Journal of Multidisciplinary Research and Review
The Journal of Finance - July 1993 - JENSEN - The Modern Industrial Revolutio...
Application of smart robotics in the supply chain

Message and Stream Oriented Communication

  • 1. Message & Stream Oriented Communication CS4262 Distributed Systems Dilum Bandara [email protected] Some slides extracted from Dr. Srinath Perera & Dr. Rajkumar Buyya’s Presentation Deck
  • 2. Outline  Message oriented communication  Event queues  Pub/sub networks  MPI  Stream-based communication  Multicast communication 2
  • 3. Definitions – Persistent vs. Transient Communication  Persistent communication  Message submitted for transmission is stored by communication system for as long as it takes to deliver it to receiver  e.g., e-mail, SMS  Not necessary for sender to continue execution after submitting a message  Not necessary for receiver to be executing at the time message submission  Transient communication  Message is stored by communication system only as long as sending & receiving applications are executing  e.g., transport-level communication services (store-and-forward router)  Receiver needs to be there when a message is received 3
  • 4. Definitions – Asynchronous vs. Synchronous Communication  Asynchronous communication  Sender continues immediately after it has submitted its message for transmission  Message may be stored, in a local buffer at sending host or at an intermediate communication server  Synchronous communication  Sender is blocked until its message is stored in a local buffer at receiving host or actually delivered to receiver  Strongest form – Sender blocked until receiver has processed message 4
  • 5. Types of Communication 5 a) Persistent asynchronous communication (e.g., e-mail) b) Persistent synchronous communication Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
  • 6. Types of Communication (Cont.) 6 c) Transient asynchronous communication (e.g., UDP) d) Receipt-based transient synchronous communication Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
  • 7. Types of Communication (Cont.) 7 e) Delivery-based transient synchronous communication f) Response-based transient synchronous communication Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
  • 8. Types of Communication (Cont.) 1. Persistent, asynchronous communication  Messages are persistently stored in local host buffer, or at an intermediate communication server  e.g., e-mail 2. Persistent, synchronous communication  Messages can be persistently stored only at receiving host  Weaker form of synchronous communication  It isn’t necessary for receiving application to be executing 8
  • 9. Types of Communication (Cont.) 3. Transient, asynchronous communication  Messages is temporarily stored in a local buffer & sender immediately continues  e.g., UDP, RPC fire & forget 4. Transient, synchronous communication I. Weakest form  Receipt-based, transient, synchronous communication  Sender is blocked until message is stored in a local buffer of receiving host  e.g., Asynchronous RPC delivery part (send with Ack) 9
  • 10. Types of Communication (Cont.) II. Weaker form  Delivery-based, transient, synchronous communication  e.g., Asynchronous RPC delivery part (Send with Ack) III. Strongest form  Response-based, transient, synchronous communication  e.g., RPC & RMI 10
  • 11. Message-Oriented Communication  Message-oriented transient communication  Transport-level sockets  Message-Passing Interface (MPI)  Message transfer latency  milliseconds to seconds  Message-oriented persistent communication  Message-queuing systems or Message-Oriented Middleware (MOM)  Provide intermediate-term storage capacity for messages  Doesn’t requiring either sender or receiver to be active during message transmission  Message transfer latency  seconds to minutes 11
  • 12. Message-Queuing Model  Applications communicate by inserting messages into a series of queues  Loosely-coupled communication  Sender is given guarantee that its message will eventually be inserted in recipient’s queue  No guarantee on timing, or message will actually be read 12 Source: http://msdn.microsoft.com/en- us/library/windows/desktop/ms699870% 28v=vs.85%29.aspx
  • 13. Message-Queuing Model Combinations 13 Loosely-coupled communications using Queues. Sender & receiver can execute completely independent of each other. Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
  • 14. Message-Queuing Interface  Basic interface to a queue in a message- queuing system 14 Primitive Meaning Put Append a message to a specified queue Get Block until the specified queue is nonempty, & remove first message Poll Check a specified queue for messages, & remove first message. Never block Notify Install a handler to be called when a message is put into specified queue
  • 15. Architecture of a Typical Message- Queuing System With Routers 15 Source: http://csis.pace.edu/~marchese/SE765/L7/L7.htm
  • 16. Message Queue Applications  Amazon Simple Queue Service (Amazon SQS)  Decouple components of a cloud application  Can transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available 16 Source: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-using-sqs-queue.html
  • 17. Message Queue Applications (Cont.)  Java Message Service (JMS) queues  Based on Java Enterprise Edition (JEE)  Loosely coupled, reliable, & asynchronous  Other applications  E-mail  Workflow & Groupware  Batch processing  Job queues  Stream/complex-event processing 17
  • 18. Pub/Sub Networks  Publishers publish messages  Usually to a topic  Subscribers may express interest for a subset of messages  Pub/Sub system makes sure interested parties get corresponding messages  80-90% implementations are topic based  Content based is hard 18 Source: http://msdn.microsoft.com/en- us/library/ff649664.aspx
  • 19. 19
  • 20. Eventing in Pub/Sub  Decouple  Time – both parties need not be online same time  Space – don’t know each other’s addresses  Synchronization – don’t have to wait for each other  Models  Event producer  Event consumer  Event producer  Broker  Event consumer  Actually it’s Event producer  Event Bus  Notifier  Event bus can be 1+ nodes  Decoupling makes it is hard to debug 20
  • 21. Pub/Sub Brokers  RSS feeds  Apache ActiveMQ, Qpid  OGCE WS-Messenger  For web services  WSO2 Event Server  Microsoft BizTalk Server  Distributed brokers  Narada Broker (www.naradabrokering.org)  Whihdum (http://code.google.com/p/wihidum/) 21
  • 22. Message Brokers  Applications need to understand messages they receive  Options  Standard message formats  Not suitable as message-queuing applications typically operate at a higher level of abstraction  Convert messages using a Message Broker  Convert incoming messages to a format that can be understood by destination application 22
  • 24. Message Broker Architecture 24 Source: A.S. Tanenbaum & M.V. Steen, Distributed Systems: Principles and Paradigms
  • 25. Message Bus  A.k.a. Enterprise Service Bus (ESB)  Tasks  Monitor & control routing of message exchange between services  Resolve contention between communicating service components  Control deployment & versioning of services  Marshal use of redundant services 25 Source: http://msdn.microsoft.com/en-us/library/ff647328.aspx
  • 27. WSO2 Siddhi CEP Architecture 27 Source: S. Suhothayan et al., “Siddhi: A Second Look at Complex Event Processing Architectures”, Nov. 2011
  • 28. Siddhi Pipeline Architecture 28 Source: S. Suhothayan et al., “Siddhi: A Second Look at Complex Event Processing Architectures”, Nov. 2011
  • 29. Message-Passing Interface (MPI)  Designed for communication among parallel applications  Primarily used in HPC systems with high-speed interconnection networks  Provides an interface with advanced features such as different forms of buffering & synchronization  Provides hardware independence  Supports many types/forms of communication  Algorithm/application specific performance optimization 29
  • 30. MPI Operations 30 Source: http://www.broadinstitute.org/gatk/about/#high-performance Source: http://mpitutorial.com/mpi-reduce-and-allreduce/
  • 31. MPI_Allreduce 31 Global sum followed by distribution of result Source: Peter Pacheco, "An Introduction to Parallel Programming"
  • 32. Butterfly-Structured Global Sum 32 Source: Peter Pacheco, "An Introduction to Parallel Programming"
  • 33. MPI Primitives 33 Primitive Meaning MPI_bsend Append outgoing message to local send buffer. MPI_send Send a message & wait until copied to local or remote buffer. MPI_ssend Send a message & wait until receipt starts. MPI_sendrecv Send a message & wait for reply. MPI_isend Pass reference to outgoing message, and continue. MPI_issend Pass reference to outgoing message, & wait until receipt starts. MPI_recv Receive a message; block if there is none. MPI_irecv Check if there is an incoming message, but do not block.
  • 34. Stream Oriented Communication  Continuous streams of data  e.g., real media stream  Modes  Asynchronous – no time limit  Synchronous – max time limit  Isochronous – both max & lower limit  Simple stream – One type of streams  Complex stream – Many streams  e.g., movie with video, 2 audio, & subtitles  QoS – bit rate, delay, jitter, etc.  Enforcing QoS is a main challenge 34
  • 35. Streams (Cont.)  Enforcing QOS  Mark packets as high priority  Use buffers to reduce jitter (play from buffer) 35Source: T. Banka et al., “An architecture and a programming interface for application-aware data dissemination using overlay networks,” COMSWARE 2007
  • 36. Streams (Cont.)  Stream synchronization  Read alternatively  Control interface to control rates  Distribution – merge at sender 36
  • 37. Multicast Communication  Network level – IP multicast  Very efficient within LAN  No global routing support  Application level  Main challenge is to setup a path  Options  Tree based  Mesh based  Can recover from failures  Often used in parallel computing clusters  Group communication  Ordered reliable multicast 37
  • 38. Tree-Push & Mesh-Pull 38 Source: J. Liu et al., "Opportunities and challenges of peer-to-peer internet video broadcast,” 2008. X. Zhang et al., "CoolStreaming/DONet: a data-driven overlay network for efficient live media streaming," INFOCOM 2005.

Editor's Notes

  • #22: RSS - Really Simple Syndication ES - Event Server
  • #27: LDM - Local Data Manager