Virtual machine placement
US-2017286146-A1 · Oct 5, 2017 · US
US2016357516A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016357516-A1 |
| Application number | US-201615004833-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 22, 2016 |
| Priority date | Jun 8, 2015 |
| Publication date | Dec 8, 2016 |
| Grant date | — |
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.
Methods and computer readable media for software modeling. The method comprises accessing one or more software execution traces describing execution times of tasks within software executed on a target platform. The method also comprises generating a workload model of the software based on the one or more software execution traces of the software executed on the target platform. The workload model describes tasks of the software and workloads on the target platform associated with the tasks of the software.
Opening claim text (preview).
What is claimed is: 1 . A non-transitory computer readable medium storing instructions for software modeling, the instructions when executed by at least one processor cause the at least one processor to: access one or more software execution traces describing execution times of tasks within software executed on a target platform; and generating a workload model of the software based on the one or more software execution traces of the software executed on the target platform, the workload model describing tasks of the software and workloads on the target platform associated with the tasks of the software. 2 . The non-transitory computer readable medium of claim 1 , wherein the workload model of the software is a task graph having task nodes, each task node representing a respective task of the software and including one or more respective workload parameters describing a workload associated with the task. 3 . The non-transitory computer readable medium of claim 2 : wherein the one or more traces include a function trace describing functions of the software and execution times of the functions, and wherein the task graph is generated from the function trace and comprises edges connecting the nodes, the nodes representing the functions of the software application, and the edges representing dependencies between the functions. 4 . The non-transitory computer readable medium of claim 2 : wherein the one or more traces include a context trace describing contexts of the software application and execution times of the contexts, each context representing a respective plurality of software functions, and wherein the task graph comprises the nodes without edges connecting the nodes, the nodes representing the contexts of the software application. 5 . The non-transitory computer readable medium of claim 1 , further comprising instructions to: accessing a memory access trace describing memory accesses during the execution of the software on the target platform, wherein the workload model is further generated based on the memory access trace. 6 . The non-transitory computer readable medium of claim 1 , further comprising instructions to: accessing a cache trace describing cache accesses during the execution of the software on the target platform, wherein the workload model is further generated based on the cache trace. 7 . The non-transitory computer readable medium of claim 1 , further comprising instructions to: accessing an instruction trace describing processor instructions executed during the execution of the software on the target platform, wherein the workload model is further generated based on the instruction trace. 8 . The non-transitory computer readable medium of claim 7 , further comprising instructions to: access information describing respective instruction execution times for a plurality of processor instruction types, wherein the workload model is further generated based on the information describing the respective instruction execution times for the plurality of processing instruction types. 9 . The non-transitory computer readable medium of claim 1 , further comprising instructions to: access memory type information describing a plurality of memory regions and, for each memory region, a type of the memory region, wherein the workload model is further generated based on the memory type information. 10 . The non-transitory computer readable medium of claim 1 , wherein accessing the one or more software execution traces comprises accessing one or more software execution traces of software executed on an instruction accurate processor model. 11 . The non-transitory computer readable medium of claim 1 , further comprising instructions to: generate the one or more software execution traces by executing the software on the target platform. 12 . A computer implemented method for software modeling, the method comprising: accessing one or more software execution traces describing execution times of tasks within software executed on a target platform; and generating a workload model of the software based on the one or more software execution traces of the software executed on the target platform, the workload model describing tasks of the software and workloads associated with the tasks of the software. 13 . The method of claim 12 , wherein the workload model of the software is a task graph having task nodes, each task node representing a respective task of the software and including one or more respective workload parameters describing a workload associated with the task. 14 . The method of claim 13 : wherein the one or more traces include a function trace describing functions of the software and execution times of the functions, and wherein the task graph is generated from the function trace and comprises edges connecting the nodes, the nodes representing the functions of the software application, and the edges representing dependencies between the functions. 15 . The method of claim 13 : wherein the one or more traces include a context trace describing contexts of the software application and execution times of the contexts, each context representing a respective plurality of software functions, and wherein the task graph comprises the nodes without edges connecting the nodes, the nodes representing the contexts of the software application. 16 . The method of claim 13 , further comprising: accessing a memory access trace describing memory accesses during the execution of the software on the target platform, wherein the workload model is further generated based on the memory access trace. 17 . The method of claim 13 , further comprising: accessing a cache trace describing cache accesses during the execution of the software on the target platform, wherein the workload model is further generated based on the cache trace. 18 . The method of claim 13 , further comprising: accessing an instruction trace describing processor instructions executed during the execution of the software on the target platform, wherein the workload model is further generated based on the instruction trace. 19 . The method of claim 18 , further comprising: accessing information describing respective instruction execution times for a plurality of processor instruction types, wherein the workload model is further generated based on the information describing the respective instruction execution times for the plurality of processing instruction types. 20 . The method of claim 12 , further comprising: accessing memory type information describing a plurality of memory regions and, for each memory region, a type of the memory region, wherein the workload model is further generated based on the memory type information.
by runtime analysis (performance monitoring G06F11/3466) · CPC title
Software design · CPC title
Circuit design · CPC title
HW-SW co-design, e.g. HW-SW partitioning · CPC title
Performance evaluation by tracing or monitoring · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.