Agent Scheduler for Data Race Elimination in Shared State Domains
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


