31679743
Making Real Data Persistent: Initial Experiences with SMRC
The Shared Memory-Resident Cache (SMRC) facility under development at IBM Almaden enables persistent C++ data structures to reside in a relational database by utilizing its binary large object (BLOB) facilities. Through SMRC, persistent C++ data then can be accessed both programmatically and through relational queries. Testing and refinement of the SMRC persistence facility has been driven by the early adoption of a challenging application, “graphical explain,” which provides support for the storage and visualization of optimized relational query plans. The purpose of this paper is to report on our early experiences with this application, as it has been enlightening with respect to the sorts of C++ data structures and programming practices that must be dealt with in order to make “reap’ C++ data persistent.
9500647
Querying Multimedia Data from Multiple Repositories by Content: the Garlic Project
We describe Garlic, an object-oriented multimedia middleware query system. Garlic enables existing data management components, such as a relational database or a full text search engine, to be integrated into an extensible information management system that presents a common interface and user access tools. We focus in this paper on how QBIC, an image retrieval system that provides content-based image queries, can be integrated into Garlic. This results in a system in which a single query can combine visual and nonvisual data using type-specific search techniques, enabling a new breed of multimedia applications
1009208
Fine-grained sharing in a page server OODBMS
For reasons of simplicity and communication efficiency, a number of existing object-oriented database management systems are based on page server architectures; data pages are their minimum unit of transfer and client caching. Despite their efficiency, page servers are often criticized as being too restrictive when it comes to concurrency, as existing systems use pages as the minimum locking unit as well. In this paper we show how to support object-level locking in a page server context. Several approaches are described, including an adaptive granularity approach that uses page-level locking for most pages but switches to object-level locking when finer-grained sharing is demanded. We study the performance of these approaches, comparing them to both a pure page server and a pure object server. For the range of workloads that we have examined, our results indicate that a page server is clearly preferable to an object server. Moreover, the adaptive page server is shown to provide very good performance, generally outperforming the pure page server, the pure object server, and the other alternatives as well.
5949420
Indexing Alternatives for Multiversion Locking
In this paper, we present several options for extending single-version indexing schemes for use with multiversion two-phase locking. The proposed options are orthogonal to the underlying indexing structure (e.g., hashing or B+ trees). The options differ in where they place references to individual versions; this version selection information is placed either with the data or in the leaf entries of one or more indices. We also briefly summarize the results of a performance study showing that storing version selection information with the data is usually the best option because it keeps indices smaller, thus enabling a larger fraction of the indices to remain cached in the buffer pool.
7665858
Shoring up persistent applications
SHORE (Scalable Heterogeneous Object REpository) is a persistent object system under development at the University of Wisconsin. SHORE represents a merger of object-oriented database and file system technologies. In this paper we give the goals and motivation for SHORE, and describe how SHORE provides features of both technologies. We also describe some novel aspects of the SHORE architecture, including a symmetric peer-to-peer server architecture, server customization through an extensible value-added server facility, and support for scalability on multiprocessor systems. An initial version of SHORE is already operational, and we expect a release of Version 1 in mid-1994.
6221317
Client-Server Caching Revisited
The caching of data and/or locks at client workstations is an eeective technique for improving the performance of a client-server database system. This paper extends an earlier performance study of client-server caching in several ways. The rst is a re-examination of heuristics for deciding dynamically between propagating changes or invalidating remote copies of data pages in order to maintain cache consistency. The second is a study of the \Callback Locking" family of caching algorithms. These algorithms are of interest because they provide an alternative to the optimistic techniques used in the earlier study and because they have recently begun to nd use in commercial systems. In addition, the performance of the caching algorithms is examined in light of current trends in processor and network speeds and in the presence of data contention.
28682270
Extending and solving a multiperiod congested network flow model
Abstract We consider an existing model for optimizing time-varying flows on a congested network, and extend it so as to improve its accuracy while reducing computation. The model has been developed in a series of articles and has a variety of applications. Solving the model is a significant problem, since it is a non-linear program and can be very large for even small or medium size applications. Hitherto the model has been solved by taking a piecewise linear approximation and solving this as a linear program, perhaps taking advantage of the staircase structure of the constraints. However, this staircase is not available in the extended model. Further, the existing solution methods do not take advantage of the network structure of the problem. Here we show that a piecewise linear version of the model can be stated as a pure processing network (PPN); this allows algorithms for PPNs to be used to solve the model. We also propose a penalty (or barrier) function solution method. This reduces the problem to successively reoptimizing a program equivalent to the well-known static traffic assignment model. The latter is a convex cost, linearly constrained, un capacitated network flow problem. The above solution methods apply both to the basic model and the extended model.
6780360
An exit-flow model used in dynamic traffic assignment
We consider the behaviour of a link exit-flow model that has been used to model link flows in dynamic traffic assignment (DTA) on networks. In particular, we investigate how the model behaves when time and space (the link length) discretised and the discretisation is varied. We present numerical examples based on various inflow patterns and exit-flow functions and draw conclusions for applications of the model in discrete space and in discrete or continuous time. If inflows are always less than capacity and the link is homogeneous, with no obstructions at the exit, then if the discretisation is refined to the continuous limit the model goes to the solution of the well-known LWR model. However, we observe, somewhat counter intuitively, that the usual continuous-time model does not give as good an approximation to the LWR solution as does the discrete-time model: for a best approximation, the discretisation of space and time should be synchronised. We also investigate the 'dip' in outflows, or 'jamming' of outflows, that the model display, if inflows are permitted to exceed a capacity limit (as they sometimes do in published applications of the model) and the exit-flow function has a downward sloping part (which has usually been assumed away in DTA applications). In that case, if the number of spatial segments is increased, or the number of time intervals is reduced, then any dip in outflows occurs sooner and is more pronounced, and leads to earlier jamming. In the continuous limit, the jam occurs at the link entrance, preventing inflows in excess of capacity.