18166886
On Routing in ATM Networks
Alternative routing of calls has long been acknowledged as a means of increasing call throughput and robustness in the telephone network. Given these performance gains, it is natural to consider dynamic routing of Virtual Circuits (VCs) in Asynchronous Transfer Mode (ATM) networks. Unlike telephone networks, VCs have heterogeneous bandwidth characteristics and Quality of Service requirements that the routing algorithm must take into account in order to optimize performance. In this paper we attempt to classify ATM networks according to the network characteristics that have the greatest bearing on the performance of dynamic routing algorithms; we also discuss appropriate routing algorithms for diierent classes of ATM network. The classiication is based on the degree of heterogeneity of the sources and the degree of statistical multiplexing.
8942941
Improving the WWW: Caching or Multicast?
Abstract We consider two schemes for the distribution of popular Web documents. In the first scheme the sender repeatedly transmits the Web document into a multicast address, and receivers asynchronously join the corresponding multicast tree to receive a copy. In the second scheme, the document is distributed to the receivers through a hierarchy of Web caches. We develop analytical models for both schemes, and use the models to compare the two schemes in terms of latency and bandwidth usage. We find that except for documents that change very frequently, hierarchical caching gives lower latency and uses less bandwidth than multicast. For rapidly changing documents, multicast distribution reduces latency, saves network bandwidth, and reduces the load on the origin server. Furthermore, if a document is updated randomly rather than periodically, the relative performance of CMP improves. Therefore, the best overall performance is achieved when the Internet implements both solutions, hierarchical caching and multicast.
27961905
Performance evaluation of redirection schemes in content distribution networks
Content distribution on the Web is moving from an architecture where objects are placed on a single, designated server to an architecture where objects are replicated on geographically distributed servers and clients transparently access a nearby copy of an object. In this paper we study how the different redirection schemes used in modern content distribution networks affect the user-perceived performance in normal Web page viewing. Using both simulations and experiments with real Web servers we show that redirection schemes that require clients to retrieve different parts of a Web page from different servers yield sub-optional performance compared to schemes where a client accesses only one server for all the parts of a Web page. This implies that when replicating Web pages, we should treat the whole page (HTML and images) as a single entity.
1908016
Optimal peer selection for P2P downloading and streaming
In a P2P system, a client peer may select one or more server peers to download a specific file. In a P2P resource economy, the server peers charge the client for the downloading. A server peer's price would naturally depend on the specific object being downloaded, the duration of the download, and the rate at which the download is to occur. The optimal peer selection problem is to select, from the set of peers that have the desired object, the subset of peers and download rates that minimizes cost. In this paper we examine a number of natural peer selection problems for both P2P downloading and P2P streaming. For downloading, we obtain the optimal solution for minimizing the download delay subject to a budget constraint, as well as the corresponding Nash equilibrium. For the streaming problem, we obtain a solution that minimizes cost subject to continuous playback while allowing for one or more server peers to fail during the streaming process. The methodologies developed in this paper are applicable to a variety of P2P resource economy problems.
22940589
Asynchronous voice: a personal account
Asynchronous voice is the interactive communication process of people leaving voice messages for other people and the other people responding with their voice messages. A primitive form of asynchronous voice is a kind of telephone tag in which people use voice mail to have an interactive conversation. The author gives a personal account of his work with asynchronous voice and asynchronous learning.
45021908
Video-on-Demand Over ATM: Constant-Rate Transmission and Transport
We introduce a specific transport and transmission scheme for video-on-demand (VoD) called constant-rate transmission and transport (CRTT). CRTT establishes a constant bit-rate (CBR) virtual channel between the video provider and the viewer's set-top box (STB) and then transmits cells from the provider into this channel at a constant rate. Since we assume that the number of cells in a frame is variable, CRTT requires that some number of cells be built up in an STB buffer before the commencement of playback. The build up, cell transmission rate, and the set-top memory size must be chosen so that there is no starvation or overflow at the STB. We develop fundamental relationships between these parameters for viable CRTT. We then apply the theory to an MPEG encoding of Star Wars and find that the minimal STB memory far CRTT is 23 Mbytes. We also consider varying the constant rate over a small number of intervals. We find, for example, that for Star Wars approximately 2 Mbytes of set-top memory suffices with 32 constant-rate intervals.
5443410
Efficient Incremental Evaluation of Queries with Aggregation
We present a technique for eeciently evaluating queries on programs with mono-tonic aggregation, a class of programs deened by Ross and Sagiv. Our technique consists of the following components: incremental computation of aggregate functions , incremental xpoint evaluation of monotonic programs and Magic Sets transformation of monotonic programs. We also present a formalization of the notion of incremental computation of aggregate functions on a multiset, and upper and lower bounds for incremental computation of a variety of aggregate functions. We describe a proof-theoretic reformulation of the monotonic semantics in terms of computations, following the approach of Beeri et al.; this reformulation greatly simpliies the task of proving the correctness of our optimizations.
2752855
Filtering algorithms and implementation for very fast publish/subscribe systems
Publish/Subscribe is the paradigm in which users express long-term interests (“subscriptions”) and some agent “publishes” events (e.g., offers). The job of Publish/Subscribe software is to send events to the owners of subscriptions satisfied by those events. For example, a user subscription may consist of an interest in an airplane of a certain type, not to exceed a certain price. A published event may consist of an offer of an airplane with certain properties including price. Each subscription consists of a conjunction of (attribute, comparison operator, value) predicates. A subscription closely resembles a trigger in that it is a long-lived conditional query associated with an action (usually, informing the subscriber). However, it is less general than a trigger so novel data structures and implementations may enable the creation of more scalable, high performance publish/subscribe systems. This paper describes an attempt at the construction of such algorithms and its implementation. Using a combination of data structures, application-specific caching policies, and application-specific query processing our system can handle 600 events per second for a typical workload containing 6 million subscriptions.
9401708
Complex Aggregation at Multiple Granularities
Datacube queries compute simple aggregates at multiple granularities. In this paper we examine the more general and useful problem of computing a complex subquery involving multiple dependent aggregates at multiple granularities. We call such queries multi-feature cubes. An example is Broken down by all combinations of month and customer, find the fraction of the total sales in 1996 of a particular item due to suppliers supplying within 10% of the minimum price (within the group), showing all subtotals across each dimension. We classify multi-feature cubes based on the extent to which fine granularity results can be used to compute coarse granularity results; this classification includes distributive, algebraic and holistic multi-feature cubes. We provide syntactic sufficient conditions to determine when a multi-feature cube is either distributive or algebraic. This distinction is important because, as we show, existing datacube evaluation algorithms can be used to compute multi-feature cubes that are distributive or algebraic, without any increase in I/O complexity. We evaluate the CPU performance of computing multi-feature cubes using the datacube evaluation algorithm of Ross and Srivastava. Using a variety of synthetic, benchmark and real-world data sets, we demonstrate that the CPU cost of evaluating distributive multi-feature cubes is comparable to that of evaluating simple datacubes. We also show that a variety of holistic multi-feature cubes can be evaluated with a manageable overhead compared to the distributive case.
9519416
Selection conditions in main memory
We consider the fundamental operation of applying a compound filtering condition to a set of records. With large main memories available cheaply, systems may choose to keep the data entirely in main memory, in order to improve query and/or update performance.The design of a data-intensive algorithm in main memory needs to take into account the architectural characteristics of modern processors, just as a disk-based method needs to consider the physical characteristics of disk devices. An important architectural feature that influences the performance of main memory algorithms is the branch misprediction penalty. We demonstrate that branch misprediction has a substantial impact on the performance of an algorithm for applying selection conditions.We describe a space of "query plans" that are logically equivalent, but differ in terms of performance due to variations in their branch prediction behavior. We propose a cost model that takes branch prediction into account, and develop a query optimization algorithm that chooses a plan with optimal estimated cost for conjunctive conditions. We also develop an efficient heuristic optimization algorithm. We also show how records can be ordered to further reduce branch misprediction effects.We provide experimental results for a case study based on an event notification system. Our results show the effectiveness of the proposed optimization techniques. Our results also demonstrate that significant improvements in performance can be obtained by applying a methodology that takes branch misprediction latency into account.
1995310
Cache Conscious Indexing for Decision-Support in Main Memory
We study indexing techniques for main memory, including hash indexes, binary search trees, T-trees, B+-trees, interpolation search, and binary search on arrays. In a decision-support context, our primary concerns are the lookup time, and the space occupied by the index structure. Our goal is to provide faster lookup times than binary search by paying attention to reference locality and cache behavior, without using substantial extra space. We propose a new indexing technique called \Cache-Sensitive Search Trees" (CSS-trees). Our technique stores a directory structure on top of a sorted array. Nodes in this directory have size matching the cache-line size of the machine. We store the directory in an array and do not store internal-node pointers; child nodes can be found by performing arithmetic on array osets. We compare the algorithms based on their time and space requirements. We have implemented all of the techniques, and present a performance study on two popular modern machines. We demonstrate that with This research was supported by a David and Lucile Packard Foundation Fellowship in Science and Engineering, by an NSF Young Investigator Award, by NSF grant number IIS-98-12014, and by NSF CISE award CDA-9625374.