Issue: Volume: 24 Issue: 6 (June 2001)

Scientists Dream of Jini

Visualizing 3D fluid flows is one of the most computationally challenging tasks in scientific visualization. For that reason, researchers in the Computer Graphics and Scientific Visualization Group of the Politecnico di Torino in Italy chose the application as a "test case" to evaluate the merits of a novel distributed computing environment for scientific visualization based on Sun Microsystems' Jini technology.

Jini is an architecture that provides a simple infrastructure for delivering services over a network and for creating spontaneous interaction between programs that use these services, regardless of their hardware or software implementation. With Jini, any kind of network made up of "services" (such as applications, databases, servers, devices, information systems, mobile appliances, storage, and printers) and clients of those services can be easily assembled, disassembled, and maintained on the network. Moreover, services can be added or removed from the network, and new clients can find existing services-all without administration. Thus, with Jini, devices can plug together without any planning, installation, or human intervention. Each device provides services that other devices in the community may use. These devices provide their own interfaces, which ensures reliability and compatibility.

These capabilities make the technology particularly appealing for high-end CFD visualization, for which a distributed architecture is considered a must. "Many visualization algorithms could be too computationally onerous for a single workstation," says principal researcher Andrea Sanna, because of insufficient computational power and insufficient space for storing the gigabytes of data that CFD simulations can produce. "Also, some visualization algorithms like raytracing or ray casting, which are used to show optical effects such as reflection, refraction, and shades, need powerful or parallel computers." Executing the "heavy" calculations on a supercomputer and leaving the lighter ones for low-end computers overcomes the constraints of single-machine systems.
The motion of fluid around an airplane wing is depicted using a Jini-based distributed visualization system. At top, pathlines are visualized by inserting 12 particles on one line parallel to the wing. The next two images show a field of motion around the

The appeal of the Jini technology for CFD and other visualization applications lies in its simplicity and openness, according to Sanna. "There are a few distributed visualization systems, but most of them employ proprietary technologies [for specific applications]." In contrast, he notes, Jini, which is available as freeware, is application-independent and functionally "transparent." For example, he says, "developers only have to know the Java language, and client developers have to know only the interface for using a remote service, not the underlying code." Jini operates quietly in the background, pulling all of the pieces together.

A typical Jini architecture comprises three components: clients, servers, and a look-up service. Each server and client registers itself to the lookup service. When the client registers, it specifies the servers that it needs. "In our [fluid flow] implementation," says Sanna, "a server is a machine devoted to the flow computation and clients are used for visualization." Thus, the servers are dedicated, powerful workstations capable of efficiently processing the demanding computational fluid dynamics calculations, while the clients are PCs equipped with 3D graphics acceleration. For the visualization phase, the application uses the Java 3D library.

The main advantages to this setup, says Sanna, are its platform-independence, simplicity, and reliability. With respect to platform independence, he says, "Jini is based on Java, so we can use workstations and PCs running different operating systems in a transparent way." The simple, user-friendly architecture enables new services to be added easily, without any changes in the system configuration or particular knowledge of the underlying mechanism on the part of developers. Reliability is a significant factor when it comes to troubleshooting, Sanna notes, "because the Jini concept allows us to automatically remove a crashed service from the list of the available servers."

On the downside, the high-level software that allows the transparent, user-friendly management of the system introduces a slight performance loss over a direct implementation of the distributed system using proprietary protocols. The latter, says Sanna, "of course would be more efficient, but it would also be more onerous for developers."
A virtual wind tunnel is enhanced with real-time CFD visualizations. The distributed visualization environment lets client applications access requisite services from any number of servers over a network.

For the Jini "test" implementation, the researchers focused on the development of a platform-independent application for particle tracing steady and unsteady flow data using pathlines, streaklines, and timelines. These dynamic techniques are considered more effective than such "instantaneous" flow visualization methods as contour lines, vector plots, and volume slices in terms of their ability to depict vortical flows and the complex topology of turbulent flows.

Based on their initial success using Jini for developing a distributed environment for CFD visualization, the Torino re searchers are attempting to implement a general purpose visualization environment based on entry-level PCs. "Our main goal is to implement a distributed environment for didactic/training purposes: a 'teacher' and multiple 'students' can be connected to the environment from different machines, sharing the visualized data, eventually from different point of views." In addition, he says, the system will incorporate tools for enhancing data comprehension, such as stereo viewing, data selection, and cutting planes.

In terms of commercial potential for Jini as a visualization backbone, there are many possibilities, says Sanna. "From the technical point of view, Jini could be a very useful tool for developing distributed environments where services could be connected in a transparent way." In addition, wireless applications could benefit from Jini's spontaneous networking. In this regard, the researchers are collaborating with Motorola for integrating Jini with its Bluetooth wireless technology.

Diana Phillips Mahoney is chief technology editor of Computer Graphics World.