Overview
Messaging is a foundational piece of our technical pyramid. It was designed with well known paradigms to create a performant and flexible model for sending and receiving messages between the different constituents of our ecosystem.
-
PUBLISHER & SUBSCRIBER
Our messaging adopts the “Publisher & Subscriber” broadcast paradigm which allows senders to publish messages and interested subscribers to listen. Subscribers can be modified without affecting the publisher.
-
REQUEST & REPLY
Our messaging options also include a more direct “Request / Reply” messaging protocol. This is intended to facilitate specific one-to-one messaging relationships in cases where it is desirable.
-
OPTIMIZED TOPIC RESOLUTION
Our messaging employs a deterministic topic system that enables our optimization of the topic footprint based on the hardware in use. We can then plan the topic space flexibly to accomplish specific goals like message rate balancing.
10G & 40G Ethernet
Deep Systems' messaging supports the use of 10G & 40G ethernet switches and cards. Ethernet solutions are ideal for private and shared environments where a variety of publishers and subscribers can coexist without interference.
-
UDP MULTICAST
UDP multicast is a mature and broadly used protocol. It is widely supported and available on most, if not all, ethernet software and hardware stacks. Our support is intended to provide the broadest coverage on ethernet.
-
SOLARFLARE OPTIMIZED
Solarflare enables us to provide a highly optimized ethernet messaging solution. We utilize native APIs to reduce latency and increase throughput by directly accessing the card and making communication as fast as possible.
-
RESOURCE MANAGEMENT
We employ multiple techniques to balance the load of receiving messages with the computational costs of processing them. This balance helps to prevent buffers from filling up while still processing messages efficiently.
Infiniband
Our messaging supports the use of Infiniband switches and cards. Infiniband solutions are ideal for highly-controlled, private environments, where lossless protocols can be used in a safe and deeply optimized manner.
-
IB MULTICAST
IB multicast allows us to provide broadcast capabilities in Infiniband environments. We can then implement a broad set of paradigms on hardware that is optimized for low latency, lossless messaging protocols.
-
MELLANOX OPTIMIZED
Mellanox enables us to provide a highly optimized Infiniband messaging solution. We utilize native APIs to reduce latency and increase throughput by directly accessing the card and making communication as fast as possible.
-
RESOURCE MANAGEMENT
We employ multiple techniques to balance the load of receiving messages with the computational costs of processing them. This balance helps to prevent buffers from filling up while still processing messages efficiently.
Inter-Process
Inter-Process messaging allows for sending messages between processes on the same machine in a highly optimized manner. In cases where the software solution can stay local on the same machine, it dramatically improves throughput and latency.
-
MACHINE LOCAL
Machine local messaging allows the solutions to be implemented elegantly and appropriately while using APIs consistent with networked messaging.
-
MULTIPLE PUB & SUB
Inter-Process messaging solutions generally provide single queues and single paths. Deep Systems provides full support for multiple publishers and subscribers in a similar fashion to our networked messaging implementations.
-
LOWEST LATENCY
Machine native protocols offer greatly reduced latency and increased throughput relative to their network inter-machine counterparts.