Remote Memory Throttling by Bandwidth and Content Priority
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems face challenges in seamlessly integrating and managing memory resources across different devices, particularly in scenarios where applications need to access memory beyond their local capacity, requiring complex programming and inefficient use of memory resources.
Innovation Solution
Implementing inter-operating system memory services over communication networks, allowing devices to borrow and lend memory through a unified address space managed by the operating system, which transparently bridges local and borrowed memory, enabling applications to access expanded memory capacity without distinction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If applications access memory beyond local capacity through network connections, then memory capacity is expanded, but access latency increases due to network communication overhead
Solution Approach 1:
The patent segments memory access operations into two categories: frequently accessed memory pages are cached locally in the first memory subsystem, while less frequently accessed pages remain in the second memory subsystem. This segmentation allows the system to expand total memory capacity while minimizing latency for critical operations by keeping hot data locally.
Solution Approach 2:
The patent introduces a memory management unit and operating system as intermediaries that transparently manage data transfer between local and remote memory subsystems. These intermediaries handle page caching, eviction, and retrieval operations, shielding applications from network communication overhead while enabling access to expanded memory capacity.
2Productivity
If memory resources are shared across multiple devices through network connections, then memory utilization efficiency improves, but system complexity increases due to coordination requirements
Solution Approach 1:
The patent implements a universal memory management architecture where the memory management unit and operating system provide multi-functional capabilities: managing local memory, coordinating remote memory access, handling page caching and eviction, and providing transparent interfaces to applications. This universal approach enables efficient memory sharing across multiple devices while abstracting away coordination complexity.
Solution Approach 2:
The memory management system employs self-service mechanisms through automated page replacement algorithms and dynamic caching decisions. The system autonomously determines which pages to cache locally, which to evict to remote memory, and when to retrieve them, eliminating the need for complex manual coordination between devices while maintaining high utilization efficiency.
3Adaptability or versatility
If memory pages are frequently transferred between local and remote memory subsystems, then memory flexibility improves, but network bandwidth consumption increases
Solution Approach 1:
The patent implements periodic caching strategies where memory pages are transferred from remote to local subsystems based on predicted access patterns and periodic refresh intervals. This approach provides memory flexibility by allowing pages to be cached when needed while reducing network bandwidth consumption by avoiding continuous or unnecessary transfers, instead using periodic updates and lazy loading techniques.
Data Source
AI summary
Systems, methods and apparatuses to throttle network communications for memory as a service. In one exemplary embodiment, a computing device can borrow an amount of random access memory of the lender device over a communication connection between the lender device and the computing device. The computing device can allocate virtual memory to applications running in the computing device, and configure at least a portion of the virtual memory to be hosted on the amount of memory loaned by the lender device to the computing device. The computing device can throttle data communications used by memory regions in accessing the amount of memory over the communication connection according to the criticality levels of the contents stored in the memory regions.


