Virtual NUMA Machine Emulation via Software Modules
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If dedicated hardware and proprietary interconnects are used in ccNUMA systems, then memory access performance is improved, but system cost increases
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
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
3Power
If multiple processors share common memory in SMP configuration, then processing capability is improved, but bandwidth limits and memory size constraints reduce scalability
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
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
Data Source
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.


