• Keine Ergebnisse gefunden

Design of automatic patching systems for analog computers

Im Dokument SPRI NG JOI NT COMPUTER CONFERENCE (Seite 39-47)

by T. J. GRACON

Control Data Corp.

Sunnyvale, California and

J. C. STRAUSS

Carnegie-Mellon University Pittsburgh Pennsylvania

INTRODUCTION

Continued use of analog computers depends heavily on the discovery of ways to ease programming difficulties.

Many of these difficulties are caused by the existence of the analog patchboard and the necessity of hand patching every problem which is a very time consuming and error prone process. To save the program for future use involves storing the wired patch panel, requiring that each user has his own patch panel and wiring set. Providing these to each user is very costly.

The alternative to allowing each user to have his own patchboard requires that the program must be taken off the board and repatched every time a program run is desired. This too is costly since it requires duplicati~n of the initial set up and debugging ~ffort.

One often proposed method of eliminating these diffi-culties involves the building of a programmable switch-ing matrix. This automatic system would process a problem stated in some standard form, identify the set of switches in the matrix needed to interconnect the required set of analog components in the problem specified configuration, and cause the close of these

~witches to "patch" the problem. Because of the speed of digital switching and decoding devices, the setup time of each problem would be reduced enormously.

Storing of the analog program then becomes a matter of storing only a digital command sequence which can be done on inexpensive paper tape or cards.

In addition, the existence of an automatic patching system on an analog computer creates a new computing environment that offers possibilities for major changes in the use of analog machines. Batch processing becomes a distinct possibility. While one problem is being run

31

on the analog, the digital controller can be processing the next problem in preparation for setting it on the switching matrix. This foreground-background mode of operation should increase throughput significantly. The system can possibly be coupled as shown in Figure 1, with a hybrid programming language such as described in Reference 1. This problem oriented language will take a set of differential equations and from it generate a complete, properly scaled, analog patching diagram.

The combined system makes analog programming very similar to standard digital computer programming and, as a result, provides a new computing tool (the analog) to the approximately 80% of all scientific computer users with digital experience only.

OVERVIEW OF THE AUTOMATIC PATCHING SYSTEM DESIGN PROBLEM

The simplest design of the switching matrix would allow every component output to connect to every component input. Such a system could provide every conceivable connection asked of it. Unfortunately, the number of switches needed to implement this sample system tends to be so large that the cost of the switching matrix would far exceed the cost of the computer itself.

For example, there are "-'200,000 valid connections between analog components on the EAI 680. At $1.50 a switch, the cost of switches alone would be $300,000.

The economic constraint of requiring that the unit be moderately priced generates the problem that is considered in this work. The problem is basically to design a system that:

(1) Allows any component output to component input

32 Spring Joint Computer Conference, 1970

Analysis Problem

Switching Matrix'Design Switch enable commands

Solution

Figure I-A coupled automatic analysis-Automatic patching system

connection that might be required by an actual analog problem.

(2) Allows a sufficieI}.t number of connections to be made simultaneously so that significant class of actual analog problems can be solved.

(3) Generates the interconnections automatically with no interaction required by the user except to input initial data,

(4) Provides 1, 2, and 3, above at reasonable cost.

This total systems cost contains the hardware cost of the switching matrix and its associated activating sys-tem, the cost of designing and developing the control programming required to operate the system, the labor cost for doing the hardware design, and some measure of the price being paid to run problems on operating systems. Experienced designers realize that tradeoffs exist between these sections of the design. Putting most of the design effort into one area can reduce its associ-ated cost but tends to raise the complexity of the other sections and leads to a higher priced sys~em. A good design tries to consider the interaction between these design sections and attempts to reduce the total systems cost by evenly distributing the design effort over the entire system. The remainder of this paper considers the entire systems design and proposes a design pro-cedure that produces an efficient, economical, operating system.

DESIGN OF AN AUTOl\1ATIC PATCHING SYSTElVI

The automatic patching system is being designed to replace the process of hand patching. It follows then that the operations to be performed by the automatic system can be identified by noting the basic steps involved in hand patching. The user first translates his set of equations into a block diagram representation of the problem. A 3rd order differential equation and block diagram is shown in Figure 2. The block diagram begins to show a dependence on the particular

com-puter being used since the need to scale the, problem often requires that additional components be added.

Each element of the block diagram is then associated with a particular component on the analog. This process is called allocation in the remainder of the paper. The block diagram of Figure 2 is allocated to a small com-puter in Figure

3.

Once the allocation is performed, the specific points on the patch panel that must be inter-connected are known. Connecting these points together by inserting patch cords· into the proper holes completes the hand patching.

The automatic system must include the allocation of the problem of the board. As was mentioned earlier, this fixes the set of input-output connections to be pro-vided by the switching matrix. If the allocation program is not incorporated into the matrix design, problems may be allocated in such a way that the matrix cannot provide the needed connections and the system fails.

Automatic scaling and block diagram generation are more properly left to the hybrid language!,2 mentioned earlier.

