Distributed Virtual Memory Management for Data Processing Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data processing networks with increasing numbers of request nodes, the single DVM node becomes a bottleneck for message handling, leading to congestion and increased latency due to serial processing of DVM transactions.
Innovation Solution
Implementing multiple DVM domains, each with its own DVM node, allows for parallel processing of DVM operations by distributing snoop messages within the domain and between peer DVM nodes, reducing the load on individual nodes and improving throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single DVM node is used to handle DVM messages, then the system structure is simple and easy to manage, but the node becomes a point of congestion and processing latency increases as the number of request nodes increases
Solution Approach 1:
The patent divides the single DVM node into multiple DVM nodes distributed across different domains. Each DVM node handles messages for its specific domain, segmenting the centralized processing function into distributed processing units. This segmentation eliminates the single point of congestion while maintaining manageable system structure through domain-based organization.
Solution Approach 2:
The patent introduces a new dimension of domain-based distribution to the DVM node architecture. Instead of a single centralized node, multiple nodes are distributed across different domains, adding spatial distribution as a new dimension to the system architecture. This dimensional change enables parallel processing across domains while maintaining structured management through domain boundaries.
2Ease of operation
If DVM transactions are processed serially through a single DVM node, then message routing is simple, but the time taken to complete DVM transactions increases as the number of nodes increases
Solution Approach 1:
The patent segments the serial processing sequence into parallel processing streams by distributing transactions across multiple DVM nodes. Each node processes transactions independently within its domain, transforming the single serial processing path into multiple parallel paths. This segmentation reduces transaction completion time while maintaining routing simplicity through domain-based message forwarding rules.
Solution Approach 2:
The patent implements preliminary domain assignment for request nodes, where each node is pre-assigned to a specific DVM domain. This preliminary organization enables direct routing of messages to the appropriate DVM node without complex dynamic routing decisions, maintaining ease of operation while enabling parallel processing across domains to reduce transaction completion time.
3Productivity
If multiple DVM nodes are implemented to handle DVM messages in parallel, then throughput and processing speed improve, but the system complexity and coordination overhead increase
Solution Approach 1:
The patent segments the DVM system into independent domains, each managed by a dedicated DVM node. This segmentation creates isolated processing units that can operate independently, improving throughput through parallel processing while limiting complexity propagation between domains. The domain boundaries act as natural isolation points that prevent complexity from scaling linearly with the number of nodes.
Solution Approach 2:
The patent introduces domain-based message routing as an intermediary mechanism between request nodes and DVM nodes. This intermediary layer simplifies coordination by providing clear routing rules based on domain assignment, reducing the complexity of inter-node communication. The domain structure acts as a mediator that organizes interactions between multiple DVM nodes without requiring complex global coordination protocols.
Data Source
AI summary
A data processing network includes request nodes with local memories accessible as a distributed virtual memory (DVM) and coupled by an interconnect fabric. Multiple DVM domains are assigned, each containing a DVM node for handling DVM operation requests from request nodes in the domain. On receipt of a request, a DVM node sends a snoop message to other request nodes in its domain and sends a snoop message to one or more peer DVM nodes in other DVM domains. The DVM node receives snoop responses from the request nodes and from the one or more peer DVM nodes, and send a completion message to the first request node. Each peer DVM node sends snoop messages to the request nodes in its domain, collects snoop responses, and sends a single response to the originating DVM node. In this way, DVM operations are performed in parallel.


