Hierarchical Memory Subsystem for Parallel Computing I/O Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional parallel synchronous computing systems face inefficiencies in synchronization and communication phases, leading to increased processing time due to high I/O and synchronization requirements, particularly in tasks with large data sets and frequent inter-processor communication.
Innovation Solution
A memory management subsystem with multiple layers, including a network, backplane, and PCB layers, manages communications between processing units and hosts, optimizing I/O operations through configuration settings that enable efficient data routing and synchronization, minimizing host intervention and maximizing bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional parallel synchronous computing systems are used with frequent synchronization and I/O operations, then processing accuracy and data consistency are improved, but processing time and system overhead increase significantly
Solution Approach 1:
The system divides the array of processing units into multiple groups, with each group having a dedicated memory management subsystem layer. This segmentation allows independent memory management for each group, reducing the frequency and scope of synchronization operations while maintaining data consistency within groups, thereby decreasing overall processing time.
Solution Approach 2:
The memory management subsystem layer acts as an intermediary between the array of processing units and the host. It handles I/O operations and memory management tasks locally, reducing the need for frequent host intervention and synchronization. This intermediary layer buffers and manages data flow, maintaining consistency without requiring constant system-wide synchronization.
2Ease of operation
If host intervention is increased to manage I/O and synchronization operations, then system control and coordination are improved, but system overhead and processing efficiency deteriorate
Solution Approach 1:
The memory management subsystem layer performs self-service by autonomously managing I/O operations, memory allocation, and data buffering for its associated group of processing units. It handles synchronization and communication tasks without requiring host intervention, allowing the host to focus on high-level computation while the subsystem manages operational details, thereby improving processing efficiency.
Solution Approach 2:
The patent introduces a hierarchical dimension to the system architecture, with multiple layers of memory management subsystems operating at different levels between the processing units and the host. This dimensional addition distributes control responsibilities across layers, reducing the burden on the host while maintaining system coordination through the hierarchical structure.
3Speed
If bandwidth between processing units and host is maximized through direct connections, then data transfer speed is improved, but system complexity and I/O management overhead increase
Solution Approach 1:
The memory management subsystem layer merges multiple functions including I/O management, memory buffering, data routing, and synchronization control into a single integrated layer. This consolidation provides high-bandwidth data transfer capabilities while reducing system complexity by eliminating the need for separate management mechanisms for each function, as the unified layer handles all operations efficiently.
Data Source
AI summary
Technologies relating to efficient memory management for parallel synchronous computing systems are disclosed. Parallel synchronous computing systems may include, for example, a host, a memory management subsystem, and an array of processing units adapted to execute in parallel. Memory management may be implemented at least in part via the memory management subsystem. A memory management subsystem may include one or more memory subsystem layers deployed between the host and the array of processing units. Each memory subsystem layer may have a local memory accessible by entities (whether the host or another layer) above the memory subsystem layer; and a memory controller adapted to manage communications between the entities (whether another layer or the processing units in the array) below the memory subsystem layer.