The next operation by the automatic systems involves determining the set of switches in the matrix which, when closed, connect the specified inputs to their re-spective outputs. The difficulty of this switch determi-nation, or pathrouting, problem is, of course, dependent on the configuration of the switching matrix and must be considered in the systems design. Later in the paper the problem is more closely studied.

To date, investigators3- 6 have begun their designs

• it" +

ax

+ b~ + ex = 0

~ (0) .. k

i (0) .. 0 x (0) .. 0

Figure 2-Block diagram of 3rd order O.D.E:

by trying to determine the best switch configuration for their own computers. A reader of these works .quickly realizes that many potentially usable

configur-ations exist and faces the problem of selecting among them. What is obviously wanted is the configuration that provides the needed capacity at minimal cost. If a curve can be drawn for each system plotting the cost of the system vs. capacity (see Figure 4) then the decision can be made by determining the capacity re-quired by the user and simply selecting the least ex-pensive system for that capacity.

Many questions quickly arise, the most obvious being how is capacity measured? What happens if the least expensive system is the most difficult on which to perform the allocation and path-routing of problems?

Can a cost vs. capacity relation be found for each considered system?

The answer to the first question is found from con-sidering the function of the switching matrix, namely, to provide a certain number of connections between matrix inputs and matrix outputs. The capacity of a system is the number of simultaneous input/output connections it can provide. It then follows that the cost vs. capacity curves for each system can be al-ternately expressed in terms of cost as a function of the number of inputs, outputs, and connections re-quired. The actual functional relation depends on the organization of the considered system. Figure 5 presents

iE]

I

!~

I~

I

I

o

E1

o

El El

Figure 3-Allocation of 3rd order O.D.E. to a small computer

Design of Automatic Patching Systems 33

Cost

System 1

System 3

Capacity

Figure 4-Cost = number of switches

an example of determining a cost function for each system. Reference 6 develops· these functions for a variety of systems and indicates that such functions can generally be found. The allocation and path routing problems can be imbedded in the systems selection by considering them when determining the number of needed connections for each system. The way they should be considered is explained in the remainder of .the text.

The real system design problem exists only when the designer admits to the requirement for a multilevel switching matrix organization. As with most complex systems, progress can be made only when the system is divided into subsystems of reasonable conceptual size.

In addition, the tendency for the number of switches to increase as the square of the number of components indicates a significant cost savings can be realized by sectioning the system into smaller blocks of components with some means provided to interconnect these blocks.

In this case multilevel means that conceptually all possible connections are separated into different types (levels). An individual switching matrix is considered for each level. The switching organization for each level mayor may not be the same. An example clarifies this. An experienced analog user realizes that most connections tend to be made between elements located in close proximity to each other. Only a few connections

"reach" across the board. This strongly suggests a two level system, one level to provide connections locally within a small group of components (normally this group is called a module), and one level to provide con-nections globally between these groups (this level is

34 Spring Joint Computer Conference, 1970

Inputs (1)

'---v---J

Cost = ie + oe

= e(i + 0)

/ Line (e)

/ / v

Outputs (0)

Figure 5-Cost as a function of inputs, outputs, and connections for a concentrator-Expander system

called the intermodule system). This is in fact the system proposed in References 3-8 and will be the basis of the design implemented in this paper.

Now a real design problem exists since the designer can share the required capacity over the two levels in some manner. This provides the designer with the means of generating a cost/effectiveness tradeoff via parameters under his control. The following definitions help to quantify this idea.

Let

Tk,z = total cost system using organization (k) intra-module and organization (l) inter-module

Ck = cost of intramodule system (k) Cz = cost of intermodule system (l)

Ok, ik, Ck

=

outputs, inputs, and connections of intra-module system (k)

Oz, iz, Cz

=

outputs, inputs, and connections of inter-module system (l)

Then

(1) The 6 variables of Fk,z are known to be related because the sum of the capacities of each level is equal to the total required capacity. The multilevel design then con-sists of determining the natural relations that exist among these variables (which includes proper allowance for the allocation and path routing problems). Once these relations are known, the cost function can be expressed as a function of one variable, a, (the meaning of, a, will become clear later):

Tk,z = Tk,Z(a)

Reducing the cost functions to single variable func-tions makes the minimization easier to intuitively visualize. Experience, and the discussion to follow

sup-ports this approach. The design can be stated as an optimization process in which the objective is to:

minimize Tk,Z(a)

k,Z,a

This is shown graphically in Figure 6. Simply speaking this means pick the lowest cost system. Where this system reaches its minimum is the optimal value of

"a" which trough the relations above leads to the best values of the 6 variables in Equation. Knowing the system (k, l) and values of those variables in effect completes the design.

Phase I of the design-M odular relations

Accumulated experience in analog computer pro-gramming has shown that components tend to be inter-connected in certain basic patterns. It is unnecessary for every component to directly connect to every other . component in that the probability of specific

connec-tions decreases rapidly with increasing intercomponent distance. Thus, by physically locating together the components that are most likely to be used together, programming efficiency will be increased. These group-ings of components are called modules. The component composition of the modules is critical to the design.

