[an error occurred while processing this directive]

Spring 2002

The Systems and Security Seminar is held every Monday afternoon from 4-5pm in room 2310. Topics generally alternate between the two research groups.

Keeping up-to-date with current research is a critical task for both students and faculty. A weekly seminar is a fun and social way to keep in touch with other's work. At the seminar, you can eat a few cookies, chitchat about the finer points of finer points of mutual exclusion, and exchange ideas with students and faculty working in your field.

Our mailing list is os-seminar@cs.wisc.edu. To subscribe, send mail to majordomo@cs.wisc.edu with subscribe os-seminar in the body. The list traffic is about one message per week to announce the next seminar. Questions about the seminar and arrangements may be directed to Douglas Thain (for systems) or Mihai Christodorescu (for security.)

Schedule

Date Topic and Speaker More Reading

14 January Storage-Aware Caching: Revisiting Caching for Heterogeneous Storage
Brian Forney

Modern operating system buffer caches rely upon research from the 1960s and 1970s, where the storage environment was significantly different than what is seen today. In the 1970s, systems used disks that were simple, directly attached, and few in number. The storage system was simple. Thus, buffer cache policy research focused on workload and assumed disks have uniform performance.

Fast forward to today. Systems, especially servers, have a large number of sophisticated disks, which increasingly are shared over a storage area network in a RAID configuration. The storage environment has changed dramatically, and its increased complexity has introduced performance variations between components. Thus, the underlying assumption of uniform performance in modern buffer cache policies no longer holds and limits I/O performance.

To address this mismatch, we have developed an approach to dynamically balance the cumulative completion time of disk requests, lessening bottlenecks. Our approach utilizes a general partitioning framework to reuse existing buffer policy research and lessen the implementation changes. Using simulation, our approach has shown dramatic performance improvements in storage environments with non-uniform disk performance.

This is a practice talk for the USENIX File and Storage Technologies (FAST) conference. Joint work with Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau.

slide show
18 February "New Wine in Old Bottles: Java and Condor"
Douglas Thain

The scientific community has taken an interest in Java as a platform for high-throughput distributed computing. To support such users, Condor is deploying a "Java Universe" that presents any sort of machine as an instance of the JVM coupled with a universal secure I/O proxy. However, the motto of "write once, run anywhere" is not trivial to achieve. Adding a virtual machine to Condor introduced a vast array of new failure modes that initially presented test users with a hailstorm of error messages. In this talk, I will outline how our initial strategy of coupling existing interfaces failed, particularly in the problem of error propagation. I'll describe the changes necessary for user satisfaction, and conclude with some discussion of how these ideas may be applied to further systems.

slide show
Tuesday, 19 March,
3pm, Room 2310
The Microsoft .NET System
Mike Litzkow

DotNET has been called the most significant departure in the Microsoft world since the transition from DOS to Windows. Books, newsgroups, websites, magazine articles, and whole new magazines devoted to the technology have proliferated. Every major Windows based training organization in the world is now teaching DotNET courses. Beta copies of the software were available to the public for over a year before the official release date of 2/13/2002. However, a lot of confusion about just what DotNET is and what it means to software developers and end users remains. The DotNET Platform is an extremely large package encompassing a very diverse set of technologies. In this talk I will give a broad outline of those technologies. As a DotNET developer for the past year, and a software developer for the past 20 years, I will include some personal opinions on the potential impact and durability of various parts of the platform. I will also solicit opinions from the audience as to whether future talks on more specific parts of the platform would be desired.

slide show

Tuesday, 16 April,
3:00 pm, room 2310
"Exploiting Gray-Box Knowledge of Buffer-Cache Management"
Nathan Burnett

The buffer-cache replacement policy of the OS can have a significant impact on the performance of I/O-intensive applications. In this paper, we introduce a simple fingerprinting tool, Dust, which uncovers the replacement policy of the OS. Specifically, we are able to identify how initial access order, recency of access, frequency of access, and long-term history are used to determine which blocks are replaced from the buffer cache. We show that our fingerprinting tool can identify popular replacement policies described in the literature (e.g., FIFO, LRU, LFU, Clock, Random, Segmented FIFO, 2Q, and LRU-K) as well as those found in current systems (i.e., NetBSD, Linux, and Solaris).

