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:
EMBEDDED Distribution of EMBEDDABLE functions
This type of distribution covers two different types of target architectures.
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:
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.
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.