next up previous
Next: Commodity Parallel Computing Up: High-Performance Commodity Computing Previous: High-Performance Communication

High-Performance Commodity Services

 

A key feature of high-performance commodity computing is its support for databases, Web servers, and object brokers (see Section 1.1). In this section, we use the additional example of collaboration services to illustrate the power of the commodity computing approach.

Traditionally, a collaborative system is one in which specific capabilities are integrated across two or more clients. Examples of such systems include whiteboards, visualization, and shared control. With the introduction of the flexible Java-based three-tier architecture, support for collaboration can also be integrated into the computing model by providing collaboration services in the middle tier.

Building grid applications on the three-tier architecture provides a well-defined separation between high-performance computing (bottom tier) and collaboration (top and middle tier). Consequently, we can reuse collaboration systems built for the general Web market to address areas that require people to be integrated with the computational infrastructure, such as computational steering and collaborative design.

This configuration enables the best commodity technology (e.g., from business or distance education) to be integrated into the high-performance computing environment. Currently, commodity collaboration systems are built on top of the Web and are not yet defined from a general CORBA point of view. Nevertheless, facilities such as WorkFlow [20] are being developed, and we assume that collaboration will emerge as a CORBA capability to manage the sharing and replication of objects.

 
Figure 1.4: Collaboration in today's Java Web Server implementation of the three-tier computing model. Typical clients (top right) are = independent, but Java collaboration systems link multiple clients through object (service) sharing.  

We note that CORBA is a server-server model in which clients are viewed as servers (i.e., run ORBs) by outside systems. This makes the object-sharing view of collaboration natural, whether an application runs on the ``client" (e.g., a shared Microsoft Word document) or the backend tier (e.g., a shared parallel computer simulation).

Two systems, TANGO [30] and WebFlow [29], can be used to illustrate the differences between collaborative and computational sharing. Both systems use Java servers for their middle tier. TANGO provides collaboration services as in Figure 1.4. Client-side applications are replicated by using an event distribution model. To put a new application into TANGO, one must be able to define both its absolute state and changes therein. By using Java object serialization or similar mechanisms, this state is maintained identically in the linked applications. On the other hand, WebFlow integrates program modules by using a dataflow paradigm. With this system, the module developer defines data input and output interfaces and builds methods to handle data I/O. Typically, there is no need to replicate the state of a module in a WebFlow application.


next up previous
Next: Commodity Parallel Computing Up: High-Performance Commodity Computing Previous: High-Performance Communication

Theresa Canzian
Fri Mar 13 01:17:33 EST 1998