Results 1 -
9 of
9
Eliminating receive livelock in an interrupt-driven kernel
- ACM Transactions on Computer Systems
, 1997
"... Most operating systems use interface interrupts to schedule network tasks. Interrupt-driven systems can provide low overhead and good latency at low of-fered load, but degrade significantly at higher arrival rates unless care is taken to prevent several pathologies. These are various forms of receiv ..."
Abstract
-
Cited by 241 (4 self)
- Add to MetaCart
Most operating systems use interface interrupts to schedule network tasks. Interrupt-driven systems can provide low overhead and good latency at low of-fered load, but degrade significantly at higher arrival rates unless care is taken to prevent several pathologies. These are various forms of receive livelock, in which the system spends all its time processing interrupts, to the exclusion of other neces-sary tasks. Under extreme conditions, no packets are delivered to the user application or the output of the system. To avoid livelock and related problems, an operat-ing system must schedule network interrupt handling as carefully as it schedules process execution. We modified an interrupt-driven networking implemen-tation to do so; this eliminates receive livelock without degrading other aspects of system performance. We present measurements demonstrating the success of our approach. 1.
Operating System Support for Multimedia Systems
- THE COMPUTER COMMUNICATIONS JOURNAL, ELSEVIER
, 1999
"... Distributed multimedia applications will be an important part of tomorrow's application mix and require appropriate operating system (OS) support. Neither hard real-time solutions nor best-effort solutions are directly well suited for this support. One reason is the coexistence of real-time and best ..."
Abstract
-
Cited by 21 (6 self)
- Add to MetaCart
Distributed multimedia applications will be an important part of tomorrow's application mix and require appropriate operating system (OS) support. Neither hard real-time solutions nor best-effort solutions are directly well suited for this support. One reason is the coexistence of real-time and best effort requirements in future systems. Another reason is that the requirements of multimedia applications are not easily predictable, like variable bit rate coded video data and user interactivity. In this article, we present a survey of new developments in OS support for (distributed) multimedia systems, which include: (1) development of new CPU and disk scheduling mechanisms that combine real-time and best effort in integrated solutions; (2) provision of mechanisms to dynamically adapt resource reservations to current needs; (3) establishment of new system abstractions for resource ownership to account more accurate resource consumption; (4) development of new file system structures; (5) ...
The Performance of the Container Shipping I/O System
, 1995
"... I/O subsystems, and the APIs used to access them, have long been designed with two basic assumptions. First, I/O is performed to relatively slow disks or terminals, so processor time for I/O operations is available while waiting for devices. Second, optimization is done by guessing the user's needs, ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
I/O subsystems, and the APIs used to access them, have long been designed with two basic assumptions. First, I/O is performed to relatively slow disks or terminals, so processor time for I/O operations is available while waiting for devices. Second, optimization is done by guessing the user's needs, such as a filesystem cache does by assuming locality. This traditional design causes I/O performance problems for modern devices such as video displays and high-speed networks, where the above assumptions are no longer valid. We have designed a high-performance I/O subsystem, and a uniform API through which it is accessed, that gives a user-level programmer greater control, which allows operations to be performed more efficiently, and often optimally. Speedups from 30 to over 700 percent can be demonstrated with our technique. Our API is fully uniform, and yields gains for any form of device, including disks, networks, frame buffers, and even IPC performed through the I/O system. This paper...
Experiments with Digital Video Playback
, 1995
"... In this paper we describe our experiments on digital video applications, concentrating on the static and dynamic tradeoffs involved in video playback. Our results were extracted from a controlled series 272 tests, which we ran in three stages. In the first stage of 120 tests, we used a simple player ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In this paper we describe our experiments on digital video applications, concentrating on the static and dynamic tradeoffs involved in video playback. Our results were extracted from a controlled series 272 tests, which we ran in three stages. In the first stage of 120 tests, we used a simple player-monitor tool to evaluate the effects of various static parameters: compression type, frame size, digitized rate, spatial quality and keyframe distribution. The tests were carried out on two Apple Macintosh platforms: at the lower end a Quadra 950, and at the higher end, a Power PC 7100/80. Our quantitative metrics included average playback rate, as well as the rate's variance over one-second intervals. The first set of experiments unveiled several anomalous latencies. To track them down we ran an additional 120 tests, whose analysis led us to find the locus of the system's bottlenecks. They also let us conclude that a software-only solution was sufficient for good video playback on the sys...
Roadrunner
"... Introduction On-demand multimedia applications can impose Quality-of-Service (QoS) parameters on streaming data transfers performed by operating systems. For multimedia servers, high performance in the form of low latency and high throughput are also necessary. This work seeks to improve the perfor ..."
Abstract
- Add to MetaCart
Introduction On-demand multimedia applications can impose Quality-of-Service (QoS) parameters on streaming data transfers performed by operating systems. For multimedia servers, high performance in the form of low latency and high throughput are also necessary. This work seeks to improve the performance of simple data streaming between hardware devices with QoS in the context of general-purpose operating systems. Simple streaming refers to moving data from one device to another without transforming (e. g. compressing) the data during the transfer. A transfer model originates data at a source device, traverses a transfer path, and delivers data to a destination device. In this work, we our interested in sources that are files on a mass storage device being served to a destination network adapter. For these transfers, the path must necessarily include the file system and network protocol stack. Streams are partitioned into burst and periodic<F25.75
High-Performance I/O and Networking Software in Sequoia 2000
"... We describe our experiences producing high-speed network and I/O software in the Sequoia 2000 Project. The efficient movement of very large objects, from tens to hundreds of megabytes in size, is a key requirement for Sequoia distributed applications. We present new designs and implementations of op ..."
Abstract
- Add to MetaCart
We describe our experiences producing high-speed network and I/O software in the Sequoia 2000 Project. The efficient movement of very large objects, from tens to hundreds of megabytes in size, is a key requirement for Sequoia distributed applications. We present new designs and implementations of operating system I/O software. Our methods provide significant performance improvements for transfers among devices, processes, and between the two. We describe techniques that reduce or eliminate costly memory accesses, avoid unnecessary processing, and bypass system overheads to improve throughput while reducing latency. 1.0 Introduction In the Sequoia 2000 project, we addressed the problem of designing a distributed computer system that can efficiently retrieve, store, and transfer very large data objects. By "very large", we mean data objects in excess of tens or even hundreds of megabytes (MB). Sequoia 2000 chose Earth science as an application area because of its massive computational r...
(AVHRR) image cube requires
"... ION LAYER DEVICE LAYER USER SPACE KERNEL SPACE SOURCE DEVICE NETWORK ADAPTER CLIENT APPLICATION LAYER STANDARD I/O LAYER ABSTRACTION LAYER DEVICE LAYER USER SPACE KERNEL SPACE NETWORK ADAPTER SINK DEVICE ROUTER ROUTER NETWORK Figure 2 An End-to-End Data Path from a Source Device on One Workstation ..."
Abstract
- Add to MetaCart
ION LAYER DEVICE LAYER USER SPACE KERNEL SPACE SOURCE DEVICE NETWORK ADAPTER CLIENT APPLICATION LAYER STANDARD I/O LAYER ABSTRACTION LAYER DEVICE LAYER USER SPACE KERNEL SPACE NETWORK ADAPTER SINK DEVICE ROUTER ROUTER NETWORK Figure 2 An End-to-End Data Path from a Source Device on One Workstation to a Sink Device on Another Workstation device is a network adapter. In this paper, we use the term data transfer problemto refer to the problem of reducing these overheads to achieve high throughput between a source device and a sink device, either of which can be a network adapter within a single workstation. Although the data transfer problem may also exist in intermediate routers, it does so to a much lesser degree than with end-user workstations (assuming modern router software and hardware technology). This is because of a router's simplified execution environment and its reduced needs for transfers across multiple protected domains. However, there is nothing that precludes the appli...
unknown title
"... We describe our experiences producing high-speed network and I/O software in the Sequoia 2000 Project. The efficient movement of very large objects, from tens to hundreds of megabytes in size, is a key requirement for Sequoia distributed applications. We present new designs and implementations of op ..."
Abstract
- Add to MetaCart
We describe our experiences producing high-speed network and I/O software in the Sequoia 2000 Project. The efficient movement of very large objects, from tens to hundreds of megabytes in size, is a key requirement for Sequoia distributed applications. We present new designs and implementations of operating system I/O software. Our methods provide significant performance improvements for transfers among devices, processes, and between the two. We describe techniques that reduce or eliminate costly memory accesses, avoid unnecessary processing, and bypass system overheads to improve throughput while reducing latency. In the Sequoia 2000 project, we addressed the problem of designing a distributed computer system that can efficiently retrieve, store, and transfer very large data objects. By “very large”,

