Copy-on-write memory consistency for STM overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software transactional memory (STM) systems face higher overhead compared to other synchronization techniques, and non-transactional data access can negate isolation guarantees, leading to challenges in managing shared memory across multiple processes.

Innovation Solution

A copy-on-write (COW) update-triggered consistency apparatus and method that provides isolated local copies of shared memory segments, allowing processes to commit changes to a central repository, using a page table for version control and a single read-write lock to prevent race conditions, while maintaining memory-mapped segments as private regions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software transactional memory (STM) is used to ensure atomic execution of load and store instructions, then isolation guarantees are improved, but system overhead increases

Engineering Contradiction:
Improveisolation guaranteesVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The shared memory is segmented into multiple pages, each with its own version counter and metadata. This segmentation allows fine-grained version control at the page level rather than requiring global transaction management, reducing overhead while maintaining isolation guarantees for each memory page.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-allocates versioned copies of memory pages and maintains version counters in advance. When a transaction needs to access memory, the appropriate version is already prepared and linked through the page table, eliminating the need for complex runtime conflict detection and resolution mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If fine-grained locking is used to manage shared memory access, then concurrency control is improved, but device complexity increases

Engineering Contradiction:
Improveconcurrency controlVSAvoidlocking mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of using complex locking mechanisms, the system creates copy-on-write versions of memory pages. Each process works with its own version or a shared version, and conflicts are resolved by creating new versions rather than through locking, simplifying the concurrency control mechanism.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical locking system with a version-based copy-on-write mechanism. Instead of acquiring and releasing locks to control access, the system uses version counters and page table entries to manage concurrent access, eliminating the complexity of lock management while maintaining concurrency control.

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

3Productivity

If multiple processes access shared memory simultaneously, then system scalability is improved, but contention increases

Engineering Contradiction:
Improvesystem scalabilityVSAvoidcontention
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Each memory page has its own version counter and metadata, allowing independent version management for each page. This local quality enables multiple processes to access different pages simultaneously without contention, as each page's version control is independent, improving scalability while reducing waiting time.

Inventive Principle:
Principle #3Local quality

4Reliability

If isolated local copies of shared memory are maintained for each process, then isolation guarantees are improved, but memory usage increases

Engineering Contradiction:
Improveisolation guaranteesVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple processes share the same physical memory pages when no modifications are needed, merging their views of the memory. When a process needs to modify a page, a private copy is created only for that process. This merging strategy reduces overall memory usage while maintaining isolation guarantees through copy-on-write semantics.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Instead of maintaining full isolated copies for all processes, the system uses copy-on-write to create isolated copies only when necessary (upon write operations). This selective copying maintains isolation guarantees while minimizing memory usage by sharing read-only pages among multiple processes.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10242042B2Copy-on-write update-triggered consistency
Publication Date: 2019.03.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10242042B2 patent drawing
  • US10242042B2 patent drawing
  • US10242042B2 patent drawing

AI summary

According to an example, copy-on-write (COW) update-triggered consistency may include determining a first shared version related to a shared set of data related to a process involving a first application and a process involving a second application. First and second local versions may be respectively assigned to the shared set of data associated with the first and second applications. Initiation of a commit process by the first or second applications may be determined respectively based on a write to the first or second local versions respectively related to the shared set of data associated with the first or second applications. In response to initiation of the commit process, a second shared version may be generated related to the shared set of data based on the respective processes involving the first and the second applications.