Agent Scheduler for Data Race Elimination in Shared State Domains

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrent execution in computing systems with multiple processors often leads to data races, where tasks observe invalid states due to unrestricted access to shared memory, making it difficult to exploit concurrency while avoiding data races.

Innovation Solution

A scheduler is configured to manage multiple types of agents within a domain, ensuring that only one writer agent accesses mutable shared state at a time, prohibiting reader agents from accessing mutable state during writer access, while allowing immutable state access independently, thus reducing or eliminating data races.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If concurrent execution of multiple tasks is allowed, then processing efficiency and responsiveness are improved, but data races occur when tasks access shared state

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the concurrent execution model into distinct agent types (writer agents, general reader agents, immutable reader agents) with different access rights to shared state. This segmentation allows multiple agents to execute concurrently while maintaining data integrity by preventing data races through controlled access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The scheduler acts as an intermediary between agents and shared state, mediating access requests according to the agent types and their permitted access rights. This intermediary controls which agents can access which portions of shared state, eliminating data races while preserving concurrency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If unrestricted access to shared state is allowed, then ease of operation is improved, but data races become hard to detect and solve

Engineering Contradiction:
Improveaccessibility to shared stateVSAvoiddata race detection
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary action by assigning specific access rights to each agent type before execution begins. Writer agents are granted read and write access to mutable shared state, general reader agents receive read access to mutable shared state, and immutable reader agents receive read access only to immutable shared state. This preliminary configuration prevents data races before they can occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Different agent types are granted different access rights based on their local quality requirements. Writer agents need full access to mutable state, general reader agents need read access to mutable state, and immutable reader agents need read access only to immutable state. This localized access control maintains ease of operation while preventing data races.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8695003B2Method for managing data accessibility by scheduling three types of executable agents associated with pre-defined access rights within a domain
Publication Date: 2014.04.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8695003B2 patent drawing
  • US8695003B2 patent drawing
  • US8695003B2 patent drawing

AI summary

Multiple types of executable agents operating within a domain. The domain includes mutable shared state and immutable shared state, with agents internal to the domain only operating on the shared state. Writer agents are defined to be agents that have read access and write access to mutable shared state and read access only to immutable shared state. General reader agents have read access to both mutable shared state and immutable shared state and have no write access. Immutable reader agents have read access to only immutable shared state and have no write access. By appropriate scheduling of the different types of agents, data races may be reduced or eliminated.