Modeling of a multiprocessor system
First Claim
1. One or more non-transitory computer-readable media comprising:
- one or more instructions that, when executed, cause at least one computing device to;
receive information related to a plurality of processors contained in a multi-processing environment and parameters of the multi-processing environment;
receive information related to a functional model, wherein the functional model includes a plurality of processes to be performed;
create a deployment model from the functional model, where;
the deployment model comprises a plurality of processing units for carrying out processing of the processes of the functional model and referencing a plurality of sub-models from the functional model,a processing unit of the deployment model represents a processor contained in the multi-processing environment,the plurality of processes included in the functional model are distributed to the plurality of processing units of the deployment model for being executed by the plurality of processing units when the deployment model executes;
automatically calculate a measure of complexity of the deployment model based on processing characteristics of the plurality of processors and characteristics of an inter-process communication channel interconnecting the plurality of processing units, where;
the processing characteristics of the plurality of processors are determined using the information related to the plurality of processors contained in the multi-processing environment and the parameters of the multi-processing environment;
determine that the automatically calculated measure of complexity fails to satisfy a user-set criteria; and
re-distribute the plurality of processes to the plurality of processing units upon determining that the calculated measure of complexity fails to satisfy the user-set criteria.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for modeling a multiprocessor system in a graphical modeling environment. The multiprocessor system may include multiple processing units that carry out one or more processes, such as programs and sets of instructions. Each of the processing units may be represented as a node at the top level of the model for the multiprocessor system. The nodes representing the processing units of the multiprocessor system may be interconnected to each other via a communication channel. The nodes may include at least one read element for reading data from the communication channel into the nodes. The node may also include at least one write element for writing data from the nodes into the communication channel. Each of the processing unit can communicate with other processing unit via the communication channel using the read and write elements. Code may be generated to simulate each node and communication channel in the modeled multiprocessor system. The generated code may then be executed to simulate the model. Based on the results of the simulation, one or more processes may be automatically reassigned to nodes within the model to optimize the performance of the model.
23 Citations
18 Claims
-
1. One or more non-transitory computer-readable media comprising:
one or more instructions that, when executed, cause at least one computing device to; receive information related to a plurality of processors contained in a multi-processing environment and parameters of the multi-processing environment; receive information related to a functional model, wherein the functional model includes a plurality of processes to be performed; create a deployment model from the functional model, where; the deployment model comprises a plurality of processing units for carrying out processing of the processes of the functional model and referencing a plurality of sub-models from the functional model, a processing unit of the deployment model represents a processor contained in the multi-processing environment, the plurality of processes included in the functional model are distributed to the plurality of processing units of the deployment model for being executed by the plurality of processing units when the deployment model executes; automatically calculate a measure of complexity of the deployment model based on processing characteristics of the plurality of processors and characteristics of an inter-process communication channel interconnecting the plurality of processing units, where; the processing characteristics of the plurality of processors are determined using the information related to the plurality of processors contained in the multi-processing environment and the parameters of the multi-processing environment; determine that the automatically calculated measure of complexity fails to satisfy a user-set criteria; and re-distribute the plurality of processes to the plurality of processing units upon determining that the calculated measure of complexity fails to satisfy the user-set criteria. - View Dependent Claims (2, 3, 4)
-
5. A computer-implemented method comprising:
-
receiving, using a computing device, a functional model of a multi-process system in a graphical modeling environment, the functional model including a plurality of functional units; decomposing, using the computing device, the plurality of functional units of the functional model into a plurality of sub-models in a decomposed model, where; each sub-model is assigned to at least one process of the multi-process system for being executed by the at least one process when the multi-process system executes, and at least two of the sub-models communicate with each other; creating, using the computing device, an inter-process channel (IPC) model for representing dynamics of reading and writing operations between the at least two communicating sub-models; and calculating, using the computing device, a measure of complexity of the decomposed model as a function of processing characteristics of one or more processes of the multi-process system and characteristics of the IPC channel model. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A device comprising:
-
a processor executing one or more instructions for; enabling a user to create a functional model for a multi-process system; decomposing the functional model into a decomposed model including a plurality of sub-models which read and write data over communication channels, wherein a first sub-model and a second sub-model of the plurality of sub-models comprise at least one common further sub-model; assigning a sub-model of the functional model to one of processors associated with the multi-process system; calculating a measure of complexity of the decomposed model as a function of processing characteristics of the processors associated with the multi-process system and characteristics of the communication channels; optimizing the functional model by reassigning one or more sub-models to different processors; generating code to simulate each sub-model and each communication channel, where the generating includes; generating code for the at least one common further sub-model when generating code for the first sub-model, reusing the generated code for the at least one common further sub-model when generating code for the second sub-model; executing the generated code for each sub-model and each communication channel in order to simulate the functional model of the multi-process system; and evaluating the simulated functional model of the multi-process system. - View Dependent Claims (12, 13)
-
-
14. A computing device comprising:
-
a memory storing instructions for implementing an interface to enable a user to; create a functional model for a multi-process system in a graphical modeling environment, and enter weights associated with operating parameters of the multi-process system; and a processor; executing a decomposition engine to decompose the functional model into a plurality of sub-models that communicate over communication channels, a sub-model includes at least one process of the multi-process system, and a communication channel represents dynamics between communicating sub-models, and the decomposition engine creates the sub-models based on an analysis and optimization of the operating parameters of the multi-process system; creating a deployment model from the sub-models; and calculating a measure of complexity of the deployment model as a function of processing characteristics of one or more processes of the multi-process system and characteristics of the communication channels. - View Dependent Claims (15, 16, 17, 18)
-
Specification