Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Concurrent nested object computations
Publisher:
  • University of California, San Diego
Order Number:AAI8826872
Pages:
109
Reflects downloads up to 17 Oct 2024Bibliometrics
Skip Abstract Section
Abstract

This dissertation presents nested objects, a new model of concurrency that considers levels of data abstraction. Shared nested objects are instances of abstract data types that are implemented by other, lower level, shared nested objects. Nested objects are more general than transactions. Traditional one level read-write transaction models and atomic object models are special cases of the nested object model.

Nested objects allow two novel types of computations that are usually considered nonserializable and thus incorrect. Externally serializable computations leave top level objects in states that could be produced by some serial execution of the computations. However, lower level objects may be left in states that could never be produced by serial executions of the computations.

Semantically verifiable nested object computations are truly nonserializable. Objects at all levels can be left in states that no serial execution of the computations could produce. Since operation semantics are visible at all levels, the correctness of nonserializable computations can be argued. Semantically verifiable, nonserializable computations are achieved by weakening conflict specifications.

A practical nested object scheduling algorithm is presented. An experimental implementation demonstrates that maintaining additional semantic information is manageable and beneficial. The algorithm provides a performance improvement over two-phase locking for a benchmark program.

Nested objects are an attractive paradigm for modeling concurrent activities. Nested objects retain the desirable specification properties of transactions but are more general; endless computations can be modeled and long lived computations can execute efficiently. Traditional program verification techniques can be used to show the correctness of nested object specifications. The modeling capabilities of nested objects are illustrated with a solution to the Dining Philosophers' problem.

Contributors
  • Sun Microsystems
  • University of California, San Diego

Recommendations