Volume 9, Number 3
The Expected Lifetime of Single-Address-Space Operating Systems
By David Kotz and Preston Crow
AbstractTrends toward shared-memory programming paradigms, large (64-bit) address spaces, and memory-mapped files have led some to propose the use of a single virtual-address space, shared by all processes and processors. To simplify address-space management, some have claimed that a 64-bit address space is sufficiently large that there is no need to ever re-use addresses. Unfortunately, there has been no data to either support or refute these claims, or to aid in the design of appropriate address-space management policies. In this paper, we present the results of extensive kernel-level tracing of the workstations on our campus, and discuss the implications for single-address-space operating systems. We found that single-address-space systems will probably not outgrow the available address space, but only if reasonable space-allocation policies are used, and only if the system can adapt as larger address spaces become available.
Optimized Memory-Based Messaging: Leveraging the Memory System for High-Performance Communication
By David R. Cheriton and Robert A. Kutter
AbstractMemory-based messaging, passing messages between programs through a shared memory segment, is a recognized technique for efficient communication that takes direct advantage of memory system performance. However, the conventional operating system and hardware support for this approach is inefficient, especially in large-scale multiprocessor systems.
This paper describes interface, software and hardware optimizations for memory-based messaging that efficiently exploit the basic mechanisms of the memory system to provide superior communication performance. We describe the overall model of optimized memory-based messaging, its implementation in an operating system kernel and hardware support for this approach in a scalable multiprocessor architecture. The optimizations include address-valued signals, message-oriented memory consistency and automatic signaling on write. Performance evaluations show these extensions provide a three-to-five-fold improvement in communication performance over a comparable software-only implementation.
Achieving Predictable Response Time with an Intelligent File System Updater
By Li-Chi Feng and Ruei-Chuan Chang
AbstractDelayed write is a very popular technique to improving the file system performance of UNIX operating systems. When write operations are delayed, an update policy decides how and when to write these modified blocks to their assigned disk locations. Recent research results show that conventional update mechanisms perform not very well, because they neglect the fact that different I/O requests naturally have different characteristics. It makes time critical interactive jobs endure large variations in response time. Update policy controls background write activities that are less time critical and should be performed under constraints that do not violate the urgency of other time critical jobs. In this paper we propose an effective update scheme. We suggest new techniques: burst declustering and opportunistic asynchronous write. Besides, we develop a system activity sensor called SAPRO (system activity probe) that monitors the system activities and disk queuing status to adjust the behavior of our algorithm. Performance evaluation shows that our algorithm can alleviate the lengthy queuing delay, reduce the variance and worst case read response time significantly (30% and 51% respectively). The mean read response time and total system performance are also improved.
A Tool for Building Firewall-Router Configurations
By Christopher J. Calabrese
AbstractSeveral commercial firewall solutions are currently available, but they may not be appropriate for all situations because of their expense, lack of flexibility, or lack of scalability. Instead, many firewalls are built using packet-filtering routers.
One big impediment to building router-based firewalls is how poorly the configuration languages used to describe the proper operation of the routers are suited to the job of building and maintaining robust firewalls. These languages are overly-terse and do not support software- engineering techniques such as code re-use and data- hiding.
This paper describes a tool that overcomes these limitations by generating a configuration in the router's native configuration language from a high-level description of the firewall that is embedded in KORNSHELL, a popular computer language supporting code- reuse and data-hiding.
Controversy: Independent One-Time Passwords
Rejoinder by John Adams
Response by Aviel D. Rubin
Contributors to This Issue