• Information Technology
  • Human Resources
  • Careers
  • Giving
  • Library
  • Bookstore
  • Active Living
  • Continuing Education
  • Go Dinos
  • UCalgary Maps
  • UCalgary Directory
  • Academic Calendar
My UCalgary
Webmail
D2L
ARCHIBUS
IRISS
  • Faculty of Arts
  • Cumming School of Medicine
  • Faculty of Environmental Design
  • Faculty of Graduate Studies
  • Haskayne School of Business
  • Faculty of Kinesiology
  • Faculty of Law
  • Faculty of Nursing
  • Faculty of Nursing (Qatar)
  • Schulich School of Engineering
  • Faculty of Science
  • Faculty of Social Work
  • Faculty of Veterinary Medicine
  • Werklund School of Education
  • Information TechnologiesIT
  • Human ResourcesHR
  • Careers
  • Giving
  • Library
  • Bookstore
  • Active Living
  • Continuing Education
  • Go Dinos
  • UCalgary Maps
  • UCalgary Directory
  • Academic Calendar
  • Libraries and Cultural Resources
View Item 
  •   PRISM Home
  • Science
  • Science Research & Publications
  • View Item
  •   PRISM Home
  • Science
  • Science Research & Publications
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

IMPLEMENTATION OF CONCURRENT PROLOG USING MESSAGE PASSING

Thumbnail
Author
Cleary, John G.
Accessioned
2008-02-27T16:55:24Z
Available
2008-02-27T16:55:24Z
Computerscience
1999-05-27
Issued
1984-04-01
Subject
Computer Science
Type
unknown
Metadata
Show full item record

Abstract
The design of a distributed Concurrent Prolog system is described. It is based on message passing between large processes which provide a coarse grained parallelism. The intended use of the system is in a distributed prototyping environment which supports many programming languages and allows distributed software to be developed on one system and later transported to another. The underlying message passing system used is simple and efficient and need make no provisions for buffering messages between processes. An algorithm is described for serialising variable bindings so they can be transmitted between processes. It permits free variables to be bound together and can correctly handle circular data structures. Each variable shared between processes is "located" on a single process which distributes its values whenever it is updated. This leads to an "eager" distribution system which sends updates to variables whenever they occur not when they are needed for further computation. Sometimes, as a result of garbage collection or as a result of unification of different shared variables it is necessary to relocate a variable. The mechanisms to do this are described. Some estimates of the efficiency of the system are obtained by counting the messages needed for a simple but representative program. The effects of various optimisations on the message passing protocol are also assessed.
Notes
We are currently acquiring citations for the work deposited into this collection. We recognize the distribution rights of this item may have been assigned to another entity, other than the author(s) of the work.If you can provide the citation for this work or you think you own the distribution rights to this work please contact the Institutional Repository Administrator at digitize@ucalgary.ca
Corporate
University of Calgary
Faculty
Science
Doi
http://dx.doi.org/10.11575/PRISM/30545
Uri
http://hdl.handle.net/1880/45806
Collections
  • Science Research & Publications

Browse

All of PRISMCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

My Account

LoginRegister

Download Results

Statistics

Most Popular ItemsStatistics by CountryMost Popular Authors

  • Email
  • SMS
  • 403.220.8895
  • Live Chat

Energize: The Campaign for Eyes High

Privacy Policy
Website feedback

University of Calgary
2500 University Drive NW
Calgary, AB T2N 1N4
CANADA

Copyright © 2017