Your SlideShare is downloading. ×
A Gentle Introduction to OpenSplice DDS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

A Gentle Introduction to OpenSplice DDS

3,429
views

Published on

This presentation provides a primer into the DDS standard and OpenSplice DDS.

This presentation provides a primer into the DDS standard and OpenSplice DDS.

Published in: Technology, Business

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,429
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
312
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. OpenSplice DDS Delivering Performance, Openness, and Freedom Angelo Corsaro, Ph.D. Chief Technology Officer A Gentle Introduction OMG DDS SIG Co-Chair angelo.corsaro@prismtech.com
  • 2. OpenSplice DDS Delivering Performance, Openness, and Freedom “Historical” Perspective
  • 3. Addressing Data Distribution Challenges DDS is standard designed to address the data-distribution challenges across The OMG DDS Standard a wide class of Defense and Aerospace Applications ‣ Introduced in 2004 to address the Data Distribution challenges faced by a wide class of Defense and Aerospace Applications ‣ Key requirement for the standard were its ability to deliver very high performance while seamlessly scaling from embedded to ultra- large-scale deployments ‣ Today recommended by key administration worldwide and widely adopted across several different application domains, such as, Automated Trading, Simulations, SCADA, Telemetry, etc. © 2009, PrismTech. All Rights Reserved
  • 4. The OMG Data Distribution Service (DDS) DDS v1.2 API Standard ‣ Language Independent, OS and HW architecture Application independent Object/Relational Mapping ‣ DCPS. Standard API for Data-Centric, Topic- Data Local Reconstruction Layer (DLRL) Based, Real-Time Publish/Subscribe Content ‣ Ownership Durability DLRL. Standard API for creating Object Views out Subscription of collection of Topics Minimum Profile Data Centric Publish/Subscribe (DCPS) DDSI/RTPS v2.1 Wire Protocol Standard ‣ Standard wire protocol allowing interoperability Real-Time Publish/Subscribe Protocol DDS Interoperability Wire Protocol between different implementations of the DDS standard UDP/IP ‣ Interoperability demonstrated among key DDS vendors in March 2009 © 2009, PrismTech. All Rights Reserved
  • 5. DDS!Recommendations is churning… The infrastructure evolution cycle – New -> Emerging -> Standard -> Commodity Increasingly Mandated/Recommended by Administrations – Middleware is emerging as OS declines ! …DDS is maturing… ‣ US Navy: Open Architecture – OMG focus – Wire spec Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ DISR/DISA: Net-centric Systems – Tools – Enterprise integration – Multiple products fielded ‣ EuroControl:– Deployed applications! Air Traffic Control Center Operational Interoperability ! …and adoption is on the rise – Navy – DISR ‣ QinetiQ: Recommending DDS for VSI – FCS/SoSCOE © 2009, PrismTech. All Rights Reserved
  • 6. OpenSplice DDS Delivering Performance, Openness, and Freedom As Simple as it Gets
  • 7. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Space (GDS) Global Data Space DDS © 2009, PrismTech. All Rights Reserved
  • 8. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Global Data Space DDS © 2009, PrismTech. All Rights Reserved
  • 9. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber Publisher Global Data Space Publisher Subscriber DDS © 2009, PrismTech. All Rights Reserved
  • 10. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Publisher Subscriber DDS © 2009, PrismTech. All Rights Reserved
  • 11. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Publisher Subscriber DDS © 2009, PrismTech. All Rights Reserved
  • 12. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Subscriber ‣ Data flows from Publisher to Publisher Subscribers DDS © 2009, PrismTech. All Rights Reserved
  • 13. As Simple as it Gets ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Global Data Space express their intent to produce/ consume specific type of data, e.g., Topics Subscriber ‣ Data flows from Publisher to Publisher Subscribers DDS © 2009, PrismTech. All Rights Reserved
  • 14. OpenSplice DDS Delivering Performance, Openness, and Freedom Defining Data
  • 15. DDS Topics {Circle, Square, Triangle} Topic ‣ Unit of information exchanged between Publisher and Subscribers. ‣ An association between a unique name, a type and a QoS setting {ShapeType} {...} Topic Type. struct ShapeType { ‣ Type describing the data associated with one long x; or more Topics long y; ‣ A Topic type can have a key represented by an long shapesize; string color; arbitrary number of attributes }; ‣ Expressed in IDL #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 16. DDS Topics Circle struct ShapeType { long x; long y; long shapesize; Topic QoS string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 17. DDS Topics Triangle struct ShapeType { long x; long y; long shapesize; Topic QoS string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 18. DDS Topic Instances and Samples Topic Instances ‣ Each key value identifies a unique Topic Instance, ‣ Topic’s instance lifetime can be explicitly managed in DDS Topic Samples ‣ The values assumed by a Topic Instance over time are referred as Instance Sample struct ShapeType { long x; long y; long shapesize; string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 19. Topic/Instances/Samples Recap. Topics Instances Samples ti tj tnow time © 2009, PrismTech. All Rights Reserved
  • 20. Content Filtering X0 X1 X0 <= X <= X1 ‣ DDS allows to specify content- filtered Topics for which a subset of SQL92 is used to express the filter condition Y0 ‣ Content filters can be applied on the entire content of the Topic Type Y0 <= Y <= Y1 ‣ Content filters are applied by DDS Y1 each time a new sample is produced/delivered © 2009, PrismTech. All Rights Reserved
  • 21. Filtering Market Data AAPL < $157 | | AAPL > $162 MSFT > $35 Apple 164.0 Microsoft 40 161.5 30 159.0 20 156.5 10 154.0 0 AAPL MSFT ‣ DDS continuous queries can be used for filtering the stream of data produced for a specific stock symbol. © 2009, PrismTech. All Rights Reserved
  • 22. Local Queries ‣ Subscribed Topics can be seen locally as “Tables” ‣ A subset of SQL92 can be used for performing queries on X0 multiple topics as well as natural joins ‣ Queries are Circle Topic performed under Y0 color x y shapesize Y0 user control and red 57 62 50 provide a result that blue 90 85 50 Y0 <= Y <= Y1 depends on the yellow 30 25 50 current snapshot of SELECT * FROM ShapeType s WHERE s.x > 25 AND s.y < 55 Y1 the system, e.g., samples currently color x y shapesize available yellow 30 25 50 © 2009, PrismTech. All Rights Reserved
  • 23. OpenSplice DDS Delivering Performance, Openness, and Freedom Organizing Data
  • 24. DDS Partitions ‣ All DDS communication is Domain Partition happens within a Domain ‣ Domain can divided into Publisher Subscriber Partitions B ‣ Topics are published and m subscribed across on or A F Subscriber more Partitions Publisher J D C K E Publisher Subscriber © 2009, PrismTech. All Rights Reserved
  • 25. OpenSplice Network Partitions ‣ OpenSplice DDS allows to Publisher Subscriber define network partitions along "Red" B with DDS partitions m ‣ Network partitions are bound to A F a list of unicast/multicast Publisher J "Green" Subscriber network addresses D C ‣ Partition.Topic combination can K E "Yellow" be mapped into OpenSplice DDS Network Partitions Publisher Subscriber ‣ Wildcards can be used when defining the mapping, and in Yellow.* => 224.1.1.1 Green.* => 224.1.1.2 case of multiple matches Green.E => 224.1.1.3 OpenSplice DDS will always consider the best match © 2009, PrismTech. All Rights Reserved
  • 26. OpenSplice DDS Delivering Performance, Openness, and Freedom Quality of Service
  • 27. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataReader 2 20 61 2 20 61 2 19 60 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 26 77 3 26 77 DataWriter DataWriter 3 25 70 3 25 71 25 3 25 74 struct TempSensor { 3 25 70 3 25 71 25 3 25 74 3 26 77 int tID; float temp; float humidity; }; #pragma keylist TempSensor tID © 2009, PrismTech. All Rights Reserved
  • 28. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataReader 2 20 61 2 20 61 2 19 60 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 26 77 3 26 77 DataWriter DataWriter 3 25 70 3 25 71 25 3 25 74 struct TempSensor { 3 25 70 3 25 71 25 3 25 74 3 26 77 int tID; float temp; Arrows }; float humidity; show #pragma keylist TempSensor tID structural relationship s, not data- Subscriber Publisher flows Partition © 2009, PrismTech. All Rights Reserved
  • 29. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 121 62 1 21 62 1 22 62 1 22 62 1 23 63 1 23 63 DataReader DataReader 1 21 62 2 20 61 1 22 62 2 19 60 1 23 63 DataReader DataReader 2 20 61 2 20 61 2 19 60 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 26 77 3 26 77 DataWriter DataWriter 3 25 70 3 25 71 25 3 25 74 struct TempSensor { 3 25 70 3 25 71 25 3 25 74 3 26 77 int tID; float temp; Arrows }; float humidity; show #pragma keylist TempSensor tID structural relationship s, not data- Subscriber Publisher flows Partition Domain Participant Domain © 2009, PrismTech. All Rights Reserved
  • 30. QoS Model ‣ QoS-Policies are used to control relevant properties of OpenSplice DDS entities, Type Matching QoS matching such as: QoS QoS QoS QoS QoS QoS QoS ‣ Temporal Properties ‣ Priority Topic Name Publisher Subscriber ‣ Durability ... DataWriter writes Type reads DataReader ... ... ‣ Availability DomainParticipant writes Type reads DataReader DomainParticipant DataWriter ‣ ... Name ‣ Some QoS-Policies are matched based on Topic QoS QoS QoS a Request vs. Offered Model thus QoS- enforcement ‣ Publications and Subscriptions match only if the declared vs. requested QoS are compatible ‣ e.g., it is not possible to match a publisher which delivers data unreliably with a subscriber which requires reliability © 2009, PrismTech. All Rights Reserved
  • 31. QoS Policies QoS Policy Applicability RxO Modifiable Type Matching QoS matching DURABILITY T, DR, DW Y N Data Availability QoS QoS QoS QoS QoS QoS QoS DURABILITY SERVICE T, DW N N Topic Name Publisher Subscriber LIFESPAN T, DW - Y ... DataWriter writes Type reads DataReader ... T, DR, DW N N ... HISTORY DomainParticipant DataWriter writes Type reads DataReader DomainParticipant PRESENTATION P, S Y N Data Delivery Name Topic RELIABILITY T, DR, DW Y N PARTITION P, S N Y QoS QoS QoS DESTINATION ORDER T, DR, DW Y N OWNERSHIP T, DR, DW Y N ‣ Rich set of QoS allow to configure OWNERSHIP DW - Y STRENGTH several different aspects of data DEADLINE T, DR, DW Y Y Data Timeliness availability, delivery and timeliness LATENCY BUDGET T, DR, DW Y Y TRANSPORT PRIORITY T, DW - Y ‣ QoS can be used to control and optimize network as well as TIME BASED FILTER DR - Y Resources computing resource RESOURCE LIMITS T, DR, DW N N USER_DATA DP, DR, DW N Y Configuration TOPIC_DATA T N Y GROUP_DATA P, S N Y © 2009, PrismTech. All Rights Reserved
  • 32. Mapping QoS Which properties does QoS controls? TimeBasedFilter Deadline Data Throughput Latency LatencyBudget TransportPriority Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Control over Latency/Throughput tradeoff Control over data latency Control over data priority © 2009, PrismTech. All Rights Reserved
  • 33. Mapping QoS Which properties does QoS controls? TimeBasedFilter Deadline History Data Data Throughput Lifespan Durability Latency Availability Ownership LatencyBudget TransportPriority Ownership Strength Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Control over Latency/Throughput tradeoff Control over data queueing Control over data latency Control over data persistency Control over data priority Control over data sources hot-swap © 2009, PrismTech. All Rights Reserved
  • 34. Mapping QoS Which properties does QoS controls? TimeBasedFilter Deadline History Data Data Throughput Lifespan Durability Latency Availability Ownership LatencyBudget TransportPriority Ownership Strength Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Control over Latency/Throughput tradeoff Control over data queueing Control over data latency Control over data persistency Control over data priority Control over data sources hot-swap Reliability OpenSplice DDS provides programmatic Destination QoS-driven support for configuring the most Presentation Data Delivery Order important properties of data distribution! Control over data distribution reliability Control over data ordering Control over presentation © 2009, PrismTech. All Rights Reserved
  • 35. Reliability The reliability with which data is delivered to applications is impacted in DDS by the following qualities of service ‣ RELIABILITY ‣ BEST_EFORT ‣ RELIABLE ‣ HISTORY ‣ KEEP_LAST (K) ‣ KEEP_ALL ‣ Theoretically, the only way to assure that an application will see all the samples produced by a writer is to use RELIABLE+KEEP_ALL. Any other combination could induce to samples being discarded on the receiving side because of the HISTORY depth © 2009, PrismTech. All Rights Reserved
  • 36. Real-Time The real-time properties with which data is delivered to applications is impacted in DDS by the following qualities of service: ‣ TRANSPORT_PRIORITY Publisher Deadline Deadline Deadline Deadline Deadline Subscriber ‣ LATENCY_BUDGET Deadline Violation ‣ In addition, DDS provides means for detecting performance failure, e.g., Deadline miss, by means of the DEADLINE QoS ‣ Given a periodic task-set {T} with periods Di (with Di < Di+1) and deadline equal to the period, than QoS should be set as follows: ‣ Assign to each task Ti a TRANSPORT_PRIORITY Pi such that Pi > Pi+1 ‣ Set for each task Ti a DEADLINE QoS of Di ‣ For maximizing throughput and minimizing resource usage set for each Ti a LATENCY_BUDGET QoS between Di /2 and Di/3 (this is a rule of thumb, the upper bound is Di-(RTT/2)) © 2009, PrismTech. All Rights Reserved
  • 37. High Availability ‣ A Topic can have Shared or Exclusive Ownership ‣ Exclusively owned Topics can be modified by a single writer ‣ Writer strength is used to coordinate replicated writers Proprietary Information - Distribution without Expressed Written Permission is Prohibited. StockQuote symbol: "MSFT" StockQuote StockQuote name: "Microsoft Corp." StockQuote symbol: "GOOG" symbol: "GOOG" exchange: "NASD""GOOG" symbol: name: "Google Inc." quote: 33.73 name: "Google Inc." name: "Google Inc." exchange: "NASD" exchange: "NASD" exchange: "NASD" StockQuote StockQuote StockQuote quote: 663.97 W1 quote: 663.97"AAPL" symbol: "AAPL" quote: 663.97 symbol: "AAPL" symbol: name: "Apple Inc." name: "Apple Inc." name: "Apple Inc." exchange: "NASD" exchange: "NASD" exchange: "NASD" R1 quote: 165.37 quote: 165.37 quote: 165.37 STRENGTH=3 StockQuote symbol: "AAPL" StockQuote Inc." name: "Apple symbol: "GOOG""NASD" exchange: name: quote: 165.37 "Google Inc." StockQuote "NASD" exchange: symbol: "MSFT" quote: 663.97 name: "Microsoft Corp." exchange: "NASD" quote: 33.73 W1’ R2 STRENGTH=2 StockQuote symbol: "AAPL" StockQuote Inc." name: "Apple symbol: "GOOG""NASD" exchange: name: quote: 165.37 "Google Inc." StockQuote "NASD" exchange: symbol: "MSFT" quote: 663.97 name: "Microsoft Corp." exchange: "NASD" quote: 33.73 W2’’ R3 STRENGTH=1 © 2009, PrismTech. All Rights Reserved
  • 38. High Availability ‣ A Topic can have Shared or Exclusive Ownership ‣ Exclusively owned Topics can be modified by a single writer ‣ Writer strength is used to coordinate replicated writers Proprietary Information - Distribution without Expressed Written Permission is Prohibited. StockQuote symbol: "MSFT" StockQuote StockQuote name: "Microsoft Corp." StockQuote symbol: "GOOG" symbol: "GOOG" exchange: "NASD""GOOG" symbol: name: "Google Inc." quote: 33.73 name: "Google Inc." name: "Google Inc." exchange: "NASD" exchange: "NASD" exchange: "NASD" quote: 663.97 W1 quote: 663.97 quote: 663.97 StockQuote symbol: "AAPL" R1 STRENGTH=3 name: "Apple Inc." exchange: "NASD" quote: 165.37 StockQuote symbol: "GOOG" name: "Google Inc." StockQuote "NASD" exchange: symbol: "MSFT" quote: 663.97 name: "Microsoft Corp." exchange: "NASD" quote: 33.73 W1’ R2 StockQuote symbol: "AAPL" name: "Apple Inc." exchange: "NASD" STRENGTH=2 quote: 165.37 StockQuote symbol: "GOOG" name: "Google Inc." StockQuote "NASD" exchange: symbol: "MSFT" quote: 663.97 name: "Microsoft Corp." exchange: "NASD" quote: 33.73 W2’’ StockQuote symbol: "AAPL" name: "Apple Inc." exchange: "NASD" quote: 165.37 R3 STRENGTH=1 © 2009, PrismTech. All Rights Reserved
  • 39. High Availability ‣ A Topic can have Shared or Exclusive Ownership ‣ Exclusively owned Topics can be modified by a single writer ‣ Writer strength is used to coordinate replicated writers Proprietary Information - Distribution without Expressed Written Permission is Prohibited. StockQuote symbol: "MSFT" name: "Microsoft Corp." exchange: "NASD" quote: 33.73 W1 StockQuote symbol: "AAPL" R1 STRENGTH=3 name: "Apple Inc." exchange: "NASD" quote: 165.37 StockQuote symbol: "GOOG" name: "Google Inc." exchange: "NASD" quote: 663.97 StockQuote symbol: "MSFT" name: "Microsoft Corp." exchange: "NASD" quote: 33.73 StockQuote W1’ R2 symbol: "GOOG" name: "Google Inc." exchange: "NASD" quote: 663.97 StockQuote symbol: "AAPL" name: "Apple Inc." exchange: "NASD" STRENGTH=2 quote: 165.37 StockQuote symbol: "MSFT" name: "Microsoft Corp." exchange: "NASD" StockQuote quote: 33.73 symbol: "GOOG" R3 name: "Google Inc." W2’’ exchange: "NASD"StockQuote quote: 663.97symbol: "AAPL" name: "Apple Inc." exchange: "NASD" quote: 165.37 STRENGTH=1 © 2009, PrismTech. All Rights Reserved
  • 40. High Availability ‣ A Topic can have Shared or Exclusive Ownership ‣ Exclusively owned Topics can be modified by a single writer ‣ Writer strength is used to coordinate replicated writers Proprietary Information - Distribution without Expressed Written Permission is Prohibited. StockQuote R1 symbol: "AAPL" name: "Apple Inc." exchange: "NASD" quote: 165.37 StockQuote symbol: "GOOG" name: "Google Inc." exchange: "NASD" quote: 663.97 StockQuote symbol: "GOOG" name: "Google Inc." exchange: "NASD" quote: 663.97 StockQuote symbol: "AAPL" name: "Apple Inc." exchange: "NASD" R2 quote: 165.37 StockQuote StockQuote StockQuote StockQuote symbol: "MSFT" symbol: "MSFT" symbol: "MSFT" symbol: "GOOG" name: "Microsoft Corp." name: "Microsoft Corp." name: "Microsoft Corp." exchange: "NASD" exchange: "NASD" name: "Google Inc." exchange: "NASD" quote: 33.73 quote: 33.73 quote: 33.73 exchange: "NASD" quote: 663.97 StockQuote R3 symbol: "AAPL" W2’’ name: "Apple Inc." exchange: "NASD" quote: 165.37 STRENGTH=1 © 2009, PrismTech. All Rights Reserved
  • 41. High Availability ‣ A Topic can have Shared or Exclusive Ownership ‣ Exclusively owned Topics can be modified by a single writer ‣ Writer strength is used to coordinate replicated writers Proprietary Information - Distribution without Expressed Written Permission is Prohibited. StockQuote R1 symbol: "AAPL" name: "Apple Inc." exchange: "NASD" StockQuote quote: 165.37 symbol: "MSFT" name: "Microsoft Corp." exchange: "NASD" quote: 33.73 StockQuote symbol: "GOOG" name: "Google Inc." exchange: "NASD" quote: 663.97 StockQuote symbol: "GOOG" name: "Google Inc." exchange: "NASD" quote: 663.97 StockQuote R2 symbol: "MSFT" name: "Microsoft Corp." StockQuote exchange: "NASD" quote: 33.73 symbol: "AAPL" name: "Apple Inc." exchange: "NASD" quote: 165.37 StockQuote symbol: "GOOG" name: "Google Inc." StockQuote exchange: "NASD" symbol: "MSFT" quote: 663.97 name: "Microsoft Corp." exchange: "NASD" quote: 33.73 StockQuote R3 symbol: "AAPL" W2’’ name: "Apple Inc." exchange: "NASD" quote: 165.37 STRENGTH=1 © 2009, PrismTech. All Rights Reserved
  • 42. Eventual Consistency & R/W Caches DataReader DataReader 1 1 2 1 DataWriter 1 1 3 1 Proprietary Information - Distribution without Expressed Written Permission is Prohibited. 2 1 1 2 Topic DataReader 1 2 2 3 3 1 DataReader Cache 2 2 2 3 3 1 Topic 1 1 DataReader Cache 2 Topic 1 DDS DataWriter Cache 3 1 Topic DataReader Cache Under an Eventual Consistency Model, DDS guarantees that all matched Reader Caches will eventually be identical of the respective Writer Cache © 2009, PrismTech. All Rights Reserved
  • 43. QoS Impacting the Consistency Model The DDS Consistency Model is a property that can be associated to Topics or further refined by Reader/Writers. The property is controlled by the following QoS Policies: ‣ DURABILITY ‣ VOLATILE | TRANSIENT_LOCAL | TRANSIENT | PERSISTENT ‣ LIFESPAN Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ RELIABILITY ‣ RELIABLE | BEST_EFFORT ‣ DESTINATION ORDER ‣ SOURCE_TIMESTAMP | DESTINATION_TIMESTAMP QoS Policy Applicability RxO Modifiable DURABILITY T, DR, DW Y N LIFESPAN T, DW - Y RELIABILITY T, DR, DW Y N DESTINATION ORDER T, DR, DW Y N © 2009, PrismTech. All Rights Reserved
  • 44. QoS Impacting the Consistency Model DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency VOLATILE RELIABLE SOURCE_TIMESTAMP INF. (No Crash / Recovery) Eventual Consistency TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. (Reader Crash / Recovery) Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. (Crash/Recovery) Eventual Consistency PERSISTENT RELIABLE SOURCE_TIMESTAMP INF. (Crash/Recovery) Weak Consistency ANY ANY DESTINATION_TIMESTAMP ANY Weak Consistency ANY BEST_EFFORT ANY ANY Weak Consistency ANY ANY ANY N © 2009, PrismTech. All Rights Reserved
  • 45. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B P1 m A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved
  • 46. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B P1 m A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved
  • 47. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B A P1 m A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 48. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B A P1 m B A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 49. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B B A P1 m A A F J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 50. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B B A P1 m S= {A, B, J} A A F S2 J D C P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 51. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 P = {A, B} B B A P1 m S= {A, B, J} A A F S2 J D C BA P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 52. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J D C BA P = {D, C, J} P2 K E S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 53. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J D C BA P = {D, C, J} S= {A, B, D, J} P2 K E S3 S = {A} S4 © 2009, PrismTech. All Rights Reserved A
  • 54. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J J D D C BA P = {D, C, J} S= {A, B, D, J} P2 K E S3 S = {A} JB S4 © 2009, PrismTech. All Rights Reserved A
  • 55. Eventual Consistency @ Work DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency (Reader TRANSIENT_LOCAL RELIABLE SOURCE_TIMESTAMP INF. Crash / Recovery) {A} Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. {B} (Crash/Recovery) Weak Consistency ANY ANY ANY N {J} Proprietary Information - Distribution without Expressed Written Permission is Prohibited. S = {A, D} S1 B B A m S= {A, B, J} A F S2 J D D C BA P = {D, C, J} S= {A, B, D, J} P2 K E S3 S = {A} JB S4 © 2009, PrismTech. All Rights Reserved A
  • 56. Design Guidelines ‣ For all (non-periodic) Topics for which an eventually consistent model is required use the following QoS settings: DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency TRANSIENT RELIABLE SOURCE_TIMESTAMP INF. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. (Crash / Recovery) ‣ For information produced periodically, with a period P, where P is small enough to be acceptable as a consistency convergence delay, the following QoS settings will provide an approximation of the eventual consistency: DURABILITY RELIABILITY DESTINATION_ORDER LIFESPAN Eventual Consistency VOLATILE BEST_EFFORT SOURCE_TIMESTAMP INF. (Crash / Recovery) © 2009, PrismTech. All Rights Reserved
  • 57. OpenSplice DDS Delivering Performance, Openness, and Freedom OpenSplice DDS Architecture
  • 58. OpenSplice DDS Architectural Outlook Architectural Highlights ‣ Shared-Memory based architecture for minimizing intra-nodal latency, as well as maximizing nodal scalability ‣ Pluggable Service Architecture ‣ Full control over network scheduling © 2009, PrismTech. All Rights Reserved
  • 59. Real-Time Networking Technology Architecture ‣ Network-channels Shared Single Copy per Node Shared ‣ Priority bands Pack Across Topics/Applications ‣ Network-partitions Memory Optimal Unmarshaling Memory ‣ Multicast Groups ‣ Traffic-shaping ‣ Burst/Throughput OpenSplice DDS OpenSplice DDS Binding Binding Scalability and Efficiency Fault-Tolerance Pre-emptive Network Scheduler ‣ Single shared library for applications ‣ Active Channels Networking Priority Scheduler Networking Data Urgency Traffic Pacing & services ‣ Fall back on next ‣ Ring-fenced shared memory segment highest priority active Network Channels channel ‣ Data urgency driven network-packing Priority Bands Determinism & Safety Traffic Shaping ‣ Preemptive network-scheduler ‣ Data importance based network-channel selection ‣ Partition based multicast-group selection ‣ Managed critical network-resource © 2009, PrismTech. All Rights Reserved
  • 60. Durable Data Technology Shared Memory Shared Memory Architecture ‣ Fault-Tolerant Data Availability Disk Disk ‣ Transient -- on memory OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding ‣ Persistent -- on disk Networking Durability Durability Networking ‣ Partitioning Persist Partitions Persistent Data on Local Disk ‣ DDS Partitions Transient Data in Memory ‣ Alignment Dedicated Persistence Service Alignment Channel ‣ Dedicated Channels Goal Features ‣ Transient QoS. Keep state-data outside the ‣ Fault-tolerant availability of non-volatile data scope/lifecycle of its publishers ‣ Efficient delivery of initial data to late-joining applications ‣ Persistence QoS. Keep persistent settings to ‣ Pluggable Durability Service outlive the system downtime ‣ Automatic alignment of replicated durability-services © 2009, PrismTech. All Rights Reserved
  • 61. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 62. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 63. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 64. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 65. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 66. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 67. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 68. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 69. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 70. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 71. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 72. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 73. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 74. Durability Configuration Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS Binding Binding OpenSplice DDS OpenSplice DDS Binding Binding Networking Durability Networking Durability B Proprietary Information - Distribution without Expressed Written Permission is Prohibited. m A F J D C K E Shared Memory Shared Memory Disk Disk OpenSplice DDS OpenSplice DDS OpenSplice DDS OpenSplice DDS Binding Binding Binding Binding Networking Durability Networking Durability © 2009, PrismTech. All Rights Reserved
  • 75. OpenSplice DDS Delivering Performance, Openness, and Freedom Product Organization
  • 76. OpenSplice DDS ‣ Product reorganized into Editions ‣ Community Edition Enterprise Ed. ‣ Compact Edition ‣ Professional Edition ‣ Enterprise Edition Professional Ed. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Product Editions provide a a growing set of Enterprise Ed. Compact Ed. functionality to address the needs of increasingly more sophisticated users ‣ The Community Edition is Open Source Community Ed. ‣ Compact, Enterprise and Professional Edition are available only through Commercial Subscriptions © 2009, PrismTech. All Rights Reserved
  • 77. Community Edition Features Licensing ‣ OMG DDS v1.2 DCPS ‣ LGPLv3 ‣ Minimum Profile ‣ Content Subscription Profile Application ‣ Durability Profile Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Ownership Profile Content DDS v1.2 Ownership Durability Subscription ‣ Networking Minimum Profile ‣ DDSI v2.1 Implementation Real-Time Pub/Sub (DCPS) ‣ Real-Time Networking Implementation DDSI v2.1 Interoperable Wire Protocol Real-Time Networking (DDSI) Networking Technology UDP/IP Open Source LGPL Licensed Edition -- The Best Way to Get Started with DDS © 2009, PrismTech. All Rights Reserved
  • 78. Compact Edition Features Licensing ‣ OMG DDS v1.2 DCPS ‣ Commercial + PrismTech Source Code License ‣ Minimum Profile ‣ Content Subscription Profile MDE ‣ Durability Profile Tuner Application Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Ownership Profile PowerTools ‣ Networking Content DDS v1.2 Ownership Durability Subscription ‣ DDSI v2.1 Implementation Minimum Profile ‣ Real-Time Networking Implementation Real-Time Pub/Sub (DCPS) ‣ PowerTools DDSI v2.1 Interoperable Wire Protocol ‣ MDE PowerTools Real-Time Networking (DDSI) ‣ Tuner Networking Technology UDP/IP Commercially Supported, Boosting Your Development with PowerTools © 2009, PrismTech. All Rights Reserved
  • 79. Professional Edition Features Licensing ‣ OMG DDS v1.2 DCPS+DLRL ‣ Commercial + PrismTech Source Code License ‣ Minimum Profile ‣ Content Subscription Profile MDE Application ‣ Durability Profile Tuner ‣ Ownership Profile Object/Relational Mapping Proprietary Information - Distribution without Expressed Written Permission is Prohibited. PowerTools Object-Oriented Pub/Sub (DLRL) ‣ Data Local Reconstruction Layer DDS v1.2 ‣ Networking Ownership Durability Content Subscription ‣ DDSI v2.1 Implementation Minimum Profile ‣ Real-Time Networking Implementation Real-Time Pub/Sub (DCPS) ‣ PowerTools DDSI v2.1 ‣ Connectors SOAP Real-Time Networking Interoperable Wire Protocol (DDSI) ‣ MDE Power Tools ‣ SOAP Connector Networking Technology ‣ Tuner Connectors UDP/IP Unleash the Full Power of the DDS Technology! © 2009, PrismTech. All Rights Reserved
  • 80. Enterprise Edition Features Licensing ‣ OMG DDS v1.2 (DCPS+DLRL) ‣ Commercial + PrismTech Source Code License ‣ Minimum Profile ‣ Content Subscription Profile Application ‣ Durability Profile MDE ‣ Ownership Profile Tuner Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Object/Relational Mapping ‣ Data Local Reconstruction Layer PowerTools Object-Oriented Pub/Sub (DLRL) DDS v1.2 ‣ Networking Ownership Persistence Content Subscription ‣ DDSI v2.1 Implementation DBMS ‣ Real-Time Networking Implementation Minimum Profile Connectors Real-Time Pub/Sub(DCPS) ‣ Spiked Absorber DDSI v2.1 ‣ Secure Networking SOAP Spike Absorber Real-Time Interoperable Wire ‣ PowerTools ‣ Connectors Secure Networking Networking Protocol (DDSI) Connectors Networking Technology ‣ MDE Power Tools ‣ SOAP Connector ‣ Tuner ‣ DBMS Connector UDP/IP Connect Your Enterprise Seamlessly and in Real-Time! © 2009, PrismTech. All Rights Reserved
  • 81. OpenSplice DDS Delivering Performance, Openness, and Freedom Performance
  • 82. Performance on Commodity HW Throughput -./0/1/23' 456/' Latency #+(+%++' &&++%++' $+(+%++' "*(%)+' ")(%&!' ""&%,&'&+++%++' Inter-Node Latency !"#$%&#' ‣ 60 usec "!+%++' )"#%*)' "++%++' )$,%$*' !+(+%++' )++%++' Inter-Core Read-Latency &'$($)$*+% Proprietary Information - Distribution without Expressed Written Permission is Prohibited. *!#%,&' ‣ 2 usec !"#$% ,+(+%++' *++%++' ()(!%(*' #++%++' (+(+%++' &")&%+)' Inter-Core Latency ‣ <10 usec $&"%,,' $++%++' &!(,%!)' &+(+%++' ),,%$#' !++%++' ,*+%&)' !,*%))' ,($%!+' (("%!"' &&)%*$' $"%"$' ,+%($' ,++%++' HW: (+%++' )' &#' ,(' #!' &()' ($#' $&(' &+(!' (+!)' !+"#' ‣ Dell blade-server !*$$,(*%-./*% ‣ Dual-core, Dual-CPU, AMD Opteron 2.4 Ghz Test Scenario OS ‣ Linux 2.6.21-1.3194.fc7 ‣ Single Threaded Application (multi-threaded networking service) Network ‣ 8192 bit message batches ‣ Gigabit Ethernet cards ‣ Dell PowerConnect 5324 switch © 2009, PrismTech. All Rights Reserved
  • 83. OpenSplice DDS Delivering Performance, Openness, and Freedom Use Cases
  • 84. Regie Autonome des Transports Parisienne (RATP) ‣ RATP is the major transit operator responsible for public transportation in the city of Paris and its surrounding areas. ‣ RATP manages one of the biggest and most complex transport system of the whole world. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ RATP constantly supervises every element of the various metro, RER, tramway and bus station , such as escalators, lift, sliding doors, lights, CCTV, air !"(-/'0&3+4"25&0+-2", 6+"78+29:;<=7>? '0,G+HII+JCKA+B@+CA+LI+L6 4DM+G+HII+JCKA+B@+CA+LI+LL conditioning, etc, that is over 50,000 equipments. @A6BC+/DEF=7>>;> 4"25&0 10NG. !""#$%%&&&'#()*+",-!'. .-/ ‣ This critical function will now leverage the !"#$%&'()('*+'##,-+.+/($$,012"0 performance, scalability and determinism of OpenSplice DDS to make supervisory information Marcoussis, le 28/08/09 available at the right time and at the right place and on a very large scale. © 2009, PrismTech. All Rights Reserved Expertise pour la RATP
  • 85. ‣ 214 Km of Metro lines with over 300 stations ‣ 115 Km of rapid transit network (RER) ‣ 30.2 Km of Tramway lines and over 569 Km of bus lines ‣ Several millions of passengers per day ‣ 50000 Supervised Equipments
  • 86. European Flight Data Processor ‣ Large program to replace existing Flight Data Processors (FDPs) ATCC ATCC ‣ 5 Centers in France Reims Brest ATCC Paris ‣ 4 Centers in Italy Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ 2 Centers in Switzerland ATCC ATCC Zurich Geneve ATCC ATCC ATCC Milano Padova Bordeaux ATCC Aix-en- Provence ATCC Roma ATCC Brindisi © 2009, PrismTech. All Rights Reserved
  • 87. DDS in CoFlight -- FDP Core ‣ OpenSplice DDS glues together the most critical components of the DDS CoFlight FDP running at a SWAL-2 (same as DO-178B Level B) Proprietary Information - Distribution without Expressed Written Permission is Prohibited. assurance level ‣ In this context OpenSplice DDS distributes flights data plans of redundant LANs Flight Data Processing Servers © 2009, PrismTech. All Rights Reserved
  • 88. DDS in CoFlight -- CWP Controllers ‣ OpenSplice DDS is used within CoFlight to distribute the “external” Flight Data Plan to Controller Working Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Positions DDS DDS Flight Data Processing Servers © 2009, PrismTech. All Rights Reserved
  • 89. DDS in CoFlight -- IOP Controllers ‣ OpenSplice DDS is used Controllers Controllers to integrate CoFlight- based Centers DDS ‣ OpenSplice DDS is used Proprietary Information - Distribution without Expressed Written Permission is Prohibited. DDS DDS to provide interoperability with other Interoperable Centers (as per ICOG-2) Flight Data Processing Servers Flight Data Processing Servers Flight Data Processing Servers Air Traffic Control Center Air Traffic Control Center Air Traffic Control Center B m DDS A F J D C K E © 2009, PrismTech. All Rights Reserved
  • 90. Some Other Use Cases Defense & Aerospace ‣ Combat Management Systems ‣ e.g. THALES, Northrop Grumman ‣ Vetronics ‣ e.g. European SI ‣ Tactical Links Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ e.g. ULTRA ‣ Simulation ‣ e.g. MIT Lincoln Labs SCADA/Utilities ‣ Industrial Automation ‣ e.g. Chemtech ‣ Rocket Launch Systems (Telemetry) ‣ e.g. NASA © 2009, PrismTech. All Rights Reserved
  • 91. Some Use Cases Transportation ‣ Drones ‣ e.g. Navcom Financial Services Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Automated Trading Firms ‣ e.g. ThinkTrade © 2009, PrismTech. All Rights Reserved
  • 92. OpenSplice DDS Delivering Performance, Openness, and Freedom Concluding Remarks
  • 93. OpenSplice DDS Delivering Performance, Openness, and Freedom AMQP vs DDS
  • 94. Scope of Standardization AMQP OMG DDS Application Application Object/Relational Mapping Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Data Local Reconstruction Layer (DLRL) DDS v1.2 Content Ownership Durability Subscription API (?) Minimum Profile Data Centric Publish/Subscribe (DCPS) DDSI v2.1 AMQP v0.10 Advanced Message Queuing Protocol Real-Time Publish/Subscribe Protocol Interoperability Wire Protocol DDS Interoperability Wire Protocol (TCP, SCTP, UDP)/IP UDP/IP © 2009, PrismTech. All Rights Reserved
  • 95. Scope of Standardization AMQP OMG DDS Application Application Object/Relational Mapping Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Data Local Reconstruction Layer (DLRL) DDS v1.2 Content Ownership Durability Subscription API (?) Minimum Profile Data Centric Publish/Subscribe (DCPS) DDSI v2.1 AMQP v0.10 Advanced Message Queuing Protocol Real-Time Publish/Subscribe Protocol Wire Protocol Standard Interoperability Wire Protocol DDS Interoperability Wire Protocol (TCP, SCTP, UDP)/IP UDP/IP © 2009, PrismTech. All Rights Reserved
  • 96. Scope of Standardization AMQP OMG DDS Application Application Object/Relational Mapping Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Data Local Reconstruction Layer (DLRL) DDS v1.2 Content Ownership Durability Subscription API (?) Minimum Profile Pub/Sub Standard API Data Centric Publish/Subscribe (DCPS) DDSI v2.1 AMQP v0.10 Advanced Message Queuing Protocol Real-Time Publish/Subscribe Protocol Wire Protocol Standard Interoperability Wire Protocol DDS Interoperability Wire Protocol (TCP, SCTP, UDP)/IP UDP/IP © 2009, PrismTech. All Rights Reserved
  • 97. Scope of Standardization AMQP OMG DDS Application Application Object/Relational Mapping Object Relational Mapping Standard API Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Data Local Reconstruction Layer (DLRL) DDS v1.2 Content Ownership Durability Subscription API (?) Minimum Profile Pub/Sub Standard API Data Centric Publish/Subscribe (DCPS) DDSI v2.1 AMQP v0.10 Advanced Message Queuing Protocol Real-Time Publish/Subscribe Protocol Wire Protocol Standard Interoperability Wire Protocol DDS Interoperability Wire Protocol (TCP, SCTP, UDP)/IP UDP/IP © 2009, PrismTech. All Rights Reserved
  • 98. Architectural Style AMQP OMG DDS Subscriber Subscriber Publisher Publisher Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Broker Broker Publisher Broker Subscriber Publisher Broker Subscriber Broker Broker Publisher Publisher Subscriber Subscriber © 2009, PrismTech. All Rights Reserved
  • 99. Key Differences in Summary AMQP DDS ‣ Brokered Communication ‣ Peer-to-Peer Communication Architecture Architecture ‣ Wire Protocol Standard ‣ Wire Protocol + API Standard Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Interoperability across AMQP ‣ Interoperability across DDS implementations implementations ‣ Application Portability across DDS Implementation ‣ Header Based Routing ‣ Content-Based Filtering/Quering ‣ Not geared for High-Performance ‣ Designed bottom-up for maximum performance and determinism © 2009, PrismTech. All Rights Reserved
  • 100. OpenSplice DDS Delivering Performance, Openness, and Freedom 29West vs DDS
  • 101. 29West vs DDS 29West DDS ‣ Peer-to-Peer Communication ‣ Peer-to-Peer Communication Architecture Architecture ‣ Proprietary technology ‣ Wire Protocol + API Standard Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Interoperability across DDS implementations ‣ Application Portability across DDS Implementation ‣ Topic are blobs of data ‣ Topics have Types and Qos ‣ No content-based routing ‣ Content-Based Filtering/Quering ‣ Designed for High-Performance ‣ Designed bottom-up for High- Performance, Determinism, Reliability © 2009, PrismTech. All Rights Reserved
  • 102. 29West vs DDS #include <lbm.h> int main(int, char**) 29West DDS { lbm_context_t *ctx; #include <dds/dds.hpp> lbm_topic_t *topic; lbm_src_t *src; int main(int, char**) int lbm_failed; { lbm_failed = lbm_context_create(&ctx, NULL, NULL, NULL); dds::Runtime::start(); Proprietary Information - Distribution without Expressed Written Permission is Prohibited. /* Create a Topic*/ /* Create a Topic with default QoS. */ lbm_failed = lbm_src_topic_alloc(&topic, ctx, "Greeting", NULL);! dds::Topic<dds::StringTopicType> strTopic(“Greeting”); /* Create a source*/ /* Create a Writer with default QoS. */ lbm_failed = lbm_src_create(&src, ctx, topic, NULL, NULL, NULL);! dds::Writer<dds::StringTopicType> writer(strTopic); SLEEP(3);! /* Create a sample and write data. */ /* Send data*/ dds::StringTopicType msg(“Hello”); lbm_failed = lbm_src_send(src, "Hello!", 6, LBM_MSG_FLUSH | writer.write(msg); LBM_SRC_BLOCK); dds::Runtime::stop(); /* Finished all sending to this topic, delete the source object. */ } lbm_src_delete(src); /* Do not need to delete the topic object - LBM keeps track of topic * objects and deletes them as-needed. */ /* Finished with all LBM functions, delete the context object. */ lbm_context_delete(ctx); return 0; } © 2009, PrismTech. All Rights Reserved
  • 103. Concluding Remarks ‣ OpenSplice DDS is the ideal fit for addressing several of the data distribution and management challenges faced by financial firms, such as: OpenSplice DDS Delivering Performance, Openness, and Freedom ‣ Market Data Distribution ‣ High Performance Caching Enterprise Ed. ‣ Real-Time Business Intelligence Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ OpenSplice DDS has great performance on Professional Ed. standard COTS HW and its architecture is designed for exploiting at best high-end multi- Compact Ed. cores such as the Intel XEON 5500 ‣ OpenSplice DDS is Commercially Supported Open Source Software Community Ed. Embrace Performance, Openness and Freedom. Join the OpenSplice DDS Community at www.opensplice.org © 2009, PrismTech. All Rights Reserved
  • 104. Online Resources http://www.opensplice.com/ http://www.slideshare.net/angelo.corsaro emailto:opensplicedds@prismtech.com http://bit.ly/1Sreg http://twitter.com/acorsaro/ http://opensplice.blogspot.com http://www.youtube.com/OpenSpliceTube © 2009, PrismTech. All Rights Reserved

×