Distributed Computational Graph Execution via REST Discovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computational graphs are often too resource-consuming for single devices, particularly in constrained environments like IoT devices, necessitating a distributed execution across multiple devices.
Innovation Solution
A method for distributing the computational graph across a REST-based distributed IoT network, where subsets of operations are assigned to different devices, with each device exposing its output data as a discoverable resource using RESTful operations, enabling dynamic discovery and communication through standardized links.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a computational graph is executed on a single device, then the execution is simple and straightforward, but the device becomes resource-consuming and cannot handle the computational load
Solution Approach 1:
The computational graph is divided into multiple subgraphs, where each subgraph is assigned to a different device in the distributed network. This segmentation allows the heavy computational workload to be distributed across multiple devices rather than concentrated on a single device, resolving the contradiction between computational capability and resource consumption.
2Device complexity
If the computational graph is distributed across multiple devices, then resource consumption is reduced, but data exchange and communication overhead increase
Solution Approach 1:
A resource directory is introduced as an intermediary component that manages data exchange between devices. The resource directory stores metadata about computational resources and facilitates efficient data routing, reducing communication overhead by optimizing which devices exchange data and how the data is transmitted.
3Adaptability or versatility
If devices dynamically discover and communicate through standardized links, then adaptability and interoperability improve, but system complexity and overhead increase
Solution Approach 1:
RESTful operations are used as a universal communication protocol that enables different types of devices to discover and interact with each other through standardized links. This universality allows any device in the network to perform discovery and data exchange operations without requiring device-specific communication mechanisms, improving adaptability while managing complexity through standardization.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Dynamic distribution of a computational graph that defines a set of operations comprising a first subset of one or more operations and a second subset of one or more operations. In one aspect, there is a method for generating output data based on the computational graph. The method includes a first device storing information related to the computational graph, the information related to the computational graph comprising information representing the first subset of operations. The method also includes the first device receiving input data and the first device performing the first subset of operations using the received input data, thereby producing first output data corresponding to the first subset of operations. The method further includes the first device exposing the first output data as a discoverable resource so that the first output data is discoverable by other devices.