An emerging killer application for enterprise wireless LANs (WLANs) is voice over IP (VoIP) telephony, which
promises to greatly improve the reachability and mobility of enterprise telephony service at low cost. None
of the commercial IEEE 802.11 WLAN-based VoIP products can support more than ten G.729-quality voice
conversations over a single IEEE 802.11b channel on real-world WLANs, even though the physical transmission
rate is more than two orders of magnitude higher than an individual VoIP connection's bandwidth requirement.
There are two main reasons why these VoIP systems' effective throughput is significantly lower than expected:
VoIP's stringent latency requirement and substantial per-WLAN-packet overhead. Time-Division Multiple Access
(TDMA) is a well-known technique that provides per-connection QoS guarantee as well as improves the
radio channel utilization efficiency. This paper compares the effective throughput of IEEE 802.11, IEEE 802.11e
and a software-based TDMA (STDMA) protocol that is specifically designed to support WLAN-based VoIP applications,
on the same commodity IEEE 802.11 WLAN hardware. Empirical measurements from a VOIP over
WLAN testbed show that the numbers of G.729-quality voice conversations that IEEE 802.11, IEEE 802.11e
and STDMA can support over a single IEEE 802.11b channel are 18, 22 and 50, respectively.
Modern consumer-grade 3D graphic cards boast a computation/memory resource that can easily rival or even
exceed that of standard desktop PCs. Although these cards are mainly designed for 3D gaming applications, their
enormous computational power has attracted developers to port an increasing number of scientific computation
programs to these cards, including matrix computation, collision detection, cryptography, database sorting, etc.
As more and more applications run on 3D graphic cards, there is a need to allocate the computation/memory
resource on these cards among the sharing applications more fairly and efficiently. In this paper, we describe the
design, implementation and evaluation of a Graphic Processing Unit (GPU) scheduler based on Deficit Round
Robin scheduling that successfully allocates to every process an equal share of the GPU time regardless of their
demand. This scheduler, called GERM, estimates the execution time of each GPU command group based on
dynamically collected statistics, and controls each process's GPU command production rate through its CPU
scheduling priority. Measurements on the first GERM prototype show that this approach can keep the maximal
GPU time consumption difference among concurrent GPU processes consistently below 5% for a variety of
<i>BitTorrent</i> is arguably the most popular media file distribution protocol used in Internet today. Even though empirically <i>BitTorrent</i> seems to be both efficient and scalable, there has been very little research on the detailed dynamics of its built-in control mechanisms, and their effectiveness across a wide variety of network configurations and protocol parameters. The main goal of this paper is to answer the question of how close <i>BitTorrent</i> is to the optimum, and indirectly how much room there is for further performance optimizations. We develop a centrally scheduled file distribution (CSFD) protocol that can provably minimize the total elapsed time of a one-sender-multiple-receiver file distribution task, and perform a comprehensive comparison between <i>BitTorrent</i> with <i>CSFD</i>. In addition, we compare several peer selection algorithms and analyze the applicability of <i>BitTorrent</i> to real-time streaming applications.
The temporal ordering and the spatial viewpoints of video frames in conventional digital video content are completely determined at the time of authoring. Because of the lack of runtime navigation flexibility in the content, traditional video-on-demand systems have very limited navigation controls, such as fast-forward/rewind etc. In contrast, we have developed a new form of interactive video content called <i>active video</i>, which supports hyper-linking among related video sequences for temporal navigation and interpolation among stored video sequences, that simultaneously capture a dynamic scene, for spatial navigation. Thus active video enables the end user to choose the temporal frame sequencing and the viewing angle (even virtual ones) during playback. This additional navigation flexibility cannot be supported by traditional video distribution systems. The storage and playback of active video poses unique design challenges. Active video delivery requires <i>computation support</i> on the data path, between the storage and the playback application, to interpolate new views based on stored views. Since active video is only a specific instance of a broad class of interactive media, that require computation support on the server, the new distribution system designed for active video should also be <i>programmable</i> and <i>extensible</i> to store and perform runtime processing of other forms of interactive media. A software architecture of the shared programmable computation framework also needs to address <i>performance</i> and <i>data isolation </i>issues. We have designed and implemented a comprehensive active video authoring, compression, storage, and playback system called <i>Memphis</i>. In this paper, we describe the design and implementation of the storage and playback components which address the above design issues.
Real-time applications that utilize multiple system resources, such as CPU, disks, and network links, require coordinated scheduling of these resources in order to meet their end-to-end performance requirements. Most state-of-the-art operating systems support independent resource allocation and deadline-driven scheduling but lack coordination among multiple heterogeneous resources. This paper describes the design and implementation of an Integrated Real-time Resource Scheduler (IRS) that performs coordinated allocation and scheduling of multiple heterogeneous resources on the same machine for periodic soft real-time application. The principal feature of IRS is a heuristic multi-resource allocation algorithm that reserves multiple resources for real-time applications in a manner that can maximize the number of applications admitted into the system in the long run. At run-time, a global scheduler dispatches the tasks of the soft real-time application to individual resource schedulers according to the precedence constraints between tasks. The individual resource schedulers, which could be any deadline based schedulers, can make scheduling decisions locally and yet collectively satisfy a real-time application's performance requirements. The tightness of overall timing guarantees is ultimately determined by the properties of individual resource schedulers. However, IRS maximizes overall system resource utilization efficiency by coordinating deadline assignment across multiple tasks in a soft real-time application.
Rether was originally developed to support guaranteed Quality of Service (QoS) for shared Ethernet LANs. With the growing popularity of wireless LANs, we modified the Rether protocol to provide QoS guarantee on wireless networks. In this paper, we present the design and implementation of the Wireless Rether protocol for 802.11 networks. We also describe our experiences with wireless LAN hardware. Wireless Rether supports QoS for TCP and UDP traffic in both upstream and downstream directions. The protocol can seamlessly inter-operate with any priority-based QoS mechanisms (such as Diffserv on the wired networks that connect the wireless access network to the rest of the Internet. QoS requirements of real-time applications are specified as a simple configurable policy table. Legacy networking applications can benefit from QoS guarantees provided by Wireless Rether without requiring any modifications.
Network-based multi-user interaction systems such as network games typically include a database shared among the players that are physically distributed and interact with one another over the network. Currently network game developers have to implement the shared database and the inter-player communications from scratch. This paper presents the result of a performance study on the effects of network bandwidth optimization techniques provided by a previously proposed distributed system, Artery, which is specifically designed to support network game applications by providing high-level application program interfaces and by exploiting application semantics for traffic reduction. This work studied a popular public-domain network game called Netrek, and showed through experiments that the techniques proposed in Artery combined can indeed cut down the network bandwidth requirements of Netrek sessions by a factor between 5 to 90, depending on the number of players in the game.
This paper describes the design, implementation, and evaluation of a broadcast trivial file transfer (BTFTP) protocol, which can be used as an efficient data transport protocol for networks that inherently support hardware broadcasting, such as Ethernet, wireless LANs, and cable TV networks. We show that BTFTP out-performs FTP on an Ethernet environment when there are more than two clients, and the performance difference increases as the number of clients increases.
Internet firewalls control the data traffic in and out of an enterprise network by checking network packets against a set of rules that embodies an organization's security policy. Because rule checking is computationally more expensive than routing-table look-up, it could become a potential bottleneck for scaling up the performance of IP routers, which typically implement firewall functions in software. in this paper, we analyzed the performance problems associated with firewalls, particularly packet filters, propose a good connection cache to amortize the costly security check over the packets in a connection, and report the preliminary performance results of a trace-driven simulation that show the average packet check time can be reduced by a factor of 2.5 at the least.
Network-based multi-user interaction systems such as network games typically include a database shared among the players that are physically distributed and interact with one another over the network. Currently network game developers have to implement the shared database and the inter-player communications from scratch. This paper presents the architecture of a distributed system, Artery, which is specifically designed to support network game applications by providing a high-level application program interface and by taking advantage of application semantics to optimize the network performance. Artery features such network bandwidth reduction techniques as dead reckoning and message aggregation, a novel virtual world database consistency maintenance scheme based on the dynamic group consistency model, and the support for distributed dynamic environment servers. The integration of Artery's features with existing IP multicasting mechanisms is also discussed.
With the advent of multimedia computing, there is an emerging need for systems that can support digital continuous media without requiring special adaptation logic on the part of application programs and that can be implemented on existing network infrastructures. In this paper the system architecture of the Stony Brook video server (SBVS) is described. To guarantee real-time end-to-end performance, SBVS uses a real-time network access protocol, RETHER, that uses existing Ethernet hardware. SBVS tightly integrates the bandwidth guarantee mechanisms between network transport and disk I/O. SBVS's stream-by-stream disk scheduling scheme optimizes the effective disk bandwidth without incurring scheduling overhead every cycle. In addition, SBVS implements multi-resolution video coding to reduce network and I/O bandwidth demands in normal viewing mode, while supporting fast forward/backward without requiring extra bandwidth. To demonstrate the feasibility of the proposed architecture, we have implemented the first prototype, SBVS-1, which can support five concurrent video streams on an EISA PC. To our knowledge, this is the first video server that provides an end-to-end performance guarantee from the server's disks to each user's display over standard Ethernet. In this paper, we describe the implementation details of integrating network and I/O bandwidth guarantee mechanisms, and the performance measurements that drive and/or validate our design decisions.
The goal of Video-On-Demand (VOD) service is to allow users to access arbitrary video sequences at arbitrary time across wide-area networks. Because of the large amount of data volume associated with real-time video, the communications and I/O bandwidth requirements pose an extremely difficult challenge to computer systems designers. This paper focuses specifically on the I/O subsystem design for large-scale video servers. We describe a periodic broadcasting approach and its associated data layout algorithms to cost-effectively address the I/O bandwidth problems associated with large-scale VOD servers. The paper also presents techniques to support a limited form of VCR-like trick plays such as fast forward and reverse under the proposed framework.