rdf-syntax-grammar
mods:
  schema location: http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
  title info:
    title: Verifiable early-reply with C++
  name:
    name part: Cook, Stephen Wendell
    name part: 1961-
    role:
      role term: creator
  name:
    name part: Stroustrup, Bjarne
    role:
      role term: thesis advisor.
  type of resource: text
  genre: bibliography
  origin info:
    place:
      place term: txu
    date issued: 2007
    issuance: monographic
  language:
    language term: eng
  physical description:
    form: electronic
    form: remote
  abstract: Concurrent programming can improve performance. However, it comes with two drawbacks. First, concurrent programs can be more difficult to design and reason about than their sequential counterparts. Second, error conditions that do not exist in sequential programs, such as data race conditions and deadlock, can make concurrent programs more unreliable. To make concurrent programming simpler and more reliable, while still providing sufficient performance gains, we present a concurrency framework based on an existing concurrency initiation mechanism called "Early-Reply". Early-Reply is based on the idea that some functions can produce final return values long before they terminate. Concurrent execution begins when return value of a function is returned to the caller, allowing the rest of the work of the function to be done on an auxiliary thread. The simpler sequential programming model can be used by the caller, because the concurrency is initiated and hidden within the function body. Pike and Sridhar recognized Early-Reply as a way for sequential programs to get the benefits of concurrent execution. They also discussed using object-oriented programming to serialize access to data that needs synchronization. Our work expands on their approach and provides an actual C++ implementation of an Early-Reply based framework. Our framework simplifies concurrent programming for both users and implementers by allowing developers to use sequential reasoning, and by providing a minimal framework interface. Concurrent programming is made more reliable by combining the concurrency synchronization and initiation into one mechanism within the framework, which isolates where race conditions and deadlock can occur. Furthermore, this isolation facilitates the development of a simple set of coding guidelines that can be used by developers (through inspection) or static analysis tools (through verification) to eliminate race conditions and deadlocks. As a motivating example, we paralleliz…
  note: by Stephen Wendell Cook.
  note: "Major Subject: Computer Science"
  note: Title from author supplied metadata (automated record created on Nov. 2, 2007.)
  note: Vita.
  note: Abstract.
  note: Electronic resource.
  note: Mode of access: World Wide Web.
  note: System requirements: World Wide Web access and Adobe Acrobat Reader.
  note: M. S. Texas A&M University 2007.
  note: Includes bibliographical references.
  note: Text (Thesis).
  subject:
    topic: Major computer science
  subject:
    topic: concurrency
  subject:
    topic: Early-Reply
  subject:
    topic: parallelism
  identifier: http://hdl.handle.net/1969.1/5911
  record info:
    record content source: TXA
    record creation date: 080218
    record change date: 20151108081723.0
    record identifier: in00002358493