Example 1, QR

Look here for the description of the actors (when in XML, use Microsoft Explorer to best view this file)

The Process Network description as it is generated by Panda. It shows the Vergil editor of Ptolemy II. The network is generated in MoML, the XML modeling language developed at UC Berkeley.

The nodes ND_1 until ND_5 are the actors and the edges between these actors represent the unbounded FIFO buffers. Below each Node, the number of firings of the Node is given. So, for example, node ND_1 fires 136 times and node ND_3 fires 16000 times. The numbers associated with the edges, represent the number of tokens communicated between the Nodes. Therefore, for example, node ND_1 communicated with node ND_3 16 tokens. In addition, node ND_3 has a self-dependency over which 15984 tokens are communicated.

 

The values given on the edges and nodes are found either by simulation, or by evaluating polynomial expressions. If a dynamic model was created by Panda, the values are found by simulation. If a static model was created by Panda, the values are found by evaluating an Ehrhart polynomial. The evaluation of the polynomial is done by the parameter evaluation mechanism present in Ptolemy II.

Below, we see the original parameters N and K, as defined in the original Matlab program. If we change the parameter values, the Ehrhart polynomials are being re-evaluated, given the new firing and communication values very quickly.

However, to allows a designer to quickly show where the hot-spots are in a program, the edges and nodes are colored according to a color scheme running from blue to red in 15 different color shades. A blue color means, "cool". It indicates that a node is fired only a few times and that edge carries only a few tokens as communication load. Alternatively, the red color means "hot". It indicates the actors that are invoked most of the time. In case of the edges, the red color indicates the edges that carry the largest communication load during execution.

Therefore, given the Process Network below, we see that only node ND_4 executes many times compared to the other nodes. Given the problem of deciding which part should run on the microprocessor and which on a dedicated coprocessor, the color scheme helps to make this decision. The blue nodes are placed on the Microprocessor and the red node is placed on a coprocessor. The blue edges can be mapped to a low-to-medium bandwidth communication structure and the red edges need to map to a high-bandwidth communication structure. Because red edges only appear as self-dependencies of node ND_4, it can be restricted to local communication of the ND_4 coprocessor.