Methods and systems for mapping threads to processor cores
AssigneeThe Boeing Company
InventorKenn R. Luecke
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for use in executing a software application by a plurality of processor cores. The software application is associated with source code that defines a plurality of threads. A portion of source code corresponding to each thread is identified, and each thread is assigned to a processor core. Each processor core is associated with the portions of source code that correspond to the threads assigned to the processor core. The portions of source code associated with each processor core are operable to be transformed into object code for execution by the processor core. The relationships between the processor cores, the threads, and/or the portions of source code may be displayed to a user.
Claims19
A method for use in executing a software application by a processor unit that includes a plurality of processor cores, said method comprising:
- identifying, by a computer system, a plurality of threads within source code associated with the software application;
- identifying, by the computer system, a portion of the source code that corresponds to each thread of the plurality of threads;
- assigning each thread of the plurality of threads to a processor core of the plurality of processor cores;
- storing the assignments of threads to processor cores in a storage device, and portions of the source code associated with each processor core in a location of the storage device that is associated with the processor core;
- associating, by the computer system, each processor core with the portions of the source code that correspond to the threads assigned to the processor core, wherein the portions of the source code associated with each processor core are operable to be transformed into object code for execution by the processor core;
- receiving a modification to a first portion of the source code that is associated with a first thread of the plurality of threads, wherein the first thread is assigned to a first processor core of the plurality of processor cores;
- and
- updating the first portion of the source code at a first location that is associated with the first processor core based on the stored assignments.
A system for use in executing a software application by a plurality of processor cores, said system comprising:
- a storage device configured to store source code associated with the software application, wherein the source code defines a plurality of threads;
- a processor unit coupled to said storage device and programmed to:
- identify a portion of the source code corresponding to each thread of the plurality of threads;
- assign each thread of the plurality of threads to one processor core of the plurality of processor cores;
- store the assignments of threads to processor cores in a storage device, and portions of the source code associated with each processor core in a location of the storage device that is associated with the processor core;
- associate each processor core of the plurality of processor cores with the portions of the source code that correspond to the threads assigned to the processor core, wherein the portions of the source code associated with the processor core are operable to be transformed into object code for execution by the processor core;
- receive a modification to a first portion of the source code that is associated with a first thread of the plurality of threads, wherein the first thread is assigned to a first processor core of the plurality of processor cores;
- and
- update the first portion of the source code at a first location that is associated with the first processor core based on the stored assignments.
One or more non-transitory computer readable media having computer-executable components, said components comprising:
- a parsing component that when executed by at least one processor unit causes the at least one processor unit to:
- identify a plurality of threads within source code associated with a software application;
- and
- identify a portion of the source code that corresponds to each thread of the plurality of threads;
- and
- a mapping component that when executed by at least one processor unit causes the at least one processor unit to:
- assign each thread of the plurality of threads to a processor core of a plurality of processor cores;
- store the assignments of threads to processor cores in a storage device, and portions of the source code associated with each processor core in a location of the storage device that is associated with the processor core;
- associate each processor core of the plurality of processor cores with the portions of the source code that correspond to the threads assigned to the processor core, wherein the portions of the source code are operable to be transformed into object code for execution by the processor core;
- receive a modification to a first portion of the source code that is associated with a first thread of the plurality of threads, wherein the first thread is assigned to a first processor core of the plurality of processor cores;
- and
- update the first portion of the source code at a first location that is associated with the first processor core based on the stored assignments.
Dependencies are inferred from the claim text.