Cache Status Marker for Multithreaded Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multithreaded environments, simultaneous access to a data element by multiple execution threads can lead to data inconsistency, as one thread may read incomplete or corrupted data while another thread is modifying it, necessitating lock mechanisms to prevent concurrent access.

Innovation Solution

A method and system that utilize a cache location with a status marker to manage access, where a data element is stored in a modifiable cache with a status indicator, allowing only one thread to modify it while providing a read-only copy during modification, ensuring data integrity and allowing concurrent reading.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock mechanisms are used to prevent concurrent access to a data element, then data consistency is maintained, but system performance deteriorates due to blocked read requests

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data element access into two separate cache locations: a first cache location for storing the data element and a second cache location for storing a copy during modification. This segmentation allows read requests to access the second cache location while write requests modify the first, eliminating the need for locks and preventing read-write blocking while maintaining data consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a second cache location as an intermediary during data modification operations. When a write request arrives, the system creates a copy of the data element in the second cache location, allowing read requests to continue accessing this intermediary copy while the original data element is being modified in the first cache location. This intermediary mechanism decouples read and write operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple execution threads access the same data element simultaneously, then system throughput is improved, but data inconsistency occurs

Engineering Contradiction:
Improvesystem throughputVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the data storage into two separate cache locations to allow simultaneous access by multiple threads. Read threads access the second cache location while write threads modify the first cache location, enabling concurrent operations without data inconsistency. This spatial segmentation of data access paths resolves the conflict between throughput and consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a copy of the data element in a second cache location when modification is needed. This copying mechanism allows multiple threads to simultaneously access different versions of the data without conflict - readers access the copy while writers modify the original, enabling high throughput while maintaining data consistency through version separation.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If a single cache location is used for data storage, then memory usage is minimized, but read-write conflicts occur requiring locks

Engineering Contradiction:
Improvememory usageVSAvoidlock mechanism complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the single cache location into two separate cache locations: a first cache location for normal data storage and a second cache location for storing copies during modification operations. This segmentation eliminates the need for lock mechanisms by providing separate access paths for reads and writes, reducing device complexity while maintaining adequate memory usage through controlled duplication only when necessary.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7886113B2Method and system for managing access to a data element in a multithreaded environment
Publication Date: 2011.02.08 ORACLE AMERICAN INC
  • US7886113B2 patent drawing
  • US7886113B2 patent drawing
  • US7886113B2 patent drawing

AI summary

A method for managing access to a data element involves storing a first copy of the data element in a cache location, obtaining a request to modify the data element, where the request to modify the data element is associated with a first execution thread, marking the cache location as dirty based on the request to modify the data element, modifying the cache location according to the request to modify the data element once the cache location is marked as dirty, obtaining a request to read the data element while the cache location is marked as dirty, where the request to read the data element is associated with a second execution thread, providing a second copy of the data element in response to the request to read the data element based on the cache location being marked as dirty, and marking the cache location as clean after modifying the cache location is complete.