15380352
Operating system directions for the next Millennium
We believe it is time to reexamine the operating system's role in computing. Operating systems exist to create an environment in which compelling applications come to life. They do that by providing abstractions built on the services provided by hardware. We argue that advances in hardware and networking technology enable a new kind of operating system to support tomorrow's applications. Such an operating system would raise the level of abstraction for developers and users, so that individual computers, file systems, and networks become unimportant to most computations in the same way that processor registers, disk sectors, and physical pages are today.
9095312
Overlook: scalable name service on an overlay network
This paper indicates that a scalable fault-tolerant name service can be provided utilizing an overlay network and that such a name service can scale along a number of dimensions: it can be sized to support a large number of clients, it can allow large numbers of concurrent lookups on the same name or sets of names, and it can provide name lookup latencies measured in seconds. Furthermore, it can enable updates to be made pervasively visible in times typically measured in seconds for update rates of up to hundreds per second. We explain how many of these scaling properties for the name service are obtained by reusing some of the same mechanisms that allowed the underlying overlay network to scale. Finally, we observe that the overlay network is sensitive to bandwidth and CPU limitations.
9636203
Two case studies in predictable application scheduling using Rialto/NT
This paper analyzes the results of two case studies in applying the Rialto/NT scheduler to real Windows 2000 applications. The first study is of a soft modem-a modem whose signal processing work is performed on the host CPU, rather than on a dedicated signal processing chip. The second is of an audio player application. Both of these are frequently used real-time applications-ones running on systems that were not designed to support predictable real-time execution. To function correctly, both applications require that ongoing computations be performed in a timely manner. In both cases, we first measured an original version designed to run on Windows 2000, and then modified the application to take advantage of ongoing CPU reservations provided by the Rialto/NT scheduler. We report on the benefits and problems observed when using reservations in these real-world scenarios. In both cases, we found that a real-time scheduler can provide the needed predictability for the application in the presence of competing applications, while also providing other benefits, such as minimizing the soft modem's impact on the scheduling predictability of other computations in the system. We also describe the methodologies we used to analyze the real-time behavior of the operating system and applications during these studies, including the use of instrumented kernels to produce execution traces.
3871712
CPU reservations and time constraints: efficient, predictable scheduling of independent activities
Workstations and personal computers are increasingly being used for applications with real-time characteristics such as speech understanding and synthesis, media computations and I/O, and animation, often concurrently executed with traditional non-real-time workloads. This paper presents a system that can schedule multiple independent activities so that: . activities can obtain minimum guaranteed execution rates with application-specified reservation granularities via CPU Reservations, CPU Reservations, which are of the form reserve X units of time out of every Y units, provide not just an average case execution rate of X/Y over long periods of time, but the stronger guarantee that from any instant of time, by Y time units later, the activity will have executed for at least X time units, . applications can use Time Constraints to schedule tasks by deadlines, with on-time completion guaranteed for tasks with accepted constraints, and . both CPU Reservations and Time Constraints are implemented very efficiently. In particular, . CPU scheduling overhead is bounded by a constant and is not a function of the number of schedulable tasks. Other key scheduler properties are: . activities cannot violate other activities' guarantees, . time constraints and CPU reservations may be used together, separately, or not at all (which gives a round-robin schedule), with well-defined interactions between all combinations, and . spare CPU time is fairly shared among all activities. The Rialto operating system, developed at Microsoft Research, achieves these goals by using a precomputed schedule, which is the fundamental basis of this work.
6816342
SkipNet: A Scalable Overlay Network with Practical Locality Properties
Scalable overlay networks such as Chord, CAN, Pastry, and Tapestry have recently emerged as flexible infrastructure for building large peer-to-peer systems. In practice, such systems have two disadvantages: They provide no control over where data is stored and no guarantee that routing paths remain within an administrative domain whenever possible. SkipNet is a scalable overlay network that provides controlled data placement and guaranteed routing locality by organizing data primarily by string names. SkipNet allows for both fine-grained and coarse-grained control over data placement: Content can be placed either on a pre-determined node or distributed uniformly across the nodes of a hierarchical naming sub-tree. An additional useful consequence of SkipNet's locality properties is that partition failures, in which an entire organization disconnects from the rest of the system, can result in two disjoint, but well-connected overlay networks.
17732369
Predictability requirements of a soft modem
Soft Modems use the main processor to execute modem functions traditionally performed by hardware on the modem card. To function correctly, soft modems require that ongoing signal processing computations be performed on the host CPU in a timely manner. Thus, signal processing is a commonly occurring background real-time application---one running on systems that were not designed to support predictable real-time execution. This paper presents a detailed study of the performance characteristics and resource requirements of a popular soft modem. Understanding these requirements should inform the efforts of those designing and building operating systems needing to support soft modems. Furthermore, we believe that the conclusions of this study also apply to other existing and upcoming soft devices, such as soft Digital Subscriber Line (DSL) cards. We conclude that (1) signal processing in an interrupt handler is not only unnecessary but also detrimental to the predictability of other computations in the system and (2) a real-time scheduler can provide predictability for the soft modem while minimizing its impact on other computations in the system.
40903922
CPJazz-a software framework for vehicle systems integration and wireless connectivity
Integration of new technology into vehicles continues at a rapid pace. New technology includes not only deeply embedded devices for vehicle systems management but also operator interfaces, such as navigation systems, voice-recognition/text-to-speech interfaces and integration of consumer electronic appliances such as the personal digital assistant (PDA). Standardization efforts have attempted to bring these technologies together through common buses, but because these devices have different capabilities and requirements of their own, this is most likely impossible. The CPJazz framework was designed to provide integration of disparate devices and protocols through a dynamic and scalable component-based architecture. In this paper, the capabilities and services provided by CPJazz for vehicle-based software integrators are discussed, as well as the identification of key scenarios that demonstrate its contributions to the vehicle and wireless environment.
13294915
Voxelisation: Modelling for Volume Graphics
Voxelisation is the term given to the process of converting data from one source type into a three dimensional volume of data values. The techniques known collectively as volume visualisation can then be applied to the data in order to produce a graphical representation of the object. This paper gives a new practical approach to the voxelisation of data which fills the entire volume. Its use is demonstrated on various datasets such as triangular mesh objects, CT data, and objects defined by trivariate functions.
9893455
Interactive Modelling in Decision Support Systems
Abstract In the past, the use of computer models in decision support has involved the interpretation of written reports derived from the output of the model. In recent years, however, the development of micro-computers and istributed computing systems has made it possible for decision-makers to be provided, not with a written report, but with a copy of the model itself. The new relationship between the user and the model, which this development establishes, has important implications for the way in which decision support systems (DSSs) are designed and used.
46877382
"Please Turn ON Your Mobile Phone" - First Impressions of Text-Messaging in Lectures
Previous work by Draper and Brown [3] investigated the use of specialized handsets to increase interactivity in lecture settings. Inspired by their encouraging findings we have been exploring the use of conventional mobile phones and text-messaging to allow students to communicate with the lecturer as the class proceeds. In our pilot-study, students were able to respond to MCQs and send free-text comments and questions to the lecturer via SMS. Through observations and interviews with students and lecturers, we gained useful impressions of the value of such an approach. Students enjoyed the opportunity to be more actively involved but voiced concerns about costs.
9087296
Using Types to Parse Natural Language
We describe a natural language parser that uses type information to determine the grammatical structure of simple sentences and phrases. This stands in contrast to studies of type inference where types and grammatical structure play opposite roles, the former being determined by the latter. Our parser is implemented in Haskell and is based on a linguistic theory called applicative universal grammar (AUG). Our results should be interesting to computer scientists in the way in which AUG relates to types and combinatory calculus, and to linguists in the way in which a very simple, brute force parsing strategy performs surprisingly well in both performance and accuracy.