Example 2, Faddeev

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_9 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 40804 times and node ND_3 fires 5050 times. The numbers associated with the edges, represent the number of tokens communicated between the Nodes. Therefore, for example, node ND_5 communicates with node ND_9, 99 and 4851 tokens. The thicker blue lines indicate that a broadcast takes place. This means data is communicated from a node, for example ND_2 to ND_5, and node ND_5 will reuse this data a couple of times.

 

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.

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_6, ND_8 and ND_7 execute 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 nodes are placed onto coprocessors. The blue edges can be mapped to a low-to-medium bandwidth communication structure and the red edges need to be mapped to a high-bandwidth communication structure. The red edges appear many between the red colored nodes. So, they are typically mapped onto the programmable interconnect between the coprocessors for ND_6, ND_7, and ND_8.