Cache Management for High-Availability Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-availability systems face performance degradation due to the overhead of maintaining a backup system in sync with the primary system, which requires duplicating and updating its state, leading to increased resource utilization and cache size.

Innovation Solution

A novel cache management technique where pages of memory updated in the primary system are copied to both the backup system and a cache, with a duplication manager process computing differences and updating pointers to reduce data transmission and cache size, utilizing a multi-core processor to execute these tasks efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a backup system is employed to achieve high availability and fault tolerance, then system reliability is improved, but performance degrades due to additional overhead required to maintain the backup system in sync with the primary system

Engineering Contradiction:
Improvesystem availabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary changes (deltas) from the full memory state and transmits only these differences to the backup system, rather than continuously synchronizing the entire backup state. This extraction of essential information reduces the overhead of maintaining synchronization while preserving reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses a cache to store copies of memory pages and computes differences between versions. By copying only the necessary difference data rather than full pages, the system reduces the amount of data transmitted and processed while maintaining the backup's synchronization with the primary system.

Inventive Principle:
Principle #26Copying

2Stability of the object's composition

If memory pages are continuously copied to the backup system to maintain synchronization, then data consistency is improved, but resource utilization and cache size requirements increase

Engineering Contradiction:
Improvedata consistencyVSAvoidcache size
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The patent dynamically determines what needs to be transmitted by computing differences between memory pages. The cache management process adapts its behavior based on actual changes detected in memory, only copying pages or differences when necessary rather than continuously copying everything, thus reducing cache size requirements while maintaining consistency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the approach from copying full memory pages to copying only the difference (delta) between pages. This parameter change in the copying mechanism significantly reduces the quantity of data that needs to be stored and transmitted, reducing cache size requirements while maintaining data consistency.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a duplication manager process is executed on the same processor core as the application process, then implementation simplicity is improved, but performance degrades due to increased overhead from context switching and resource contention

Engineering Contradiction:
Improveprocess execution simplicityVSAvoidtransaction processing performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the processor execution by running the duplication manager process on a different processor core than the application process. This segmentation of execution contexts allows each process to run in parallel without interfering with the other, reducing context switching overhead and resource contention while maintaining implementation simplicity through clear process separation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8499133B2Cache management for increasing performance of high-availability multi-core systems
Publication Date: 2013.07.30 AVAYA INC
  • US8499133B2 patent drawing
  • US8499133B2 patent drawing
  • US8499133B2 patent drawing

AI summary

An apparatus and method for improving performance in high-availability systems are disclosed. In accordance with the illustrative embodiment, pages of memory of a primary system that are to be shadowed are initially copied to a backup system's memory, as well as to a cache in the primary system. A duplication manager process maintains the cache in an intelligent manner that significantly reduces the overhead required to keep the backup system in sync with the primary system, as well as the cache size needed to achieve a given level of performance. Advantageously, the duplication manager is executed on a different processor core than the application process executing transactions, further improving performance.