Distributed OSes, slowly emerging from research, cure a multitude of ills
Paul Korzeniowski
The OS market, being the cutthroat and competitive beast it is, gives vendors few opportunities to experiment with new approaches to distributed computing. However, a few vendors -- AT&T and Sun Microsystems, for example -- and some research universities are taking a shot at developing distributed OSes. They claim these OSes will do a better job of exploiting today's ubiquitous networking infrastructures and the processing power distributed throughout organizations.
Until recently, most of the work in this area centered around OSes that required large amounts of memory and suffered from kludgy network connections. (In other words, they were variations of Unix.) Additionally, many distributed OSes (especially those for embedded s
ystems) were proprietary and lacked ways for third-party developers to easily access the services of the OS.
Now, however, a handful of researchers are tinkering with ways to overcome some of the difficulties involved in making OSes work in distributed environments. Companies and universities are attacking the present problems in several ways. For example, some are focusing on improving network connections, others are developing OSes capable of supporting add-on modules, and still others are looking at ways to shrink the OS microkernel.
Plan 9 = Unix++
One effort to develop a distributed OS is being carried out by the Computing Science Research Center of AT&T Bell Laboratories (Murray Hill, NJ). The group is trying to build on a previously successful project -- Unix, which it developed a quarter of a century ago.
At that time, Unix was at the forefront of several emerging ideas: applications portability, desktop processing, and multiprocessor design. As Unix weaved i
ts way onto corporate desktops during the 1980s, researchers asked the question: "If we could develop Unix now, what would we do differently?"
While Unix possessed many strengths, one weak area was its networking capabilities. "Connecting different Unix computers on a network requires a great deal of administrative overhead," notes Robert Pike, a member of the technical staff at AT&T Bell Laboratories.
Thus, in 1987, the Computing Science Research Center began work on a new OS dubbed Plan 9. The name is in honor of Ed Wood's campy science fiction thriller
Plan 9 from Outer Space
, which is considered by many to be the worst movie of all time.
Plan 9 is a distributed OS comprised of three components. They are a client part that runs on terminals residing on a user's desk, file servers that store data, and other servers (sometimes called applications servers) that provide faster CPUs (which are on the user's desktop), user authentication, and network gateways.
The components can
be connected over a wide variety of LANs and WANs -- including Ethernet, custom-built fiber networks, and dial-up modem connections -- as well as over ISDN. Typically, a user interacts with applications running on either a terminal or a CPU server, and the applications pull their data from the file servers (see the figure
"Plan 9's Down-to-Earth Architecture"
).
Plan 9 exploits
three general technical concepts. First, all system objects present themselves as named files that are manipulated by read/write operations. Second, all such files may reside either locally or on another device. Third, the file system namespace (i.e., the set of objects visible to a program) is dynamically adjustable for each program running on a particular machine.
The first two concepts, in the opinion of Plan 9's developers, were ideas foreshadowed in Unix. The third concept, however, allows a new approach to distributed computing. The construction of an application is not depend
ent on where the application will run or on what machine it will run on. Thus, Plan 9 allows for a modular design of applications.
Because applications and data may reside in many locations, security is a key component of Plan 9. It uses an authentication scheme similar to Kerberos, where passwords are never sent over networks. Instead, it uses encrypted tickets issued from an authentication server. Plan 9 has additional security features. For instance, applications never run on the file servers (the place data is stored under Plan 9). This makes data stored on those servers safe from security threats such as computer viruses.
Another strength of Plan 9 is that
its flexibility
eases administration. "Plan 9 users can access information stored on computers with different microprocessors as if the data were stored on their own system," says Pike.
AT&T Bell Laboratories has
ported Plan 9
to several types of CPUs, including Intel's x86 (including the Pentium)
, Motorola's 680x0, Sun's SPARC, and Mips Technologies' microprocessors. In addition, the Computing Science Research Center has developed compilers and debuggers for the new OS.
In July, AT&T announced that Plan 9 was
available for educational
and research use. The product with source code sells for $350; a kit with only the manuals is available for $125. The company said 200 universities are working with Plan 9, and Pike expects them to develop new applications and programming tools.
Spring Is in the Air
Also focusing on Unix's limitations, SunSoft (Mountain View, CA) began to work on
Spring
, its next-generation object-oriented OS, in the early part of 1989 (see "Springtime at Sun," September BYTE). Jim Mitchell, a Sun fellow and leader of the Spring R&D team, said the project team established three goals for the OS. First, it had to be easy to evolve and extend. Second, it had to work well on networks. Third, it had to include
strong security features.
The company assigned a team of its top 15 programmers to reach those goals. In 1991, the team delivered a prototype of Spring that featured a distributed-directory service, fast interprocessor communication, security services, and a new interface definition language (IDL). The IDL bound its objects at run time, outside the microkernel. This improves the OS's performance by 50 percent, according to SunSoft.
The company has taken a multifaceted approach for spreading the Spring doctrine. SunSoft convinced the Object Management Group (OMG), a Framingham, Massachusetts, consortium, to incorporate Spring's directory service, IDL, and security features in the Common Object Request Broker Architecture (CORBA) 2.0 specifications.
In March, SunSoft offered Spring to universities and commercial research institutions. It sells the Spring Research Distribution technology on a CD, which includes software, documentation, and instructional materials. Universities can purchase the
package for $75; corporate research groups pay $750.
In addition, SunSoft plans to incorporate Spring into its commercial products. Mitchell says Spring will be the foundation for the company's Distributed Objects Everywhere (DOE) architecture. SunSoft is also incorporating Spring components into Solaris. The company began beta-testing these capabilities during the summer, and it expects to deliver production wares over the next two years.
Other Efforts Worth Watching
In addition to AT&T and SunSoft, QNX Software has developed an OS called QNX. It overcomes some of the problems with distributed OSes. QNX, which was developed for process-control and embedded-OS applications, is a 32-bit, Posix-compliant, real-time, message-passing microkernel OS for Intel x86 machines. Its core is only 8 KB in size. It supports four functions: process scheduling, interrupt dispatch, interprocessor communication, and network communication.
Outside the commercial world, several notable
distributed-OS efforts are now taking place in the academic community. For instance, projects to develop distributed OSes are under way at four universities: MIT, the University of Washington, the University of Arizona, and the University of Utah. The projects are all trying to improve OS performance. All four groups are focusing on different ways to reach that goal.
MIT began work on its distributed OS, called Exokernel, in the fall of 1993. Frans Kaashoek, a professor of computer science, said the project is trying to push OS functions into the user space.
The base OS does not include page-table management, a file system, interprocessor communication, or process management. Instead, it offers only a set of bare-bone features. As a result, it should operate faster than systems now available. Initial tests indicate that Exokernel works 10 to 100 times faster than Digital Equipment's Ultrix.
In addition to faster processing speeds, the new design offers programmers more flexibility, accordin
g to Kaashoek. Currently, OSes offer all applications one set of services. Yet, there are different requirements for different functions in a distributed operating environment. For example, a file system needs different buffering and disk management features than a database management system. Kaashoek says Exokernel enables programmers to address these differences by letting them build subsystems for different types of applications.
The University of Washington is taking a similar approach with its Spin project, which began in early 1994. Brian Bershad, an assistant professor of computer science, said current OSes have to be trimmed. "Just to load Windows NT requires at least 16 MB of storage," he explains. "And various OS functions take up processing power even if they are not used." For instance, 30 percent of current OS overhead comes from memory management and networking functions.
Spin replaces functions now found in the user address space with downloadable OS extensions. This modification le
ts programmers extend the microkernel and control OS functions.
The new design could produce an interesting side effect. Currently, OS designers determine all system functions. "We need to loosen the grasp OS vendors have on determining their systems' APIs," Bershad said. With Spin's approach, the OS becomes a foundation that third parties can build on.
The University of Arizona has tinkered with OSes since the late 1980s. "New networking techniques that promised to support speeds of 500 Mbps were emerging, so new OSes were needed to keep pace," notes Larry Petersen, a fellow in the computer science department.
The university has been working on the Scout project. "With client/server applications, a process could be completed in one of many different locations," Petersen says. "Current OSes do not easily enable this to take place."
Thus, the university's new OS relies on something called paths (i.e., considered roads that show how functions are completed) rather than processes, which f
ocus on what an OS does. The university is developing a version of Scout for Digital's Alpha computers.
Rounding out the academic efforts is the University of Utah's project, dubbed Flux, to enhance the Mach OS. One result of Flux was the development of a new IDL called Flexible Interface Definition (FLICK) and a series of shared libraries. "Our goal was to address inefficiencies that stemmed from Mach's underlying language," explains Jay LePreau, who is a professor in the university's computer science department.
The new OS is designed to run on Intel and Hewlett-Packard PA-RISC microprocessors. In addition, the OS's distributed shared-memory system is available on five architectures -- Digital's Alpha, HP's PA-RISC, Mips, Motorola 68000, and Sun's SPARC -- and five OSes, including Digital's OSF/1, HP's HP-UX, Silicon Graphic's IRIX, Sun's SunOS, and Unix 4.3 BSD.
SuperNOS = NetWare + UnixWare
The university research projects may compete with corporate development t
hat's under way at Novell (Provo, UT). After purchasing Unix Systems Laboratories (USL) at the end of 1992, Novell found itself with two OSes: NetWare and UnixWare. The company's long-term goal has been to consolidate them into a single system, which has been dubbed SuperNOS.
Toby Corey, vice president of marketing for Novell's Operating Systems Division, says the company plans to meld the strengths of each OS. It will blend NetWare's fast file and print services with UnixWare's support for symmetrical multiprocessing, its ability to scale well, and its support for large, complex servers.
Novell has been talking about the SuperNOS concept for a while. However, a real OS that combines the strengths of NetWare and UnixWare is still a long way from delivery. Corey says the system is being designed for machines that support Intel's P7 64-bit microprocessors, which should arrive in late 1997 or early 1998.
Time Will Tell
Such long lead times are typical with these project
s. The R&D work for distributed OSes is in a nascent stage, and, for the most part, there is no clear path from the laboratories to the desktop.Researchers are not sure if their work will make its way into the mainstream. For instance, AT&T has downplayed comparisons between Plan 9 and Unix. It does not view the new OS as a Unix replacement. "Plan 9 was designed to solve specific problems experienced by users working with large, complex, multiprocessor systems," Pike says. "Consequently, there has been a great deal of interest in it among members of the university community. We are not sure if it will evolve into anything but a niche solution for a specific type of user."
To gauge the impact of today's projects, one might need to take a look back. "Research work on microkernel technology began in the early 1980s, winners emerged in the middle of the decade, and users began to realize the benefits of this work as the decade closed," notes Bershad at the University of Washington. "I see no reason why work
from current projects should emerge any differently."
-- Object-oriented
to the core.
-- System designed
with security, symmetrical multiprocessing, and
distributed-directory services in mind.
-- One key component
, the interface definition language, has already
been adopted by and incorporated into the Object Management Group's
object-broker standard.
-- Small size
(a single self-booting disk can hold the kernel, a window
system, an editor, and a basic Ethernet/Internet interface).
-- Modular approach
that includes a client, CPU server, and file-server
components.
-- Runs on many
CPUs, including Intel's x86 (including Pentiums),
Motorola's 680x0, Sun Microsystems' SPARC, and Mips
Technologies' Mips microprocess
ors.
-- Strong security
features, including an authentication scheme that's
similar to Kerberos.
Plan 9 has been ported to these compilers:
Motorola MC68020
Mips
SPARC
Intel 386
Intel 960
AT&T 3210
...OSes:
Gnot
Nextstation
Mips Magnum
SGI Power Series
SGI Indigo
SGI Challenge M
SparcStation
IBM PC
...and file servers:
SGI
Mips 6280
Mips Magnum
SparcStation
IBM PC
illustration_link (9 Kbytes)

Diagram of the Plan 9 (9P) network at the University of York (York,
U.K.). Plan 9 terminals include diskless 486s, 68020s and SparcStations, all with bit-map graphics displays. All run the same software from the shared file server and use the faster CPU server for compilations.
illustration_link (18 Kbytes)

AT&T Bell Laboratories' distributed OS called Plan 9 is comprised of three software components: a client piece that runs on a user's desktop terminal, a piece that runs on applications servers (called CPU servers), and a piece that runs on file servers, which store data.
screen_link (74 Kbytes)

Part of a Plan 9 screen using the Acme user interface (UI).
The left column holds a few source files, and a debugger window displaying a stack trace and a third source file.
The right column contains some guide files, a mailbox presented by Acme's mail program, the columnar display of files in Acme's own source directory, a few windows from the OED browser, a debugger window, and an error window showing diagnostics from a compilation.
Paul Korzeniowski is a freelance writer based in Malden, Massachusetts. You can reach him on the Internet at
6841944@mcimail.com
or on BIX c/o "editors."