System and method of implementing an object storage infrastructure for cloud-based services
US-9135269-B2 · Sep 15, 2015 · US
US10255394B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10255394-B1 |
| Application number | US-201715470732-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 27, 2017 |
| Priority date | Mar 27, 2017 |
| Publication date | Apr 9, 2019 |
| Grant date | Apr 9, 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 method for simulating an integrated circuit model is provided. The method includes receiving partition netlists of an integrated circuit in a partition scheduler and scheduling, by at least one computer, an execution of a computational thread associated with a first partition netlist. The method also includes preparing input data for a task and storing the input data set in an object storage. Also, the method includes executing, by the computer, the task in the computational thread. The method also includes building dependency trees between multiple tasks for reducing the input/output data overhead, and caching information that may be necessary for each task but may be reusable by the task when such information is unavailable from previously computed tasks.
Opening claim text (preview).
The invention claimed is: 1. A computer-implemented method for simulating an integrated circuit model, comprising: receiving, from a circuit design tool, partition netlists of an integrated circuit in a partition scheduler of a characterization tool; scheduling, by at least one computer, an execution of a computational thread associated with a first partition netlist of the partition netlists; preparing an input data set for a first task of the computational thread in a slave application, and storing the input data set in an object storage; providing the input data set to the at least one computer; executing, by the at least one computer in the circuit design tool, the first task in the computational thread associated with the first partition netlist; and restoring a state of the computer in the characterization tool when the slave application in the object storage of the characterization tool is altered in the execution of the first task. 2. The computer-implemented method of claim 1 , wherein scheduling an execution of the computational thread associated with the first partition netlist comprises scheduling the execution of the first task in the computational thread before the execution of a second task in the computational thread when an output data set from the first task is used as an input data set for the second task. 3. The computer-implemented method of claim 1 , wherein scheduling an execution of the computational thread comprises scheduling a parallel execution of a first and a second computational threads that are independent from each other. 4. The computer-implemented method of claim 1 , wherein preparing an input data set for the first task in the computational thread comprises: forming a plurality of input stimuli vectors for use as inputs to the first partition netlist, and identifying a reusable data set in the object storage, wherein the reusable data set is the input data set for a second task from a second computational thread independent from the first task. 5. The computer-implemented method of claim 1 , wherein preparing an input data set for a first task in the computational thread comprises identifying a reusable data comprising at least one of an output data set or an input data set from a second task in a second computational thread. 6. The computer-implemented method of claim 1 , wherein scheduling an execution of the computational thread associated with a first partition netlist in the at least one computer comprises: forming a dependency tree associating the partition netlists with a plurality of computational threads, wherein each of the computational threads forms a branch in the dependency tree, the branch comprising a plurality of sequentially executed tasks; and assigning independent computational threads to separate computers available in a networked computer environment, wherein the networked computer environment comprises a plurality of computers. 7. The computer-implemented method of claim 6 , wherein scheduling an execution of the computational thread associated with the first partition netlist in the at least one computer comprises re-assigning at least one task on the computational thread to the at least one computer when a second machine in the networked computer environment is non-responsive. 8. The computer-implemented method of claim 6 , wherein preparing an input data set for a first task in the computational thread comprises making a plurality of copies of the input data set and providing one of the plurality of copies of the input data set to each of a plurality of computers executing parallel computational threads in the networked computer environment. 9. The computer-implemented method of claim 1 , wherein executing the first task in the computational thread associated with the partition netlist comprises determining an induced current in at least one circuit component from the partition netlist and determining an electromigration effect of the induced current in the at least one circuit component. 10. A system, comprising: a memory, storing computer code; and at least one processor that executes the computer code to: receive, from a circuit design tool, partition netlists of an integrated circuit in a partition scheduler of a characterization tool; schedule, by at least one computer within a networked computer environment, an execution of a computational thread associated with a first partition netlist of the partition netlists by the at least one computer; prepare an input data set for a first task of the computational thread in a slave application, and storing the input data set in an object storage, wherein the input data set comprises a plurality of input stimuli vectors for use as inputs to the first partition netlist; provide the input data set to the at least one computer; execute, by the at least one computer in the circuit design tool, the first task in the computational thread associated with the partition netlist; and restore a state of the computer in the characterization tool when the slave application in the object storage of the characterization tool is altered in the execution of the first task. 11. The system of claim 10 , wherein the at least one processor comprises a master processor in a master server and the at least one computer comprises a slave processor in a slave server, the master server and the slave server coupled through a network connection, wherein the master processor is configured to provide the slave processor with an initialization routine to execute at least one portion of the computer code, and to control an execution of the at least one portion of the computer code by the slave processor. 12. The system of claim 10 , wherein the at least one processor comprises a first processor configured to execute the first task in the computational thread and a second processor configured to execute a second task in a second computational thread, wherein the second task is independent from the first task. 13. The system of claim 10 , wherein the at least one processor comprises a first processor configured to execute the first task to generate an output data set, and a second processor configured to execute a second task in a second computational thread, wherein the second task includes an input dataset that is the output data set. 14. The system of claim 10 , wherein the at least one processor comprises a master processor and a slave processor coupled through a network connection, wherein the master processor is configured to provide the partition netlists from an integrated circuit netlist to the slave processor, and the slave processor executes at least partially the first task. 15. The system of claim 10 , wherein to prepare the input data set for the first task in the computational thread, the at least one processor executes computer code to identify a reusable data set in the object storage, wherein the reusable data set is the input data set for a second task from a second computational thread independent from the first task. 16. The system of claim 10 , wherein to prepare an input data set for a first task in the computational thread the at least one processor executes computer code to make a plurality of copies of the input data set and to provide one of the plurality of copies of the input data set to each of a plurality of computers executing parallel computational threads in the networked computer environment. 17. The system of claim 10 , wherein to schedule an execution of a computational thread associated with the first partition netlist the processor executes computer code
Design verification, e.g. functional simulation or model checking · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451) · CPC title
Physics · mapped topic
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.