We demonstrate the usefulness of fingerprinting the cache replacement policy by modifying a web server to use this knowledge; specifically, the web server infers the contents of the OS file cache by modeling the replacement policy under the given set of page requests. We show that by first servicing those web pages that are believed to be resident in the OS buffer cache, we can improve both average response time and throughput.

slide show
Monday, 29 April,
4:00pm, Room 1325
"Bridging the Information Gap in Storage Protocol Stacks"
Tim Denehy

The functionality and performance innovations in file systems and storage systems have proceeded largely independently from each other over the past years. The result is an information gap: neither has information about how the other is designed or implemented, which can result in a high cost of maintenance, poor performance, duplication of features, and limitations on functionality. To bridge this gap, we introduce and evaluate a new division of labor between the storage system and the file system. We develop an enhanced storage layer known as Exposed RAID (ExRAID), which reveals information to file systems built above; specifically, ExRAID exports the parallelism and failure-isolation boundaries of the storage layer, and tracks performance and failure characteristics on a fine-grained basis. To take advantage of the information made available by ExRAID, we develop an Informed Log-Structured File System (I.LFS). I.LFS is an extension of the standard log-structured file system (LFS) that has been altered to take advantage of the performance and failure information exposed by ExRAID. Experiments reveal that our prototype implementation yields benefits in the management, flexibility, reliability, and performance of the storage system, with only a small increase in file system complexity. For example, I.LFS/ExRAID can incorporate new disks into the system on-the-fly, dynamically balance workloads across the disks of the system, allow for user control of file replication, and delay replication of files for increased performance. Much of this functionality would be difficult or impossible to implement with the traditional division of labor between file systems and storage.

slide show
Wednesday, 15 May,
9:00am, room 2310
Performance vs Cost Tradeoffs in Adaptive and Scalable Overlay Networks
Amin Vahdat

Currently, there is increasing interest for building large-scale overlays to efficiently deliver data to a large number of simultaneous receivers. Example applications include multimedia distribution, event notification, and update propagation among wide-area replicas. Current approaches for building overlays largely fall into two categories. The first employs probing of network characteristics to build overlays that conform to changing characteristics of the underlying network. These approaches typically assume global knowledge of participants and thus cannot scale. The second approach builds multicast distribution trees on top of a peer to peer infrastructure. Such virtualized overlays, including Tapestry, Chord, CAN, and Pastry, demonstrate remarkable scalability but do not provide any control over the performance characteristics of the resulting tree because of the randomized nature of the protocols.

This talk explores whether it is possible to bridge the gap between these two extremes. That is, can we build overlays that both scale and match the characteristics of the underlying network? More specifically, the goal of this work is to build a degree-constrained, low-cost overlay that meets target performance characteristics. Cost may be any measure of the desirability of using a particular link, such as prevailing congestion, the actual amount paid to an ISP, etc. Performance can also be arbitrarily defined, including bandwidth, delay and loss rate. Building the lowest cost tree that satisfies end-to-end performance guarantees (other than for bandwidth) is an NP-complete problem. Thus, our challenge is to build a distributed and scalable system that closely approximates the global optimum under a variety of conditions. We discuss our experience with achieving this goal through the implementation and evaluation of an ACDC (Adaptive Cost, Delay Constrained) overlay.

Archive of Old Talks

Instructions to Speakers

  • Two weeks before your talk, mail a title and abstract to Doug
  • Plan to speak for forty-five minutes and answer questions for fifteen. (Shorter practice talks are also welcome.)
  • You may use whatever medium you prefer. We will provide a Linux/NT machine, a digital projector, and an analog projector.
  • After your talk, mail a copy of your slides (.ps or .ppt) to Doug to be archived.
  • Student speakers should bring cookies or a snack to share!
  • Suggestions for Giving a Good Talk

  • by David Messerschmit
  • by David Stock
  • by Bruce Donald
  • by Peyton et. al.
  • by Ian Parberry
  • [an error occurred while processing this directive]