Wiretap Unit Memory Checkpointing for Cluster Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-end server-based systems are expensive, and while clusters of multi-processor nodes offer lower costs, they lack availability due to significant overhead from software-based memory replication methods, which incur performance penalties and scalability limitations.

Innovation Solution

A system with 'wiretap' units, application-specific integrated circuits that monitor memory accesses, create and synchronize memory state copies, and maintain change logs, allowing for efficient memory replication and application restarts on other nodes in case of faults.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software techniques are used for memory replication, then availability is improved, but performance overhead increases significantly

Engineering Contradiction:
ImproveavailabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces software-based memory replication mechanisms with hardware-based wiretap units that are integrated into the memory controller. These wiretap units monitor and replicate memory operations at the hardware level, eliminating the performance overhead associated with software intervention while maintaining availability through automatic memory state copying and checkpointing.

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

Solution Approach 2:

The wiretap unit acts as an intermediary component between the memory controller and the memory array. It intercepts memory operations, creates copies of memory states, and manages checkpointing without interfering with the main processing flow, thus providing availability enhancement with minimal performance impact.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If software techniques are used for memory replication, then availability is improved, but scalability is limited

Engineering Contradiction:
ImproveavailabilityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

By replacing software-based replication with hardware-integrated wiretap units, the system achieves scalability because the replication capability is built into the memory controller architecture itself. This allows the system to scale to larger memory capacities and more nodes without the scalability limitations inherent in software-based approaches.

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

3Quantity of substance

If clusters of multi-processor nodes are used instead of high-end servers, then cost is reduced, but availability decreases

Engineering Contradiction:
ImprovecostVSAvoidavailability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The wiretap unit serves as an intermediary that enables availability enhancement in cost-effective cluster architectures. By integrating this hardware component into each node's memory controller, the system achieves high availability comparable to expensive high-end servers while maintaining the cost advantages of using multiple standard multi-processor nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7856421B2Maintaining memory checkpoints across a cluster of computing nodes
Publication Date: 2010.12.21 ORACLE AMERICAN INC
  • US7856421B2 patent drawing
  • US7856421B2 patent drawing
  • US7856421B2 patent drawing

AI summary

A method and system for increasing reliability and availability of a multi-processor network. A system includes a network with at least two nodes, with each node comprising a multi-processor unit (mpu) and memory. The mpu includes one or more processors and a wiretap unit. The wiretap unit and the memory included in the node are coupled to the processors in the node. The wiretap unit is configured to monitor memory accesses of the processors and convey data indicative of such accesses to a second node. The second node maintains a replica of memory in the first node, and is configured to undo modifications to the memory if needed. In the event of a hardware or software fault, the nodes are configured to restart the application on another node.