« PreviousContinue »
hensive survey of computer simulation languages and applications, with tables of comparative characteristics, as of 1966.7.26 In addition, IBM has provided a bibliography on simulation, also as of 1966.
Again, as in the area of graphic input manipulation and output, the field of effective simulation has specific R & D requirements for improved and more versatile machine models and programming languages. Clancy and Fineberg suggest that "the very number and diversity of languages suggests that the field (of digital simulation languages] suffers from a lack of perspective and direction.” (1965, p. 23).
The area of improved simulation languages is one that has a multiple interaction between software and hardware, especially where a computer is to be used to simulate another computer, perhaps one whose design is not yet complete 7.27 or to simulate many different scheduling, queuing and storage allocation alternatives in time-shared systems (see, for example, Blunt 1965). Such problems are also discussed by Scherr (1965) and by Larsen and Mano (1965), among others, while Parnas (1966) describes a modification of ALGOL (SFD-ALGOL, for “System Function Description") applicable to the simulation of synchronous systems.
However, there are difficult current problems in that languages such as SIMSCRIPT do not take advantage of the modularity of many processing systems, that conditional scheduling of sequences of events is extremely difficult 7.28 and that “we are still plagued by our inability to program for simul. taneous action, even for the scheduling of large units in a computing system.” (Gorn, 1966, p. 232).
In addition, for simulation and similar applications, heuristic or ad hoc programming facilities may be required. Thus, “a computer program which is to serve as a model must be able to have well-organized yet manipulatable data storage, easily augmentable and modifiable. The program must be self-modifying in a similarly organized way. It should be able to handle large blocks of data or program routines by specification of merely a name." (Strom, 1965,
, p. 114.)
For simulations or testings with controls, and without discernible interruption or reallocation of normal servicing of client processing requests, compilers must be available that will transform queries expressed in one or more commonly available customer languages to the language(s) most effectively used by the substituted experimental system and to the format(s) available in a master data base.
Then there are problems in the development of an appropriate “scenario”, or sequence of events to be simulated.7.29 Burdick and Naylor (1966) provide a survey account of the problems of design and analysis of computer simulation experiments.
The problems of effective simulation of complex, interdependent processes
another area of increasing concern. Suppose, for example, that we are seeking to simulate a process in which many
separate operations are carried out concurrently or in parallel, and that the simulation technique requires a serial sequencing of these operations. Depending upon the choice of which one of the theoretically concurrent operations is processed first in the sequentializing procedure, the results of the simulation may be significantly different in one case than in another. 7.30
For example, the SL/1 language being developed at the University of Pisa under Caracciolo di Forino (1965) is based in part on SOL (Simulation-Oriented Language, see Knuth and McNeley, 1964) and in part on SIMULA (the ALGOL extension developed by 0. J. Dahl, of the Norwegian Computing Center, Oslo).7.31 A second version, SL/2, now under development, will provide self-adapting features to optimize the system. Caracciolo emphasizes that, for any set of deterministic processes that are to be applied simultaneously, but where problems of incompatibility may arise, the problems can be reduced to a set of probabilistic processes. Otherwise, if one sequentializes parallel, concurrent processes actually dependent upon the order of sequentialization, then hidden problems of incompatibility may vitiate the results obtained.
Despite difficulties, however, progress has been and is being made. Thus computer simulation has been investigated as a means of system simulation for determination of probable costs and benefits in advance of major investments in equipment or procedures.7.32 Then, as reported by Gibson (1967), simulation studies have been used to determine that block transfers of 4 to 16 words will facilitate reduction of effective internal access times to a few nanoseconds. Other programs to simulate digital data processing, time-shared system performance, and the like, are discussed by Larsen and Mano (1965) and by Scherr (1965). Simulation studies in terms of multiprocessor systems are represented by Lindquist et al. (1966) 7.33 and by Huesmann and Goldberg (1967).7.34
Other advantages from research and development efforts to be anticipated from computer simulation experiments are those of transfer of applications from a given computer to another not yet installed or available,7.35 advancements in techniques of pictorial data processing and transmission, 7.36 advance appraisals of performance of time-shared systems,7.37 and investigations of probable performance of adaptive recognition systems.7.38
Finally, we note prospects for system simulation as a means of evaluation and of redesign, including the alteration of scheduling priorities to meet changing requirements of the system's clientele. Three examples from the literature are as follows: (1) “Use of a simulator permits the installation to
continue running its programs as reprogramming proceeds on a reasonable schedule. "
(Trimble, 1965, p. 18). (2) “Effective response time simulation can be
easily modified to provide operating costs of
retrieval." (Blunt, 1965, p. 9). (3) “When large systems are being developed
another set of programs is involved to perform a function not required for simpler situations. These are the simulation and analysis programs for system evaluation and for semiautomated systems having a human com
ponent - system training.” (Steel, 1965, p. 232). On the other hand, as Davis warns: “It is obvious that there is some threshold beyond which the real environment is too complex to permit meaningful simulation.” (1965, p. 82). For the future, therefore, a system of multiple-working-hypotheses might well
be developed: “The benefits and drawbacks of empirical data gathering vs. simulation vs. mathematical analysis are well documented. What we would really like to be able to do is a little of all three, back and forth, until our gradually increasing comprehension of the problem becomes the desired solution." (Greenberger, 1966, p. 347). Similarly, it may be claimed that simulation models “... often cumbersome and difficult to adapt to new configurations, with results of somewhat uncertain interpretation due to statistical sampling variability. Ideally, simulation and analytic techniques should supplement each other, for each approach has its advantages." (Gaver, 1967, p. 423).
As we have seen, major trends in input/output, storage, processor, and programming design relate to multiple access, multiprogrammed, and multiprocessor systems. On-line simulation, instrumentation, and performance evaluation capabilities are necessary in order to effectively measure and test proposed techniques, systems, and networks of broad future significance to improved utilization of automatic data processing techniques.
We may therefore close this report on overall system design considerations with the following quotations:
(1) “In rating the completeness, clarity, and
simplicity of the system diagnostics, command language and keyboard procedures, we found their 'goodness' was inversely related to the running efficiency of the system .. System developers should examine this condition to determine whether inefficient execution is an inherent feature of system[s] supplying complete and easily understood diagnostics, or a function of the specific interests and prejudices of the developers." (O'Sullivan, 1967, p. 170).
(4) "Today, and to an greater extent
tomorrow, the use of multiple functional units within the information processing system, the multiplexing of input and output messages, and the increased use of software to permit multiprogramming will require more subtle measures to evaluate a particular system's perform
a ance." (Nisenoff, 1966, p. 1828.) (5) “Broad areas for further research are indi
cated . . . Comparative experimental studies
classes of programming tasks.” (Sackman et al., 1968,
p. 10), and (6) “Improved methods of simulation, optimizing
techniques, scheduling algorithms, methods of dealing with stochastic variables, these are the important developments that are pushing back the limits of our ability to deal with very
large systems.” (Harder, 1968, p. 233.) Finally we note that the problems of the information processing system designer, then, are today aggrevated not only by networking, time-sharing, time-slicing, multiprocessor and multiprogramming potentialities, but also by critical questions involving the values and the costs of maintaining the integrity of privileged files. By the terminology “privileged files”, we suggest the interpretation of all data stored in a machine-useful system that may have varying degrees of privacy, confidentiality, or security restrictions placed upon unauthorized access. Some of the background considerations affecting both policy and design factors will be discussed in the next report in this series.
(2) “An engineer who wishes to concern himself
with performance criteria in the synthesis of new systems is frustrated by the weakness of measurement of computer system behavior."
(Estrin et al., 1967, p. 645.) (3) “The setting up of criteria of evaluation ...
demands user participation and provides an indication of whether the user understands the reason for the system, the role of the system and his responsibilities as a prospective system user.” (Davis, 1965, p. 82.)
Appendix A. Background Notes on Overall System Design Requirements
In this Appendix we present further discussion and background material intended to highlight currently identifiable research and development requirements in the broad field of the computer and information sciences, with emphasis upon overall system design considerations with respect to information processing systems. A number of illustrative examples, pertinent quotations from the literature, and references to current R and D efforts have been assembled. These background notes have been referenced, as appropriate, in the summary text.
1.1 There are certain obvious difficulties with In general, controversial opinions expressed or respect to the organization of material for a series of implied in any of the reports in this series are the reports on research and development requirements sole responsibility of the author(s) of that report and in the computer and information sciences and tech- are not intended in any way to represent the official nologies. These problems stem from the overlaps policies of the Center for Computer Sciences and between functional areas in which man-machine Technology, the National Bureau of Standards, or interactions of both communication and control the Department of Commerce. However, every are sought; the techniques, tools, and instrumenta- effort has been made to buttress potentially controtion available to achieve such interactions, and the versial statements or implications either with wide variety of application areas involved.
direct quotations or with illustrative examples from The material that has been collected and reviewed the pertinent literature in the field. to date is so multifaceted and so extensive as to It is especially to be noted that the referrequire organization into reasonably tractable ences and quotations included in the text of this (but arbitrary) subdivisions. Having considered report, in the corroborative background notes, or in some of the R and D requirements affecting specific the bibliography, are necessarily highly selective. Boxes shown in Figure 1 (p. 2) in previous reports,
Neither inclusion nor citation is intended in any we will discuss here some of the overall system way to represent an endorsement of any specific design considerations affecting more than one of commercially available device or system, of any the processes or functions shown in Figure 1.
particular investigator's results with respect to those Other topics to be covered in separate reports in of others, or of the objectives of projects that are this series will include specific problems of informa- mentioned. Conversely, omissions are often intion storage, selection and retrieval systems and the advertent and are in no sense intended to imply questions of maintaining the integrity of privileged adverse evaluations of products, materials and files (i.e., some of the background considerations media, equipment, systems, project goals and with respect to the issues of privacy, confidentiality, project results, or of bibliographic references not and/or security in the case of multiply-accessed, included. machine-based files, data banks, and computer- There will be quite obvious objections to this communication networks).
necessary selectivity from readers who are also In general, the plan of attack in each individual R & D workers in the fields involved as to the reprereport in the series will be to outline in relatively sentativeness of cited contributions from their own short discursive text the topics of concern, sup- work or that of others. Such criticisms are almost plemented by background notes and quotations and inevitable. Nevertheless, these reports are not by an appendix giving the bibliographic citations of intended to be state-of-the-art reviews as such, but, quoted references. It is planned, however, that there rather, they are intended to provide provocative will be a comprehensive summary, bibliography, suggestions for further R & D efforts. Selectivity and index for the series as a whole.
must also relate to a necessarily arbitrary cut-off Since problems of organization, terminology, and date in terms of the literature covered. coverage have all been difficult in the preparation of These reports, subject to the foregoing caveats, this series of reports, certain disclaimers and obser- are offered as possible contributions to the undervations with respect to the purpose and scope of this standing of the general state of the art, especially report, its necessary selectivity, and the problems with respect to long-range research possibilities in a of organization and emphasis are to be noted. Ob- variety of disciplines that are potentially applicable viously, the reviewer's interests and limitations will to information processing problems. The reports emerge at least indirectly in terms of the selectivity are therefore directed to a varied audience among that has been applied.
whom are those who plan, conduct, and support
research in these varied disciplines. They are also addressed to applications specialists who may hope eventually to profit from the results of current research efforts. Inevitably, there must be some repetitions of the obvious or over-simplifications of certain topics for some readers, and there must also be some too brief or inadequately explained discussions on other topics for these and other readers. What is at best tutorial for one may be difficult for another to follow. It is hoped, however, that the notes and bibliographic citations will provide sufficient clues for further follow-up as desired. The literature survey upon which this report is based generally covered the period from mid-1962 to mid1968, although a few earlier and a few later references have also been included as appropriate.
1.2 Certain features of the information flow and and process schema of Figure 1 are to be noted. It is assumed, first, that the generalized information processing system should provide for automatic access from and to many users at many locations. This implies multiple inputs in parallel, system
interruptibility, and interlacings of computer programs. It is assumed, further, that the overall scheme involves hierarchies of systems, devices and procedures, that processing involves multistep operations, and that multimode operation is possible, depending on job requirements, prior or tentative results, accessibility, costs, and the like.
It should be noted, next, that techniques sug. gested for a specific system may apply to more than one operational box or function shown in the generalized diagram of Figure 1. Similarly, in a specific system, the various operations or processes may occur in different sequences (including itera. tions) and several different ones may be combined in various ways. Thus, for example, questions of remote console design may affect original item input, input of processing service requests, output, and entry of feedback information from the user or the system client. The specific solutions adopted may be implemented in each of these operational areas, or combined into one, e.g., by requiring all imputs and outputs to flow through the same hardware.
2. Requirements and Resources Analysis
2.1 “The single information flow concept is input-oriented. The system is organized so that essential data are inserted into a common reservoir through point-of-origin input/output devices. User requirements are then satisfied from this reservoir of fundamental data about transactions.
"Thus, the single information flow concept is characterized by random entry of data, direct access to data in the system, and complete real-time processing . . . fast response, a high degree of reliability, and an easily expansible system.” (Moravec, 1965, p. 173).
2.2 “In a highly distributed system, however, information on inputs to the organization flow directly to relatively low-level way stations where all possible processing is done and all actions are taken that are allowed by the protocol governing that level. In addition to the direct actions that it takes, the lowest, or reflexive, level of information processing ordinarily generates two classes of information. These are, first, summaries of actions taken or anticipated and, second, summaries of information inputs that, because of their type, salience, or criticality, fall outside the range of action that policy has established as appropriate for that level. ...
“In computer terms, a highly distributed system involves a primary executive program that adds and subtracts subroutines to various primary libraries from which alternative subroutines are to be drawn and combined. Secondary executive programs, responding to separate inputs and conditions, select and organize subroutines from each of these primary libraries and add and subtract subroutines to various secondary libraries from which tertiary executive programs select alternative subroutines for use at
their level and for controlling the library one level down, and so forth. The flexibility of a distributed system is an outgrowth of the ability of each of the lower executive programs to organize its program on the basis of separate inputs reaching it directly.” (Bennett, 1964, pp. 104-106).
"By a distributed implementation of an information service system we mean that the data processing activity is carried out by several or many installations. The data base is now distributed among the installations making up the information network for this service system ...
"The distributed information network should offer considerable advantage in reducing the cost of terminal communications by permitting installations to be located near concentrations of terminals." (Dennis, 1968, p. 373).
2.3 “A large number of factors (user communi. ties, document forms, subject disciplines, desired services, to name but a few) compete for the atten. tion of the designer of information service systems. A methodology for the careful organization of these factors and the orderly consideration of their relationships is essential if intelligent decisions are to be made.” (Sparks et al., 1965, pp. 1–2).
“The lack of recognition of the nature and even, in some cases, the existence of the problems facing the information systems designer has meant that there has been little or no orderly development of generally agreed upon system methodology. " (Hughes Dynamics, 1964, p. 1–7).
“To the best of our knowledge, no one has yet developed a completely satisfactory theory of information processing. Because there is no strong theoretical basis for the field, we must rely on intuition, experience and the application of heuristic