Method and system for a CPU-local storage mechanism

US10534644B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10534644-B2
Application numberUS-49153409-A
CountryUS
Kind codeB2
Filing dateJun 25, 2009
Priority dateJun 25, 2009
Publication dateJan 14, 2020
Grant dateJan 14, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Described herein are systems and methods for implementing a processor-local (e.g., a CPU-local) storage mechanism. An exemplary system includes a plurality of processors executing an operating system, the operating system including a processor local storage mechanism, wherein each processor accesses data unique to the processor based on the processor local storage mechanism. Each of the plurality of processors of the system may have controlled access to the resource and each of the processors is dedicated to one of a plurality of tasks of an application. The application including the plurality of tasks may be replicated using the processor local storage mechanism, wherein each of the tasks of the replicated application includes an affinity to one of the plurality of processors.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a multi-core processor platform including a plurality of processors, the multi-core processor platform configured to: execute a single instance of an operating system and a plurality of instances of a uniprocessor application, wherein each instance of the uniprocessor application is executed within the single instance of the operating system by a different one of the plurality of processors, the single instance of the operating system including a programming construct configured to define a processor storage class attribute specific to each of the processors, the processor storage class attributes configured to gather a global variable of the uniprocessor application into a per processor structure so that each of the plurality of instances of the uniprocessor application include a per processor global variable, wherein the programming construct is further configured to label tasks associated with each instance of the uniprocessor application with the processor storage class attribute specific to the corresponding one of the plurality of processors, wherein each instance of the uniprocessor application accesses only data unique to the corresponding processor based on the processor storage class attribute defined by the programming construct. 2. The system of claim 1 , wherein each of the plurality of processors has controlled access to a shared resource and each of the processors is dedicated to one of a plurality of tasks of the uniprocessor application. 3. The system of claim 2 , wherein each instance of the uniprocessor application including the plurality of tasks is generated using the programming construct. 4. The system of claim 1 , wherein the programming construct is further configured to update a source file maintaining variable definition data for one of the plurality of processors. 5. The system of claim 1 , wherein the programming construct is further configured to generate object code invoking a lookup function based on an accessed element from a processor structure array, performs the lookup function, and returns an address of a specified processor local storage variable. 6. The system of claim 1 , further including: a compiler packaging information for declaration of a plurality of variables into an output object module. 7. The system of claim 6 , wherein the output object module is located within an executable and linkable format “ELF” section of one of the plurality of variables. 8. The method of claim 1 , wherein the plurality of instances of the uniprocessor application are generated based on applying the storage class attributes to the uniprocessor application. 9. A system, comprising: a multi-core processor platform including a plurality of processors, the multi-core processor platform configured to: execute a single instance of an operating system and a plurality of instances of an application, wherein each instance of the application is executed by a different one of the plurality of processors, wherein the single instance of the operating system includes a programming construct configured to define a processor storage class attribute specific to each of the plurality of instances of the application, the processor storage class attributes configured to gather a global variable of the application into a per processor structure so that each of the plurality of instances of the application include a per processor global variable, wherein the programming construct is further configured to label tasks associated with each instance of the application with the processor storage class attribute specific to the corresponding one of the instances of the application, wherein each instance of the application only accesses data unique to each instance of the application based on the processor storage class attributes defined by the programming construct. 10. The system of claim 9 , wherein each of the plurality of instances has controlled access to a shared resource. 11. The system of claim 9 , wherein the application includes a plurality of tasks generated using the programming construct, each of the tasks includes an affinity to one of the plurality of instances. 12. The system of claim 9 , wherein the programming construct is further configured to update a source file maintaining variable definition data for one of the plurality of instances. 13. The system of claim 9 , wherein the programming construct is further configured to generate object code invoking a lookup function based on an accessed element from a processor structure array, performs the lookup function, and returns an address of a specified processor local storage variable that is unique per instance of the application. 14. The system of claim 9 , further including: a compiler packaging information for declaration of a plurality of variables into an output object module. 15. The system of claim 14 , wherein the output object module is located within an executable and linkable format “ELF” section of one of the plurality of variables. 16. A system, comprising: a plurality of processors configured to perform operations comprising: execute a single instance of an operating system; define a processor storage class attribute specific to each of the plurality of processors; generate a first instance of a uniprocessor application and a second instance of the uniprocessor application using the processor storage class attributes, wherein the processor storage class attributes are configured to gather a global variable of the uniprocessor application into a per processor structure so that the first instance of the uniprocessor application and the second instance of the uniprocessor application each include a per processor global variable; label tasks associated with the first instance of the uniprocessor application with the processor storage class attribute specific to a first processor of the plurality of processors; label tasks associated with the second instance of the uniprocessor application with the processor storage class attribute specific to a second processor of the plurality of processors; and execute the first instance of the uniprocessor application and the second instance of the uniprocessor application within the single instance of the operating system, wherein the first instance of the uniprocessor application is executed by the first processor and the second instance of the uniprocessor application is executed by the second processor based on the corresponding processor storage class attributes. 17. The system of claim 16 , wherein each of the plurality of processors has controlled access to a shared resource. 18. The system of claim 17 , wherein the first instance of the uniprocessor application and the second instance of the uniprocessor application are generated using a programming construct. 19. The system of claim 16 , the operations further comprising: update a source file maintaining variable definition data for one of the plurality of processors. 20. A system, comprising: a multi-core processor platform including a plurality of processors configured to perform operations comprising: execute a single instance of an operating system; execute a uniprocessor application within the single instance of the operating system; define a processor storage class attribute specific to each of the plurality of processors, the processor storage class attributes to be utilized by a multi instancing function; and execute the multi-instancing function on the uniprocessor applicatio

Assignees

Inventors

Classifications

  • G06F9/5016Primary

    the resource being the memory · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10534644B2 cover?
Described herein are systems and methods for implementing a processor-local (e.g., a CPU-local) storage mechanism. An exemplary system includes a plurality of processors executing an operating system, the operating system including a processor local storage mechanism, wherein each processor accesses data unique to the processor based on the processor local storage mechanism. Each of the plurali…
Who is the assignee on this patent?
Gaiarsa Andrew, Koning Maarten, Wind River Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5016. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 14 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).