All proposed designs to date have been built around symmetric modules. Attempts at designing around non-identical modules have failed to produce a design that can handle more than a limited class of problems. 3

Cost

il

Tl,l - best system

• • 18 best module size for system Tn

Figure 6

Within the framework established in this paper, the decision to make all modules have identical component composition (be symmetric) proves to be a wise one.

Knowing that all modules are identical means that the number of switching matrix inputs and outputs, on gives· the complement/module. The number of inputs and outputs of this set of elements is known from 0 b-serving them on the computer. These two facts make it possible to determine the number of inputs and outputs to the intramodule switching matrix as a function of,

a,.

The number of inputs and outputs to the intermodule system depends on the number and type of components in a module, and the number of modules, all of which can be expressed explicitly as a function of the number of modules. Reference 6 does this for a large number of systems. The net effect is to reduce the total cost function of Equation 1 from 6 variables to 3.

(2) Phase I I of the design-Relating the number of connections needed to the number of modules

Once the number of connections (Ck' Cl) are related to the number of modules on the computer, Equation 2, can be reduced to a function of one variable and the cost function minimized. These connection numbers (Ck' Cl) specify the capacity needed in the intra- and intermodule systems. A measure of this capacity should be discoverable by analyzing a particular users needs.

Specifically if a user provides a set of problems which typify the connection requirements of his particular computing work, then these typical problems can hope-fully be analyzed in some sensible way to yield Ck(a) , situations. Since the automatic patching system prob-lem is still in its infancy this analysis hasn't yet been done. As a result, it seems reasonable to begin by con-sidering one user at a time, instead of a larger group).

Earlier it was indicated that, after a problem is allocated to the board, all connections are known. Thus allocating a problem to a board with a modular organi-zation generates a distribution of connections within and between modules. This distribution can be found by simply counting the inter- and intramodule con-nections. If the same problem is again allocated to the

Design of Automatic Patching Systems 35

board now divided into a different number of modules, the connection statistics become dependent to some degree on the number of modules. Allocating each problem to the board under all possible modular sec-tionings produces a set of data that relates the number of connections needed to the number of modules used.

The method of determining this relation is discussed next.

The method of allocating the problems to the board should now be clearly specified. A given problem can be allocated to the patch board either by hand or automatically through an allocation program. In an operating automatic patching system the allocation will be done automatically, implying that any allocation generated statistics used in the design should result from automatically allocating the typical problems. If the switching matrix was designed around hand allo-cation statistics, the system might fail to handle prob-lems that are automatically allocated to it unless the hand and automatic allocation schemes are remarkably similar.

Intuitively, the allocation algorithm should attempt to put a problem on the board in a way that minimizes the number of intermodule crossovers. The reason for this is simply that if· a connection is kept within a module, the number of points to which it may connect is significantly smaller (and thus less costly in switches) than the number of points on the remainder of the board. The algorithm should also attempt to keep the problem in as small a fraction of the board as possible to allow the remainder of the board to be used for some other purpose. The generation of such an algorithm is considered in the next section.

Once the allocation algorithm is implemented it can be applied to the typical problems. For each problem the maximum number of connections within a module and the largest number of inputs or output/module for each modular sectioning of the board is recorded. A worst case loading problem is synthesized from these tables by selecting the largest value of each parameter over the problem set. Figure 7 shows an example taken from Reference 7. The first line says simply that when

Figure 7-Example of a worst case problem

36 Spring Joint Computer Conference, 1970

the computer was divided into 18 modules the largest number of connections needed (over all typical prob-lems) within a module was 14 and the largest number of inputs and outputs/module was 5. References 6,7 further explain this worst case problem concept.

The worst' case problem relates in a tabular way, the inter- and intramodule connection capacity re-quired to the number of modules. _ Equation (2) min now be evaluated for all values of Ck, Cl at allowable values of a. The minimum cost system is selected.

The value of, a, where the minimum occurs is the optimal module size. Knowing the number of modules specifies the module size and component composition.

The values of Ck and Cl are determined by using the values in the worst case problem that correspond to the selected number of modules.

Cornpleting the design-Concerns about routing

The design is nearly complete. The least costly system-for each level and its critical design parameters have been identified. Allowance has been made for the diffi-culty of implementing the automatic allocation by implementing the allocation algorithm first, then pro-viding sufficient capacity in the switching matrix to guarantee that the two will operate properly when combined. Until this point no particular effort has been made to incorporate the path routing problem into the design process. The path routing problem results from using a switching configuration that provides anything other than exhaustive interconnection between inputs and outputs. The problem is completely dependent on the switching configuration used and, as a result, cannot be considered in general (as was the allocation program).

Each system must be examined individually to de-termine if an effective routing algorithm can be found for it. The way to proceed is obviously to list the systems in order of increasing cost. The least expensive system is examined first. If no workable, or easily

Each system must be examined individually to de-termine if an effective routing algorithm can be found for it. The way to proceed is obviously to list the systems in order of increasing cost. The least expensive system is examined first. If no workable, or easily

Im Dokument SPRI NG JOI NT COMPUTER CONFERENCE (Seite 39-47)