Parallel Intent Object Locking for Multi-Core Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software applications that match individuals based on preferences face scalability issues and inefficient utilization of multi-core hardware due to serial processing of intent objects, limiting their ability to handle large numbers of individuals and preferences effectively.
Innovation Solution
Implementing a parallel processing system where intent objects are locked based on preferences, allowing multiple matcher objects to operate simultaneously on distinct sets of intent objects, ensuring that only one matcher can modify a set and maximizing the use of multi-core hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If serial processing is used to ensure constraint compliance, then reliability is improved, but productivity deteriorates
Solution Approach 1:
The patent segments the processing space by dividing intent objects into multiple groups based on preference values. Each matcher object is assigned to process a specific group, allowing parallel processing while maintaining constraint compliance within each segment. This segmentation enables multiple matchers to work simultaneously on different preference groups without conflicting with each other.
Solution Approach 2:
The patent introduces preference values as intermediary classification criteria that mediate between the constraint compliance requirement and parallel processing need. By using preference values as the basis for grouping and locking, the system creates an intermediary layer that allows concurrent access to different groups while ensuring that constraints are satisfied within each group's context.
2Device complexity
If serial processing is used to simplify constraint management, then device complexity is reduced, but productivity deteriorates
Solution Approach 1:
The processing architecture is segmented into multiple matcher objects, each handling a specific preference group. This segmentation distributes the processing load across multiple independent units, reducing the complexity burden on any single processor while enabling parallel execution to improve overall productivity.
Solution Approach 2:
The patent introduces a new dimension of organization based on preference values, transforming the single-dimensional serial processing into multi-dimensional parallel processing. By adding the preference-based grouping dimension, the system can simultaneously process multiple intent objects along different preference dimensions without increasing the fundamental complexity of constraint management.
3Productivity
If parallel processing is implemented to improve productivity, then scalability is improved, but device complexity increases
Solution Approach 1:
The system is divided into multiple independent matcher objects that can be scaled horizontally. Each matcher is a self-contained unit that processes a specific preference group, allowing the system to scale by simply adding more matcher instances. This segmentation makes the parallel processing architecture more manageable and less complex than a tightly-coupled parallel system.
Solution Approach 2:
Each matcher object is designed to be universal and multi-functional, capable of processing intent objects based on its assigned preference group. This universality reduces the overall system complexity by using identical or similar matcher templates rather than requiring custom processing logic for each parallel component, making the parallel architecture more scalable and maintainable.
4Productivity
If locking mechanisms are introduced to enable parallel processing, then productivity is improved, but device complexity increases
Solution Approach 1:
The locking mechanism is segmented and applied at the group level rather than the individual intent object level. Each matcher locks a specific preference group, which reduces the granularity and overhead of locking operations. This segmented approach to locking enables parallel processing while keeping the locking mechanism relatively simple and efficient.
Solution Approach 2:
The locking mechanism applies local quality control by allowing different lock granularities and strategies for different preference groups. Each matcher applies locking locally to its assigned group, rather than requiring a global locking strategy. This local approach reduces the overall complexity of the locking mechanism while still enabling safe parallel processing.
Data Source
AI summary
An apparatus, method and computer-readable storage medium for determining intent object preferences for locking intent objects, and grouping the intent objects into sets based on the intent object preferences for locking. The sets may contain intent objects with matching preference values for the intent object preferences for locking. Each set may be locked such that only a matcher object associated with the set may operate on the set. The locking may be done in memory, or via a database. The matcher associated with a set may determine whether the intent objects in that set match other intent objects in the set. Multiple matchers may operate on their associated sets in parallel.


