Check out the new USENIX Web site.

Prashant Pradhan, Silicon Graphics, Inc.

Abstract:
(1) The impact of Windows NT microkernel structure on applications performance

Although microkernel-structured operating system provide the modularity and flexibility for multi-platform support, it is important to consider the performance penalty resulting from the increased overhead from protection domain crossings and inter subsystem communication. The Windows NT operating system is a case in point. Support for multiple operating system environments (viz OS/2, POSIX, Win16 and Win32) is provided through user-level processes (called protection subsystems in NT). Protection between user-level processes and the subsystems as well as across subsystems is through address space protection. This model goes beyond the user/kernel mode protection in monolithic operating systems by implementing each of the subsystems as separate user level processes. But then the interface to operating system services takes the form of cross-domain local procedure calls (LPC) instead of system calls, and hence incurs additional overhead. In addition, inter-subsystem communication in NT also incurs LPC overhead when for instance, display services are serviced by the Win32 subsystem by all other protection subsystems. Another source of overhead in NT is the virtual DOS machine emulation for win16 and DOS executables. This project aims to do an instrumentation study of the NT's kernel source code, to identify the impacts of these sources of overheads on application performance.

(2) A GUI traffic study for Windows applications:

With the advent of the concept of Network Computers or NC, the computer vendor and user community are moving towards a mainframe-like computing model to reduce the total cost of ownership. A typical application consists of three components: graphical user interface (GUI), business logic, and file I/O. In the client-server model, the clients execute the GUI and business logic parts of the applications, while the server handles the file I/O parts. In the NC model, the GUI and file I/O parts still run on machines at the user ends, and the server, respectively. However, the business logic part is mostly run on the server as well, which tends to have larger memory, more computing power, etc. From a network traffic standpoint, the packets traveling on the LAN are changing from file traffic in the client-server model, to GUI traffic in the NC model. In order for the NC model to be viable, it is essential to characterize the GUI traffic, and develop mechanisms for compressing the traffic. The result of this research is particularly applicable to the multi-user NT servers that Citrix and Microsoft are pushing for. Similar projects have been carried out in the context of the X protocol. In the context of NT, this study involves tracing the GUI traffic in and out of the Win32 subsystem which is responsible for providing graphics and display services to Windows applications as well as all the other subsystems requesting GUI services.