Distributed Network Memory Engine for Large Application Paging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The rapid growth in memory demands of applications such as multimedia/graphics processing and large-scale simulations outpaces the growth in DRAM capacities, leading to physical memory limits and high access latencies, especially when relying on local disk storage, while unused memory in other machines within a high-speed LAN remains underutilized.
Innovation Solution
The Distributed Adaptive Network Memory Engine (Anemone) provides a transparent and virtualized access to collective unused memory across a gigabit Ethernet LAN, allowing unmodified large memory applications to utilize remote memory resources without modifications to the client or server systems, thereby reducing access latencies and improving resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If more DRAM is installed in a single machine, then memory capacity increases, but price per byte increases non-linearly and rapidly
Solution Approach 1:
The patent merges memory resources from multiple commodity machines across a network to create a unified memory pool. Instead of installing expensive DRAM in a single machine, the system combines available memory from multiple nodes, achieving large memory capacity at linear cost scaling rather than non-linear single-node scaling.
Solution Approach 2:
The patent transitions from single-machine vertical memory scaling to multi-machine horizontal memory scaling. By adding a network dimension to memory access, the system enables capacity expansion across distributed nodes rather than being constrained by single-node physical limits.
2Quantity of substance
If paging is performed to local disk, then memory capacity can be extended, but access latency increases significantly
Solution Approach 1:
The patent introduces remote machine memory as an intermediary storage layer between local DRAM and local disk. This intermediary provides faster access than disk while extending memory capacity, achieving a middle ground in the memory hierarchy that reduces paging latency significantly.
Solution Approach 2:
The patent adds a network-based memory dimension to the traditional local memory-hierarchy. By accessing memory across the network from remote machines, the system creates a new access path that is faster than disk-based paging while providing extended capacity.
3Quantity of substance
If remote memory access is implemented over slow networks, then memory capacity can be expanded, but access speed decreases
Solution Approach 1:
The patent changes the network parameter from slow (10 Mbps or 100 Mbps) to fast (gigabit Ethernet). This parameter change enables remote memory access to achieve speeds comparable to or exceeding disk-based paging, making distributed memory practical for performance-sensitive applications.
4Quantity of substance
If specialized hardware is used for large memory servers, then memory capacity can be increased, but cost increases prohibitively
Solution Approach 1:
The patent uses inexpensive commodity machines with standard hardware instead of expensive specialized memory servers. By leveraging cheap, readily available off-the-shelf equipment, the system achieves large memory capacity without the prohibitive costs of specialized hardware investments that quickly become obsolete.
5Quantity of substance
If cluster-wide resource utilization is low, then individual machines can have sufficient memory, but overall system efficiency decreases
Solution Approach 1:
The patent enables memory resources to serve multiple purposes and multiple applications across the cluster. Remote memory can be dynamically allocated to different applications based on demand, allowing the same physical memory resources to be shared and utilized by multiple workloads, thereby improving overall cluster-wide resource utilization.
Data Source
AI summary
Memory demands of large-memory applications continue to remain one step ahead of the improvements in DRAM capacities of commodity systems. Performance of such applications degrades rapidly once the system hits the physical memory limit and starts paging to the local disk. A distributed network-based virtual memory scheme is provided which treats remote memory as another level in the memory hierarchy between very fast local memory and very slow local disks. Performance over gigabit Ethernet shows significant performance gains over local disk. Large memory applications may access potentially unlimited network memory resources without requiring any application or operating system code modifications, relinkling or recompilation. A preferred embodiment employs kernel-level driver software.


