Guaranteed quality of service in system-on-a-chip uncore fabric
US-2016188529-A1 · Jun 30, 2016 · US
US10225348B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10225348-B2 |
| Application number | US-201615115249-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 21, 2016 |
| Priority date | Jul 21, 2016 |
| Publication date | Mar 5, 2019 |
| Grant date | Mar 5, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A first request is received from a first processing node to produce data blocks of a first data stream representing a first communication topic. The first processing node is one of the processing nodes handling a specific function of operating an autonomous vehicle. Each of the processing nodes is executed within a specific node container having a specific operating environment. A global memory segment is allocated from a global memory to store the data blocks of the first data stream. A first local memory segment is mapped to the global memory segment. The first local memory segment is allocated from a first local memory of a first node container containing the first processing node. The first processing node directly accesses the data blocks of the first data stream stored in the global memory segment by accessing the mapped first local memory segment within the first node container.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for managing data streams of processing nodes in an autonomous vehicle, the method comprising: receiving a first request from a first processing node to produce data blocks of a first data stream representing a first communication topic to be subscribed by another processing node, wherein the first processing node is one of a plurality of processing nodes, each processing node handling a specific function of operating an autonomous vehicle, and wherein each of the processing nodes is executed within a specific node container having a specific operating environment; in response to the first request, allocating a global memory segment from a global memory to store the data blocks of the first data stream; mapping a first local memory segment to the global memory segment, the first local memory segment being allocated from a first local memory of a first node container containing the first processing node, wherein the first processing node directly accesses the data blocks of the first data stream stored in the global memory segment by accessing the mapped first local memory segment within the first node container; receiving a second request from a second processing node to subscribe the first communication topic; and in response to the second request, mapping a second local memory segment to the first global memory segment, the second local memory segment being allocated from a second local memory of a second node container containing the second processing node, wherein the second processing node directly accesses the data blocks of the first data stream stored in the global memo segment by accessing the mapped second local memory segment within the second node container. 2. The method of claim 1 , wherein the first data stream is one of a plurality of data streams associated with a plurality of communication topics, and wherein each of the data streams is associated with one of a plurality of global memory segments allocated from the global memory for storing corresponding data blocks, respectively. 3. The method of claim 1 , wherein the first node container comprises a first virtual machine and the first local memory is associated with the first virtual machine, and wherein the second node container comprises a second virtual machine and the second local memory is associated with the second virtual machine. 4. The method of claim 1 , wherein the second processing node is one of a plurality of processing nodes subscribing the first communication topic, and wherein each of the subscribing processing nodes maps a local memory segment from its respective local memory to the first global memory segment for accessing the data blocks of the first data stream. 5. The method of claim 1 , further comprising: monitoring access of the data blocks stored in the first global memory segment by the first processing node and the second processing node; and releasing the first global memory segment back to a free global memory pool of the global memory if the access is inactive for a predetermined period of time. 6. The method of claim 5 , wherein monitoring access of the data blocks stored in the first global memory segment comprises: determining whether all data blocks of the first data stream have been read by the second processing node; and determining whether there is any new data block produced by the first processing node, wherein the first global memory segment is released if all data blocks of the first data stream have been read and no new data block has been produced for the predetermined period of time. 7. The method of claim 6 , further comprising, prior to releasing the global memory segment: unmapping the first local memory segment of the first local memory from the global memory segment; and unmapping the second local memory segment of the second local memory from the global memory segment. 8. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations of managing data streams of processing nodes in an autonomous vehicle, the operations including receiving a first request from a first processing node to produce data blocks of a first data stream representing a first communication topic to be subscribed by another processing node, wherein the first processing node is one of a plurality of processing nodes, each processing node handling a specific function of operating an autonomous vehicle, and wherein each of the processing nodes is executed within a specific node container having a specific operating environment; in response to the first request, allocating a global memory segment from a global memory to store the data blocks of the first data stream; mapping a first local memory segment to the global memory segment, the first local memory segment being allocated from a first local memory of a first node container containing the first processing node, wherein the first processing node directly accesses the data blocks of the first data stream stored in the global memory segment by accessing the mapped first local memory segment within the first node container; receiving a second request from a second processing node to subscribe the first communication topic; and in response to the second request, mapping a second local memory segment to the first global memory segment, the second local memory segment being allocated from a second local memory of a second node container containing the second processing node, wherein the second processing node directly accesses the data blocks of the first data stream stored in the global memory segment by accessing the mapped second local memory segment within the second node container. 9. The machine-readable medium of claim 8 , wherein the first data stream is one of a plurality of data streams associated with a plurality of communication topics, and wherein each of the data streams is associated with one of a plurality of global memory segments allocated from the global memory for storing corresponding data blocks, respectively. 10. The machine-readable medium of claim 8 , wherein the first node container comprises a first virtual machine and the first local memory is associated with the first virtual machine, and wherein the second node container comprises a second virtual machine and the second local memory is associated with the second virtual machine. 11. The machine-readable medium of claim 8 , wherein the second processing node is one of a plurality of processing nodes subscribing the first communication topic, and wherein each of the subscribing processing nodes maps a local memory segment from its respective local memory to the first global memory segment for accessing the data blocks of the first data stream. 12. The machine-readable medium of claim 8 , wherein the operations further comprise: monitoring access of the data blocks stored in the first global memory segment by the first processing node and the second processing node; and releasing the first global memory segment back to a free global memory pool of the global memory if the access is inactive for a predetermined period of time. 13. The machine-readable medium of claim 12 , wherein monitoring access of the data blocks stored in the first global memory segment comprises: determining whether all data blocks of the first data stream have been read by the second processing node; and determining whether there is any new data block produced by the first processing node, wherein the first global memory segment is released if all data blocks of the first data stream have been read and no new data bloc
Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication (G06F12/08 takes precedence) · CPC title
based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title
specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks · CPC title
for multiple virtual address spaces, e.g. segmentation (G06F12/1045 takes precedence) · CPC title
{Adaptive} cruise control · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.