Efficient utilization of synchronization primitives in multiprocessor computing system

By creating a dependency graph and automatically allocating synchronization primitives through the compiler, the problem of manual optimization difficulties in multiprocessor computing systems is solved, achieving more efficient asynchronous command execution and performance improvement.

CN122139176APending Publication Date: 2026-06-02MICROSOFT TECHNOLOGY LICENSING LLC
0 Cites 0 Cited by

Patent Information

Application Number
CN202480069191.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-30
Filing Date
2024-10-17
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

In multiprocessor computing systems, manually optimizing program code to coordinate asynchronous command execution using synchronization primitives is difficult and time-consuming, resulting in poor performance. Furthermore, existing technologies struggle to effectively utilize limited synchronization primitive resources.

Method used

The compiler creates a dependency graph and automatically allocates synchronization primitives, optimizes program code to coordinate asynchronous command execution, identifies dependencies using shared queue analysis, input/output analysis, and allocation overlap analysis, minimizes redundant edges, and adds back edges to enforce circular dependencies.

Benefits of technology

It enables more optimized utilization of synchronization primitives, improves the execution performance of multiprocessor computing systems, and eliminates the difficulty and time-consuming nature of manual optimization.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

A compiler creates a dependency graph for functions in an input program. The dependency graph includes nodes corresponding to commands in a function and edges corresponding to dependencies between the commands. A compiler performs forward reachability analysis on the dependency graph to eliminate redundant dependencies. The compiler also adds a minimized set of edges back to the dependency graph to enforce loop carried resource dependencies in the input program. The compiler then assigns synchronization primitives, such as semaphores, provided by the multiprocessor computing system to commands in the function of the input program based on the content of the dependency graph.
Need to check novelty before this filing date? Find Prior Art