Distributed Network Memory Engine for Large Application Paging

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory capacityVSAvoidcost
Core Design Contradiction:
Quantity of substanceVSLoss of energy

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If paging is performed to local disk, then memory capacity can be extended, but access latency increases significantly

Engineering Contradiction:
Improvememory capacityVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Quantity of substance

If remote memory access is implemented over slow networks, then memory capacity can be expanded, but access speed decreases

Engineering Contradiction:
Improvememory capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

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.

Inventive Principle:
Principle #35Parameter changes

4Quantity of substance

If specialized hardware is used for large memory servers, then memory capacity can be increased, but cost increases prohibitively

Engineering Contradiction:
Improvememory capacityVSAvoidcost
Core Design Contradiction:
Quantity of substanceVSLoss of energy

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

5Quantity of substance

If cluster-wide resource utilization is low, then individual machines can have sufficient memory, but overall system efficiency decreases

Engineering Contradiction:
Improvememory availabilityVSAvoidresource utilization
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8417789B1Distributed adaptive network memory engine
Publication Date: 2013.04.09 THE RES FOUND OF STATE UNIV OF NEW YORK
  • US8417789B1 patent drawing
  • US8417789B1 patent drawing
  • US8417789B1 patent drawing

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.