WORKSTATION Distribution of HOST functions

For transferring data between workstations connected together by a network, Gedae uses system level calls, which resolves to the socket. Gedae also assumes that a minimum amount of system memory (32M minimum, 64M preferred) is available. By limiting these selections, "drag-and-drop" and "button" distribution is possible. These limitations typically do not reduce the execution capability of the application. Most workstations do not have multiple types of memory (cache excluded). The data transfer between machines is typically on ethernet. Some applications may suffer because of the network transfer speed, but the user has little choice besides custom hardware; which can be accomodated. For trade-offs, we are giving up almost nothing and getting simplicity, ease, and flexibility.

An application's distribution cannot be changed while the graph is executing. The execution must be stopped, and then the application can be distributed. When distributing, the state information and any intermediate results are also moved to the new execution location. By doing this, the user can "continue" the execution from the point at which it was stopped. This is convenient since applications do not have to be restarted either losing available results or requiring their recalculation.

Workstation distribution is accomplished in several different ways. Common to all the methods the first requirement is to start a kernel of Gedae running on each workstation server that you wish to use. The menu option Utilities Start Server… is used for starting kernels on networked workstation servers. See Users Manual Appendix A.5.2. You should then select the Utilities View Server Key… menu item. The "Server Key" window displays the available workstations, the executable name on that workstation and the color code identification for that workstation/executable combination.

The process of mapping a function to a workstation is accomplished by:

  1. Have the "Server Key" dialog open. On the canvas, move the cursor into the function you wish to map. Press the middle mouse button and drag the cursor icon into the targer workstation's color code in the "Server Key" window. Release the mouse button.
  2. Have the "Server Key" dialog open. Open View Mapping Table… Move the cursor into the function's name entry in the "Mapping Table" window. Press the middle mouse button and drag the cursor icon into the targer workstation's color code in the "Server Key" window. Release the mouse button.
  3. Open the function's "Box Information" dialog. In the "Mapping" section is a button titled "Server:" Move the cursor into that button and select the processor from the list.

EMBEDDED Distribution of EMBEDDABLE functions

This type of distribution covers two different types of target architectures.

  1. A single workstation containing multiple processors.
  2. A multiple DSP board system in a VME or PCI chassis.

The method for distributing an application to either of the above systems is the same. This discussion assumes that you have read the manual and are familar with the concept of "groups". The purpose for embedding an application is typically to get better execution performance. Much more control over operating characteristics is needed to achieve better performance. The basic philosophy is to give the application engineer all the power of an assembly programmer, but remove the mundane "bit counting." Make the capability powerful, yet as easy to use as possible.

As a result there are a lot of choices that can be made to optimize an application. Many of these choices have default values. This means you can get into as many or as few of the details as you wish. One major benefit is that these choices are easy to change.

Some basic rules and guidelines:

  1. By default, there is a minimum of one partition.
  2. Only one partition can be mapped to a processor.
  3. The default group and partition firing granularity is 1 and the minimum threshold is 64.

You have control of the application's distribution using the Options Group Control… dialog. This dialog is the control panel for optimizing embedded applications. The steps to take in distributing an embedded application are listed below. For a description of any step please refer to the manual.

  1. Partition the embeddable group into smaller execution units. (optional)
  2. Map each partition to a processor.
  3. Select the method of data transfer (optional)
  4. Set firing granularities (optional)
  5. Set Queue capacities (optional)
  6. Set schedule parameters (optional)
  7. Select scheduling options (optional)
  8. Set static subgroup options (optional)
  9. Set queue policy. (optional)

After all selections are made you can view the automatically generated "Static Schedules". These are generated by pressing either the Group Control Display Schedules button (which displays ALL the schedules) or in the Group Control Set Schedule Parameters… Options menu. This last method opens only selected schedules for display.

Return to the main page