Skip to content


METASYSTEMS | Contents | Next

Legion Provides the Architecture for Operating System that Spans the Internet

Andrew Grimshaw, Professor of Computer Science, University of Virginia; Leader, NPACI Metasystems Thrust Area

Every individual computer, whether a laptop or a supercomputer, needs a program, called the operating system, to manage the flow of data from other programs to the processor, memory, disks, and other pieces of hardware. So the millions of computers on the Internet need millions of independent operating systems. On the other hand, some research questions can only be answered by combining the power of legions of computers across the Internet. The Legion project, led by Andrew Grimshaw at the University of Virginia, is just such an integrating architecture--an operating system for the Internet.

Such a unified Internet computer is also called a metasystem, a virtual "computer" built from many individual computers or components connected by a network, and Grimshaw leads NPACI's Metasystems thrust area. Legion, along with the Globus project (p. 10), are two of the few metasystem projects taking on the task of uniting the disparate and distributed systems on the Internet.

"The whole Legion approach asks, 'How should you build a metasystem from an integrated architecture perspective?'" Grimshaw said. "How do you structure it to take on millions of systems? There are many difficulties and many computer science challenges."

Legion is designed as the foundation that hides the underlying physical infrastructure from users and even most programmers; that supports construction of larger integrated components from existing components; and that ensures the security of individual machines. In other words, Legion not only must manage the metasystem environment, but also must provide the tools to write software that runs on the metasystem.




legion-cmykFigure 1: Hydrodynamic Turbulence

Snapshot from a simulation of hydrodynamical turbulence in a segment of an astrophysical accretion disk, conducted by John Hawley in the Department of Astronomy at the University of Virginia. Originally written for MPI, this program runs under Legion with the addition of only three lines of code.


Legion's design philosophy attacks the metasystem problem from the ground up. First and foremost, Legion is an integrated architecture. In comparison, an alternative metasystem approach, perhaps best termed a "sum of services," uses stand-alone tools to implement the many features desired of a metasystem. In concert, the tools provide the various services of a metasystem. Such an approach is amenable to using off-the-shelf components and is therefore faster to develop.

Begun in 1993, Legion has taken a different route toward a metasystem environment. The Legion team started by determining a set of objectives and goals that a metacomputing environment must have, with an emphasis on flexibility and scalability. They then began designing a core set of inter-related services to achieve those objectives. "Legion's strength is its vision," Grimshaw said. "But because the architecture is so tightly integrated, Legion services all rely on one another and we've had to build a lot before people could start using it."

To implement the integrated architecture, Legion has applied the principles of object-oriented programming. This paradigm has been essential in reducing the complexity of a full metasystem environment. Everything in Legion is an object--systems, users, applications, data sets, and every other component of interest. In essence, the objects are the hardware, the software, and the services of the metasystem.

While the details of Legion's development over the past five years are documented in papers on the Web, the project has advanced to a point where the Legion team will be entering a deployment phase in the fall of 1998. They have implemented more sophisticated scheduling services as well as a security model that includes X.509 certificates, authenticated access to resources, and other levels of security.

As an example of Legion's possibilities, a visualization tool with no security mechanisms of its own was compiled within the Legion environment. Simply by running it under Legion, the application was able to incorporate Legion's security services. The degree of security can be adjusted by various user tools.


Legion has progressed along several fronts in the past year. In May, Fritz Knabe, a research scientist with the Legion project, led a Legion workshop hosted at SDSC to educate the consultants and others who work with end users. About a dozen attendees, representing NPACI consultants and potential users from Southern California, participated in the workshop.

The workshop highlighted two key points, according to Knabe. First, existing parallel codes using the MPI industry standard can use Legion with minimal changes (Figure 1). In addition to parallel execution, Legion-compiled codes receive bonus features with no extra work, including automatic binary management and an easy way to handle I/O. Legion also supports arbitrary binaries.

Second, the workshop discussed how Legion can assist with parameter space studies--repeated runs of the same program with different input data. Legion will move binaries and data sets automatically, provide virtual consoles for tracking output (such as debugging messages), and provide a virtual file system, called "context space," above and beyond the actual file systems accessible to the user.

For SC98, the Legion team will be demonstrating these and other features of a full-fledged, deployable Legion--a robust system available to real users. "We spent last winter doing hardening work that was very successful," Knabe said. "The system has come together dramatically overall. Our next major focus will be much more comprehensive fault-tolerance services that users can incorporate into their codes." They are also implementing a Common Object Resource Broker Architecture (CORBA) interface and compiler for Legion.

Finally, NPACI has also established lines of communication between the Legion team and the members of another project in the Metasystem thrust area--the Globus project, led by Carl Kesselman of the University of Southern California and Ian Foster of Argonne National Laboratory. For example, the communication enabled the two groups to discuss issues regarding the scheduling infrastructure and the security design. "Even though our approaches are different, we encounter many of the same problems," Grimshaw said. "There's a lot we can learn from each other."

pg_fold-cmykFigure 2: Legion and Biomolecular Energetics

Structural bioinformatics requires understanding how proteins, such as segment B1 of Streptococcal protein G (shown here in three folded states), fold to their functioning, native states from unfolded states. Charles Brooks of The Scripps Research Institute, part of the Molecular Science thrust area, is using the Legion Metasystems environment to make computational studies of protein folding using Brooks's CHARMM software, which simulated the folded states shown here, accessible to the many users who do not develop their own codes.


While interesting in its own right to computer scientists, the integrated architecture of Legion cannot contribute to scientific discovery without scientific applications and users. To that end, the Legion group has several NPACI collaborations under way, and NASA and Navy researchers have already begun running their programs through Legion.

In an Earth systems project, Kathy Holcomb of Virginia is coupling a global climate code to a regional climate code to predict, for example, rainfall in a particular area during an El Niño year. The codes are completely separate programs, which Holcomb is linking with Legion as the communication mechanism.

In Molecular Science, Charles Brooks of The Scripps Research Institute wants to run the molecular dynamics code CHARMM easily in many places on many machines, including the Centurion cluster computer being assembled at Virginia. By using Legion, Brooks will be insulated from the intricacies of the new Centurion platform and from learning details of other systems that are brought into the Legion fold (Figure 2).

Early users of Legion at NASA, the Naval Research Laboratory (NRL), and the Naval Oceanographic Office (NAVO) have tested their Legion codes on machines at Virginia. Actual deployment of Legion on NASA and Navy machines depends on the security implementation, which should be in place this fall.

The NASA users, for example, are exploring wing flap design in an aircraft simulation. Such design simulations require many repeated runs with different input conditions. The number of runs typically has been limited to hundreds of repetitions, simply because of the human cost involved in performing each iteration. With Legion's facilities in production mode, they will be able to perform thousands or tens of thousands of runs.

"We're taking this incredible mess--machines, networks, operating systems, archives, and the rest--and, out of all that, we're asking, 'What services do you want to have?'" Knabe said. "Legion lets you develop a rich enough set of services so that you can leverage off them rapidly. Legion is the platform for providing those services." --DH