Learn More
Vegas is a new implementation of TCP that achieves between 40 and 70% better throughput, with one-fifth to one-half the losses, as compared to the implementation of TCP in the Reno distribution of BSD Unix. This paper motivates and describes the three key techniques employed by Vegas, and presents the results of a comprehensive experimental performance(More)
As le systems grow i n size, ensuring that data is safely stored becomes more and more diicult. Historically , le system backup strategies have focused on logical backup where les are written in their entirety to the backup media. An alternative i s p h ys-ical backup where the disk blocks that make up the le system are written to the backup media. This(More)
Network software is a critical component of any distributed system. Because of its complexity, network software is commonly layered into a hierarchy of protocols, or more generally, into a <italic>protocol graph</italic>. Typical protocol graphs&#8212;including those standardized in the ISO and TCP/IP network architectures&#8212;share three important(More)
This white paper describes Scout, a new operating system being designed for systems connected to the National Information Infrastructure (NII). Scout provides a communication-oriented software architecture for building operating system code that is specialized for the different systems that we expect to be available on the NII. It includes an explicit path(More)
x-kernel is an experimental operating system for personal workstations that allows uniform access to resources throughout a nationwide internet: an interconnection of networks similar to the TCP/IP internet. This network is also called the National Research and Education Network (NREN). The x-kernel supports a library of protocols, and it accesses different(More)
The Diie-Hellman key exchange algorithm can be implemented using the group of points on an elliptic curve over the eld F 2 n. A software version of this using n = 155 can be optimized to achieve computation rates that are signiicantly faster than non-elliptic curve versions with a similar level of security. The fast computation of reciprocals in F 2 n is(More)
This paper reports our experiences implementing remote procedure call (RPC) protocols in the <italic>x</italic>-kernel. This exercise is interesting because the RPC protocols exploit two novel design techniques: <italic>virtual protocols</italic> and <italic>layered protocols</italic>. These techniques are made possible because the <italic>x</italic>-kernel(More)
This paper describes several techniques designed to improve protocol latency, and reports on their effectiveness when measured on a modern RISC machine employing the DEC Alpha processor. We found that the memory system---which has long been known to dominate network throughput---is also a key factor in protocol latency. As a result, improving instruction(More)
A protocol compiler takes as input an abstract specification of a protocol and generates an implementation of that protocol. Protocol compilers usually produce inefficient code both in terms of code speed and code size. In this paper, we show that the combination of two techniques makes it possible to build protocol compilers that generate efficient code.(More)