next up previous contents
Next: 6 Queue Data Structures Up: Appnotes Index Previous:4 Concept of State

RASSP Data Flow Graph Design Application Note

5.0 Memory Management

In a DF environment, the queues perform the function of local data buffering. In a practical DSP implementation, buffers must be sized so the implementation of the queues will have sufficient size to provide for the maximum expected size of the queue. If a selected set of the queues are sized too small, as the DF graph is being executed, there will be blockage at the output of the node and this blockage will be propagated upward to the beginning of the graph. This blockage will affect the timeline by preventing execution of certain of the nodes. The expedient of allocating larger storage for the queues to prevent this blockage, trades between storage requirements and execution times. As the execution time decreases on the down stream nodes this will allow the downstream data to be removed faster and thus unblocking the upstream queues.

There are other design techniques that can help reduce the required memory such as, small packet sizes and additional parallelization. In the former case, the small packet size will allow a reduction in the queue length since the maximum size of the queue required for operation of the graph is usually a multiple of the packet size. Reducing the packet size reduces the maximum queue size required. Adding more paths through the graph as a result of additional parallelization of the graph will decrease the time it takes the total graph to execute thus cutting down the data that must be stored in the graph to complete a full cycle of the graph execution. Parallelization will reduce the data storage and sizes of the queues in the graph.

5.1 Allocating Queue Sizes

Peak sizes of the queues and hence the memory required for the graph is a dynamic quantity . This can usually be determined by a performance simulation of the DF graph. Using GEDAE™, the graph is run and the peak value of all the queues can be recorded and the memory allocation required can be determined.

next up previous contents
Next: 6 Queue Data Structures Up: Appnotes Index Previous:4 Concept of State

Approved for Public Release; Distribution Unlimited Dennis Basara