Multiprocessor Synchronization Table for Shared Variable Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, ensuring predictable and intended access order for multiple tasks accessing shared data sets is challenging, as existing synchronization mechanisms may not be appropriately tailored to specific software architecture patterns, leading to potential data access conflicts and performance issues.

Innovation Solution

A computer system that provides a plurality of synchronization mechanisms as library services, analyzes design and runtime information to identify software architecture patterns, and generates a synchronization table associating these patterns with appropriate synchronization mechanisms, ensuring proper data access and protection for concurrently executing tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing synchronization mechanisms are used for shared data access in multiprocessor systems, then data access synchronization can be achieved, but the synchronization may not be appropriately tailored to specific software architecture patterns, leading to potential data access conflicts and performance issues

Engineering Contradiction:
Improvedata access synchronizationVSAvoidadaptability to software architecture patterns
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically selects and applies synchronization mechanisms based on the detected software architecture pattern. The synchronization approach changes adaptively according to the runtime characteristics of the application, transitioning from static to dynamic synchronization strategy selection.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameters of synchronization by selecting different mechanisms (e.g., mutexes, semaphores, atomic operations) based on the software architecture pattern detected. This allows optimization of synchronization behavior to match the specific access patterns and constraints of the application.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If synchronization mechanisms are applied to ensure predictable access order, then data access conflicts are prevented, but system performance may deteriorate due to increased synchronization overhead

Engineering Contradiction:
Improvepredictable access orderVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies different synchronization mechanisms to different software architecture patterns and shared variables. Instead of using a uniform synchronization approach throughout the system, it tailors the synchronization strength and type to the specific local requirements of each access pattern, reducing unnecessary synchronization overhead.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system applies synchronization only where and when needed based on the detected software architecture pattern. By analyzing access patterns and applying synchronization selectively rather than universally, it avoids the performance penalty of excessive synchronization while maintaining reliability where required.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If multiple synchronization mechanisms are provided for different access patterns, then adaptability to software architecture is improved, but device complexity increases

Engineering Contradiction:
Improveadaptability to software architecture patternsVSAvoidsynchronization mechanism selection system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system automatically detects software architecture patterns and selects appropriate synchronization mechanisms without requiring manual configuration or programmer intervention. The system serves itself by analyzing its own execution context and making intelligent synchronization decisions, reducing the complexity burden on the user.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system introduces an intermediary layer (the pattern detection and selection mechanism) that sits between the application code and the synchronization primitives. This intermediary automatically analyzes access patterns and translates them into appropriate synchronization decisions, shielding the user from the complexity of selecting and configuring multiple synchronization mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10360079B2Architecture and services supporting reconfigurable synchronization in a multiprocessing system
Publication Date: 2019.07.23 GM GLOBAL TECHNOLOGY OPERATIONS LLC
  • US10360079B2 patent drawing
  • US10360079B2 patent drawing
  • US10360079B2 patent drawing

AI summary

A synchronization method in a multiprocessor system is provided. The method includes providing a plurality of synchronization mechanisms for synchronizing data to be accessed by a plurality of concurrently executable tasks, analyzing design information and runtime information for application software that includes the concurrently executable tasks, identifying, based on the analysis, software architecture patterns for the concurrently executable tasks that access a shared variable, and associating, based on the analysis, each of the software architecture patterns to one or more of the synchronization mechanisms. The method further includes generating synchronization table entries for a synchronization table that identify the shared variable, the software architecture pattern for the concurrently executable tasks that access the shared variable, and the one or more synchronization mechanisms associated with the software architecture pattern and also includes accessing the shared variable using the one or more synchronization mechanisms identified in the synchronization table.