We are developing a technology whereby PCs and workstations on a next-generation network with a throughput of several Gbps using optical interconnection are used as one parallel computer. The following is a summary of the background and our research.
High-speed computer networks such as Fiber Channel, Memory Channel, SCI, and Myrinet have emerged, achieving 1 Gbps bandwidth and a communication delay ranging from several u sec to several hundred u sec. Memory Channel and SCI are networks that support global memory addressing and distributed shared memory. In line with the trends in such network hardware, parallel computers using networked workstations and PCs, so-called workstation clusters or PC clusters, are actively being developed. Since the first half period of the RWC Project, we have conducted research and development of workstation clusters and PC clusters, and have achieved a throughput equivalent to a massively parallel computer with a multi-user environment by developing our own network protocol on Myrinet (Fig. 1).
Fig.1
Many of the current networks having a throughput of Gbps assume a SAN (System Area Network) rather than a LAN environment, but high-speed computer networks based on LAN environments will emerge in the future. High-speed computer networks and clustering technologies have enabled a parallel computing environment to be developed that is equivalent to a massively parallel computer in a distributed system environment.
We plan to construct a "seamless parallel and distributed system", a next-generation parallel and distributed system for the LAN of the future with a transmission throughput ranging from several Gbps to 10 Gbps. A seamless parallel and distributed system is a distributed system that enables us to draw the optimal computing power to meet users' needs from computers on a network in a distributed environment using a high-speed LAN. We call this system a "personal supercomputer" (Fig. 2).
The seamless parallel and distributed system employs a high-speed LAN running at several Gbps throughout using optical interconnections. Single-processor or shared-memory workstations and PCs are connected to this network. Individual users will be able to acquire the required computing power from computing resources on the network. That is, the system will provide a parallel system environment by dynamically clustering multiple computers. An application programming environment will be provided to attain sufficient throughput regardless of which computers are connected to the network.
The goal of the seamless parallel and distributed system is to provide an environment that anybody can use, instead of computer systems for only scientific or technical users. The office environment of today often begins with a small system and is then upgraded to a larger system as needs develop. For instance, a WWW service starting with a single PC will be upgraded to mid- to large- servers as the number of users increases. The seamless parallel and distributed system enables us to address such changes in computing demand by connecting computers to the network, rather than by replacing the old system with new servers.
In addition, as multimedia expands, multimedia information retrieval and multimedia document systems in future office environments will require higher computation power using parallel processing. Not all users need such a system, and by dynamically clustering idle computers on a LAN to provide a parallel computing environment, the installation of unnecessary computers can be avoided.
Any R&D site with multiple development groups may place an unbalanced computing load on the computing resources of individual groups due to their different stages of development. In such circumstances, it may be possible to provide a parallel environment by clustering relatively idle computing resources together with the computing resources of other groups.
The technology required to construct a seamless parallel and distributed system is constructing a single virtual parallel computing system on a heterogeneous parallel distributed system. We can conceive of four types of heterogeneity as follows. None of these types is possible on a conventional single parallel computer system, but appears in a distributed environment.
1) Performance Heterogeneity
2) Machine Configuration Heterogeneity
3) Operating System Heterogeneity
4) Processor Heterogeneity
We are developing a processing system to enable users to program and get optimal execution without having to be aware of these kinds of heterogeneity. We are also constructing an operating system environment to provide a single parallel computing environment by dynamically clustering computer resources on a network.