Sun and Oracle Community Voices How to Buy Log In United States [Change] English

Navbar Here$navbar =
$url_id =
$ROOT_ID = 1
$url = /techrep/1995/annualreport95/solarisMC.html

Solaris MC

Fiscal 1995 Project Portfolio Report

Yousef A. Khalidi
yousef.khalidi@eng.sun.com


Overall Objective

To explore and develop new operating system software to harness the power of multi-computer (clustered) systems. The group also develops tools and technology to evaluate and improve the performance of the operating system and the underlying hardware.

The project is developing Solaris MC, a prototype distributed operating system for multi-computers, i.e., a cluster of nodes. Solaris MC provides a single-system image-a cluster running Solaris MC appears to the user, to applications, and to the network as a single computer running the Solaris operating system. Solaris MC is built using a set of extensions to the base Solaris UNIX system and provides the same ABI/API as the base Solaris system, running unmodified Solaris applications.


Objective for FY95

To design the major components of Solaris MC, and to start building an initial prototype of the system, running on a cluster of workstations connected through a high-speed network.


Description

Solaris MC has several interesting features. It:

  • Supports high availability

The Solaris MC architecture provides fault-containment at the level of an individual node in the multi-computer. Solaris MC runs a separate kernel on each node. The failure of a node does not cause the whole system to fail. A failed node is detected, and system services are reconfigured to use the remaining nodes. Only the programs that were using the resources of the failed node are affected by the failure. Solaris MC does not introduce new failure modes into UNIX.

  • Extends the existing Solaris operating system

Solaris MC is built on top of the Solaris operating system. Most of Solaris MC consists of loadable modules extending Solaris, and minimizes the modifications to the existing Solaris kernel. Thus, Solaris MC shows how an existing, widely-used operating system can be extended to support clusters.

  • Maintains ABI/API compliance

Existing application and device driver binaries run unmodified on Solaris MC. To provide this feature, Solaris MC has a global file system, extends process operations across all the nodes, allows transparent access to remote devices, and makes the cluster appear as a single machine on the network.

  • Uses C++, IDL, and CORBA in the kernel

Solaris MC illustrates how the CORBA object model can be used to extend an existing UNIX to a distributed OS. At the same time, it also shows the advantages of implementing strong interfaces for kernel components by using the IDL interface definition language. Finally, Solaris MC illustrates how C++ can be used for kernel development, co-existing with previous code.

  • Leverages Spring technology

Solaris MC illustrates how the distributed techniques developed by Spring OS can be migrated into a commercial operating system. Solaris MC imports from Spring the idea of using a CORBA-compliant object model as the communication mechanism, the Spring virtual memory and file system architecture, and the use of C++ as the implementation language. One can view Solaris MC as a transition from the centralized Solaris operating system toward a more modular and distributed OS like Spring.


Accomplishments

During FY95, the following was accomplished:

  • The architecture of Solaris MC was completed, and the design of several major components of the system was finished.

  • An initial prototype of the system was started. Many portions of the system were completed, including most of the communication, object, compiler, and runtime infrastructure; the distributed file system; global process management; networking; and I/O. A hardware prototype was assembled using a collection of workstations and a Myrinet high-speed network.

  • A novel page table structure and an associated access algorithm were devised. The algorithm is tailored for 64-bit address spaces. The algorithm was adopted by SMCC and will ship as part of Solaris 2.5 for the upcoming UltraSPARCTM-based machines, Sun's new generation of workstations and servers.

  • An algorithm was devised for the general sharing of page tables that improves the overall performance of the system, especially large servers. The scheme is particularly suited to modern software-controlled memory management units such as the UltraSPARC Memory Management Unit (MMU). The scheme was analyzed, documented, and will be incorporated into a future Solaris release.

  • A prototype of a fast I/O transfer mechanism was completed, measured, and documented.


References

Publications

Khalidi, Yousef A. and Madhusudhan Talluri. "Improving the Address Translation Performance of Widely Shared Pages." Sun Microsystems Laboratories Technical Report SMLI TR-95-38 (February 1995).

Thadani, Moti and Yousef A. Khalidi. "An Efficient Zero-Copy I/O Framework for UNIX." Sun Microsystems Laboratories Technical Report SMLI TR-95-39 (May 1995).

Patents Issued

Title: Method and Apparatus for a Secure Protocol for Virtual Memory Managers that Use Memory Objects
Inventors: Yousef A. Khalidi, Michael N. Nelson
Filed: 06/25/92 (07/904,226)
Issued: 03/07/95 (5,396,614)


View previous page

Return to the Table of Contents

View next page


webmaster@sunlabs.eng.sun.com