Integration of Fast DDS Remote Procedure Calls (RPC) in SustainML Framework for Enhanced Service Communication

Integration of Fast DDS Remote Procedure Calls (RPC) in SustainML Framework for Enhanced Service Communication

SustainML continues to evolve to support increasingly complex and distributed AI optimization scenarios. As part of this evolution, we have integrated Remote Procedure Call (RPC) functionality using Fast DDS Pro to enhance control-plane interactions inside the framework.

It is important to clarify what this integration does, and does not, change:

  • DDS publish/subscribe remains the primary communication model for node-to-node coordination and asynchronous exchanges across the workflow.
  • RPC over DDS is an additional communication pattern used in specific situations where a synchronous, targeted request/response interaction is advantageous (for example, configuring a single node and receiving confirmation that the change took effect).

In other words, SustainML adopts a hybrid communication model: pub/sub for the “data and orchestration plane,” and RPC over DDS for selected “service and control” operations.

What Is RPC (and What Does “RPC over DDS” Mean)?

Remote Procedure Call (RPC) is a communication model that allows one component of a distributed system to invoke a function on another component as if it were a local call. The underlying message passing, serialization, and response handling are abstracted away, so from the developer’s perspective, the interaction becomes a straightforward function call that returns a result or raises an exception.

When implemented over DDS, RPC combines service-style interactions with DDS performance, reliability, and Quality of Service (QoS) capabilities. Fast DDS Pro provides native DDS-RPC support, including IDL-defined interfaces, automatic client/server stub generation, and strong type guarantees.

DDS Pub/Sub Still Drives Orchestration and Node Communication

SustainML continues to rely on DDS topics for asynchronous communication among nodes, especially where decoupling, scalability, and streaming-style exchanges are desired. This is the natural fit for:

  • Task orchestration and workflow coordination across distributed nodes
  • Event-driven node communication (status, progress, telemetry, coordination signals)
  • High-throughput or asynchronous data exchange between processing components

The RPC integration is explicitly not a replacement for pub/sub communication; it is applied where structured service interaction is more appropriate, primarily for configuration and control operations.

Why Add RPC If Pub/Sub Already Works?

Earlier versions of SustainML used topic-based request/response patterns for configuration updates and certain interactions: nodes published requests on shared topics, other nodes subscribed and processed them, and responses were returned via separate topics. While flexible, this approach often required careful routing and filtering to ensure each request reached the intended node and that responses were correlated correctly.

RPC over DDS is valuable in cases where you want communication to be:

1) Targeted to a specific node (no manual routing/filtering)

With RPC, the intent is explicit: a client calls a specific service endpoint, and the framework ensures the call is delivered to the appropriate server instance—removing the need for ad-hoc message filtering based on node identifiers.

2) Synchronous when you need confirmation

For operational control (like configuration changes), it’s often useful to apply a setting to one node and wait for a response that confirms the request was processed and validated. SustainML’s RPC flow supports this synchronous interaction pattern, with a structured response returned by the server.

3) Contract-driven and predictable

RPC introduces clear service contracts: inputs, outputs, and possible exceptions are defined in the interface specification (IDL). This reduces ambiguity and improves maintainability over time.

How SustainML Uses RPC (Without Displacing Pub/Sub)

SustainML is organized around modular nodes that perform specialized roles within the sustainable AI workflow, including: AppRequirements, HWConstraints, HWResources, CarbonFootprint, MLModelMetadata, and MLModel.

Each of these nodes exposes a configuration interface through RPC. Services are defined in IDL and compiled into strongly typed client and server stubs. When a configuration update is needed, the client performs a direct RPC call to the corresponding node’s service, and the node processes the request and returns a response synchronously.

This RPC path is best understood as a control-plane capability: it improves how configuration and command-style operations are performed, while pub/sub remains the foundation for ongoing orchestration signals and asynchronous node communication.

The result is a hybrid communication model that combines high-throughput, decoupled pub/sub communication with clean, service-based interactions where synchronous confirmation and explicit targeting are beneficial.

Strengthening SustainML’s Foundation

By leveraging Fast DDS Pro’s native RPC support, SustainML strengthens its modular and scalable foundation for sustainable AI orchestration, improving clarity and robustness while preserving the real-time and reliability characteristics of DDS.

This is not a shift away from DDS pub/sub, it is a structural enhancement that adds a well-suited tool for configuration and control, preparing SustainML for increasingly complex deployments and future service extensions.

Logo ALMA

SustainML is among these nine innovative projects dedicated to creating a sustainable ML framework for Green AI.

Coordinator Office Address

Plaza de la Encina 10-11, Núcleo 4, 2ª Pl.
28760 Tres cantos - Madrid (España)

  • X
  • LinkedIn

EN-Funded_by_the_EU-POSThis project has received funding from the European Union’s Horizon Europe research and innovation programme under grant agreement No 101070408.