Virtual NUMA Machine Emulation via Software Modules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The cost and complexity of proprietary hardware and interconnects in cache-coherent, non-uniform memory access (ccNUMA) systems limit their scalability and affordability for providing efficient performance in multiprocessor configurations.

Innovation Solution

A virtual NUMA system is created by coupling multiple computers over a standard network like InfiniBand or Ethernet, using software modules to emulate a NUMA system, allowing a guest operating system to execute without modification and utilizing RDMA for low-latency data transfers, thus avoiding the need for expensive proprietary hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dedicated hardware and proprietary interconnects are used in ccNUMA systems, then cache coherency and memory access performance are improved, but system cost and device complexity increase

Engineering Contradiction:
Improvecache coherencyVSAvoidproprietary hardware and interconnect
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a virtual NUMA system by copying the NUMA architecture into software rather than using physical hardware. Multiple standard computers are coupled over a standard network and software modules present the resources as a virtual NUMA machine, emulating the behavior of dedicated hardware and proprietary interconnects without requiring them physically

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical/physical NUMA hardware system with a software-based virtual NUMA system. The dedicated hardware and proprietary interconnects are substituted with software modules running on standard computers connected via standard networks, achieving the same functional goals through different means

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If dedicated hardware and proprietary interconnects are used in ccNUMA systems, then memory access performance is improved, but system cost increases

Engineering Contradiction:
Improvememory access performanceVSAvoidsystem cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent creates a virtual NUMA system by copying the NUMA architecture into software rather than using physical hardware. Multiple standard computers are coupled over a standard network and software modules present the resources as a virtual NUMA machine, emulating the behavior of dedicated hardware and proprietary interconnects without requiring them physically

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent uses inexpensive standard computers and standard networks instead of expensive proprietary hardware. The virtual NUMA system is built from off-the-shelf components that can be easily acquired and configured, dramatically reducing the cost barrier for implementing NUMA-like performance

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

3Power

If multiple processors share common memory in SMP configuration, then processing capability is improved, but bandwidth limits and memory size constraints reduce scalability

Engineering Contradiction:
Improveprocessing capabilityVSAvoidscalability
Core Design Contradiction:
PowerVSAdaptability or versatility

Solution Approach 1:

The patent segments the memory system across multiple independent computers rather than using a single shared memory space. Each computer in the virtual NUMA system has its own local memory, and the virtual NUMA machine presents these distributed memory resources as a coherent system, allowing unlimited scalability limited only by network capacity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a two-dimensional SMP architecture (multiple processors sharing one memory space) to a three-dimensional virtual NUMA architecture (multiple processors accessing memory across multiple nodes via network), adding the network dimension to enable greater scalability

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

Data Source

PatentUS7596654B1Virtual machine spanning multiple computers
Publication Date: 2009.09.29 ARCTERA US LLC
  • US7596654B1 patent drawing
  • US7596654B1 patent drawing
  • US7596654B1 patent drawing

AI summary

In one embodiment, a virtual NUMA system may be formed from multiple computer systems coupled to a network such as InfiniBand, Ethernet, etc. Each computer includes one or more software modules which present the resources of the computers as a virtual NUMA machine. A single instance of a guest operating system executes on the virtual NUMA machine. The guest operating system is designed to execute on a NUMA system and executes without modification on the virtual machine. The memory model of the virtual NUMA machine includes a single writer, multiple reader memory model.