Dynamic Data Simulation Using Fixed Hardware Resources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing simulation systems face challenges in handling arbitrarily sized data without recompiling or re-synthesizing models, due to limited hardware resources, which is time-consuming and costly.
Innovation Solution
A mechanism that allows arbitrarily sized data to be sent from a client device to server devices like CPUs or GPUs without recompiling the model, by dynamically utilizing resources and adjusting data sizes based on server availability, using a technical computing environment to manage data transfer and processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the hardware resource buffer size is increased to handle batched data, then the data processing capacity is improved, but the hardware cost and resource requirements worsen
Solution Approach 1:
The patent divides the batched data into multiple smaller data batches that can be processed sequentially or in parallel using the limited hardware buffer resources. This segmentation allows the system to handle arbitrarily sized data without requiring proportional increases in hardware buffer capacity, thus resolving the contradiction between processing capacity and resource requirements
Solution Approach 2:
The system dynamically adjusts the data batch size and processing strategy based on the available hardware buffer capacity. By making the data processing approach adaptive rather than fixed, the system can efficiently utilize limited hardware resources while maintaining high productivity for various data sizes
2Adaptability or versatility
If the model is recompiled or re-synthesized to handle arbitrary data sizes, then the adaptability is improved, but the time consumption and cost worsen
Solution Approach 1:
The patent creates a universal data processing framework that can handle arbitrary data sizes without requiring model recompilation. The system uses a single compiled model that can process different data dimensions through dynamic batching and resource allocation, eliminating the need for re-synthesis while maintaining full adaptability to various data sizes
Solution Approach 2:
Instead of recompiling the model for different data sizes, the system creates dynamic copies of data batches that fit within the fixed hardware buffer constraints. This approach allows the same compiled model to be reused multiple times with different data partitions, achieving adaptability without the time-consuming recompilation process
3Speed
If data is batched together for faster execution, then the processing speed is improved, but the hardware buffer requirements worsen
Solution Approach 1:
The patent segments large data batches into smaller sub-batches that can be processed sequentially within the constraints of fixed hardware buffer size. This segmentation enables the system to maintain high processing speeds through efficient batch processing while avoiding the need for large buffer allocations
Solution Approach 2:
The system maintains continuous data processing by immediately processing subsequent smaller batches as soon as hardware buffers are freed. This continuous action ensures that the system achieves near-optimal processing speed without requiring large buffers to hold all batched data simultaneously
Data Source
AI summary
A device determines a portion of data generated by a technical computing environment (TCE) program, where the portion of the data is determined based on an initial availability of a resource of a server device. The device provides the portion of the data to the server device for execution, and receives, from the server device, results associated with execution of the portion of the data. The device calculates an availability of the resource based on the results associated with execution of the portion of the data, and provides, to the server device for execution, additional data generated by the TCE program, where the additional data is determined based on the availability of the resource of the server device. The device receives, from the server device, results associated with execution of the additional data, where the receiving is performed by the device.


