Compiler-based critical section amendment for a multiprocessor environment
First Claim
Patent Images
1. A method comprising:
- identifying data structures in source code that reference multiple instances of related data for an application in a multiprocessor, cache coherent system;
searching the source code to identify a synchronization command referencing the related data; and
compiling the source code to generate an executable program that excludes the identified synchronization command for the related data.
2 Assignments
0 Petitions
Accused Products
Abstract
Source code includes a directive to indicate data structures of related data to a compiler. The compiler associates the related data to the same one of multiple processors in a multiprocessor environment. The compiler searches the source code for locks associated with the related data, and generates executable code that is modified with respect to locks written in the source code. The compiler may replace or remove locks written in the source code to protect access to the related data, resulting in an executable program that does not include the locks.
-
Citations
20 Claims
-
1. A method comprising:
-
identifying data structures in source code that reference multiple instances of related data for an application in a multiprocessor, cache coherent system;
searching the source code to identify a synchronization command referencing the related data; and
compiling the source code to generate an executable program that excludes the identified synchronization command for the related data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An article of manufacture comprising a machine-accessible medium having content to provide instructions to result in an electronic device performing operations including:
-
identifying a data structure in source code indicated by a pragma directive, the data structure to represent separate a data flow for a multiprocessor, cache coherent system;
locating a critical section in the source code related to the identified data flow; and
compiling the source code to remove the located critical section and generate binary code from the source code, the binary code excluding the removed critical section. - View Dependent Claims (11, 12, 13, 15, 16)
-
-
14. A system comprising:
-
an article of manufacture comprising a machine-accessible medium having content to provide instructions to result in an electronic device performing operations including pre-processing source code to mark a data structure in source code indicated by a pre-processing directive to identify related data for a multiprocessor, cache coherent system, and to locate a lock in the source code that references the related data, and compiling the source code to generate an executable that lacks the lock;
an interface to receive the article of manufacture and access the content on the machine-accessible medium; and
a dynamic random access memory (DRAM) coupled to the interface to receive the accessed content from the interface and store the instructions for performing the operations.
-
-
17. An apparatus comprising:
-
a memory having data to define operations including identifying a data flow in source code marked by a programming language extension, the source code for an application for a multiprocessor, cache coherent system, searching the source code to identify a cache line lock for the data flow, and compiling the source code to generate an executable program that excludes the identified cache line lock; and
a processor coupled to the memory to execute the defined operations. - View Dependent Claims (18, 19, 20)
-
Specification