Communications And System Architecture
Dr. Lawrence G. Roberts
In order to continue to make significant progress during the next decade in the information-processing field it is imperative that we be able to build on the totality of resources previously developed rather than rebuild everything for each new computer. More and more of our effort is being consumed in the duplication or translation of previous work. Also, since each center currently must store locally all the data it utilizes, our file storage requirements are growing exponentially. Thus the need and challenge is to find techniques which permit us to pool our software, hardware and data resources. Translators which permit the easy transfer of software and data between machines are helpful but do not stop the data storage explosion. Centralizing all computer activity onto one huge machine would solve the sharing problem but would drastically reduce the computing capability and flexibility available. A network of computers, on the other hand, does not inherently limit the flexibility or capability of the individual computer systems yet it permits very effective resource sharing.
The communication system developed for the ARPA Network provides sufficient reliability and responsiveness, at a reasonable cost, to make possible extremely effective resource sharing between geographically separated computer systems. The implication of resource sharing to the system architecture of the individual nodes in a computer network is currently being investigated. This paper describes some of the initial concepts which may affect computer system architecture in the future.
Currently, computer systems tend to concentrate all the resources required for the local users into one all-encompassing computer system. With an effective computer network, however, the system resources required to perform a given job need not be integrated into one system but can be distributed throughout the network. In general the services provided by a normal computer system can be broken into three major categories: terminal support, numerical processing and file services. Terminal support normally includes those functions which are closely tied to the user's interactive process such as editing, display maintenance and tablet character recognition. These terminal support services can often be most efficiently provided by a mini-processor located close to the user. The terminal support processor may either be directly connected to a large computer system or may access remote resources through the network. In the future I expect many organizations will find it most effective to have only a terminal support processor and obtain all their services from the network.
The numerical processing can be executed on whichever computer in the network is best suited for each job, whether by virtue of special purpose hardware, unique software or cost effectiveness. With an effective network the actual location where numerical services are performed is not particularly important, hence this function may be very widely distributed. However, it is not expected that a particular user will choose a different computer each day to perform the same job; more likely he will choose the best machine to begin with and change only when the economics warrant it.
Large data files will be stored and maintained in one particular network location since duplicate copies are both expensive and logistically complex to maintain. In many cases the data might be co-located or even integrated with numerical services, but often this is not required. One can envision an independent file processor with many levels of storage hierarchy, optimized to handle file retrieval, update and maintenance, including the capability to sort, merge and perform conditional queries.
Such a file processor would not necessarily be associated with one particular numerical processing system but rather would service a distributed set of users having common interest in the data files. The effectiveness and economy of separating the file handling function from the numerical processing is not yet well understood, but it may well develop that this division of responsibility could lead to large improvements in efficiency through specialization.
The division of computer services into terminal support, numerical processing and file services is only the first glimpse of what may be an increasingly common and effective trend in computer sys -tem architecture made possible by the advent of computer networks. Although it has been possible to build very large computer hardware systems, the development of all-encompassing general purpose software monitors for large systems has been notably disappointing and at least for the foreseeable future it remains far more feasible and efficient to build specialized software systems perhaps handling a large number of users but within a restricted domain.
Copyright © 2001 Dr. Lawrence G. Roberts