File Placement on Distributed Computer Systems

Advances in large-scale integrated logic and communication technology coupled with the applications explosion have led to distributed architectures. A distributed computer system is basically an interconnection of processing elements, each having certain capabilities, communicating with other elements through a network, and working on a set of related or unrelated jobs. DCS architecture is implemented in global systems such as Arpanet, local computer networks such as C,,*, and office information systems. One important DCS characteristic is localized information processing by a subset of the processing elements. A piece of information may be processed repeatedly within a local subsystem before it changes locality. For example, a seat assignment file in an airline reservation system is very heavily used first at the airport where passengers are preparing to board. Then, as the plane flies to another airport, the use locality changes. To maximize the efficiency of the system, the file should be distributed so that it is accessible at the locality of first use and should be allowed to migrate as the need changes. The distribution of DCS information is the distribution design problem. In general, information is partitioned into fragments (files) and placed in appropriate locations. In some systems, the files are uniquely defined, and no partitioning is necessary. But often databases must be partitioned horizontally, when the instances of an object are divided into fragments, or vertically when the attributes are divided into possibly overlapping fragments. After the fragments are partitioned, the FAP, or (optimal) file allocation problem, distributes files and fragments on a DCS to satisfy system objectives, such as availability, reliability, and delay constraints, and if the constraints and needs change dynamically, the files are allowed to migrate. The optimal file migration problem adjusts the file migration sequence to assure efficient adaptation to changing needs. Solutions to the distribution design problems depend on the operations performed on the information. In the simplest form, an operation is a file access from a specified origin. In a database distributed on a DCS, an operation or query may originate in a program located anywhere in the system. It may access multiple files assembled at a single node before it is processed, or the query and the intermediate results created in each step may be sent sequentially through the files. A combination of the two strategies is also possible. In addition, query processing is related to file placement, concurrency control, and communication network design, as shown in Figure 1, since files are partitioned and placed according to the network characteristics and query characteristics in the system. It is very difficult to solve these problems as whole units for real databases, so the designer usually decomposes them into independent problems. The FAP was originally isolated and investigated by Chu2 who studied it with respect to multiple files on a multiprocessor system. Current work lies in the integration of the query processing, file partitioning, concurrency control, and network design problems with the file placement problem. This article examines recent developments in these areas.