Fine Grain Concurrent Computations

<p>This thesis develops a computational model, a programming notation, and a set of programming principles to further and to demonstrate the practicality of programming fine grain concurrent computers.</p> <p>Programs are expressed in the computational model as a collection of &...

Full description

Bibliographic Details
Main Author: Athas, William C., Jr.
Format: Others
Language:en
Published: 1987
Online Access:https://thesis.library.caltech.edu/809/1/Athas_wc_1987.pdf
Athas, William C., Jr. (1987) Fine Grain Concurrent Computations. Dissertation (Ph.D.), California Institute of Technology. doi:10.7907/63xc-r308. https://resolver.caltech.edu/CaltechETD:etd-02282008-091326 <https://resolver.caltech.edu/CaltechETD:etd-02282008-091326>
id ndltd-CALTECH-oai-thesis.library.caltech.edu-809
record_format oai_dc
spelling ndltd-CALTECH-oai-thesis.library.caltech.edu-8092021-04-17T05:01:33Z https://thesis.library.caltech.edu/809/ Fine Grain Concurrent Computations Athas, William C., Jr. <p>This thesis develops a computational model, a programming notation, and a set of programming principles to further and to demonstrate the practicality of programming fine grain concurrent computers.</p> <p>Programs are expressed in the computational model as a collection of <i>definitions</i> of autonomous computing agents called <i>objects</i>. In the execution of a program, the objects communicate data and synchronize their actions exclusively by message-passing. An object executes its definition only in response to receiving a message, and its actions may include sending messages, creating new objects, and modifying its own internal state. The number of actions that occur in response to a message is finite; Turing computability is achieved not within a single object, but through the interaction of objects.</p> <p>A new concurrent programming notation <i>Cantor</i> is used to demonstrate the cognitive process of writing programs using the object model. Programs for numerical sieves, sorting, the eight queens problem, and Gaussian elimination are fully described. Each of these programs involve up to thousands of objects in their exectuion. The general programming strategy is to first partition objects by their overall behavior and then to program the behaviors to be self-organizing.</p> <p>The semantics of Cantor are made precise through the definition of a formal semantics for Cantor and the object model. Objects are modelled as finite automata. The formal semantics is useful for proving program properties and for building frameworks to capture specific properties of object programs. The mathematical frameworks are constructed for building object graphs independently of program execution and for systematically removing objects that are irrelevant to program execution (garbage collection).</p> <p>The formal semantics are complemented by experiments that allow one to study the dynamics of the execution of Cantor programs on fine grain concurrent computers. The clean semantics of Cantor suggests simple metrics for evaluating the execution of concurrent programs for an ideal, abstract implementation. Program performance is also evaluated for environments where computing resources are limited. From the results of these experiments, hardware and software architectures for organizing fine grain message- passing computations is proposed, including support for fault tolerance and for garbage collection.</p> 1987 Thesis NonPeerReviewed application/pdf en other https://thesis.library.caltech.edu/809/1/Athas_wc_1987.pdf Athas, William C., Jr. (1987) Fine Grain Concurrent Computations. Dissertation (Ph.D.), California Institute of Technology. doi:10.7907/63xc-r308. https://resolver.caltech.edu/CaltechETD:etd-02282008-091326 <https://resolver.caltech.edu/CaltechETD:etd-02282008-091326> https://resolver.caltech.edu/CaltechETD:etd-02282008-091326 CaltechETD:etd-02282008-091326 10.7907/63xc-r308
collection NDLTD
language en
format Others
sources NDLTD
description <p>This thesis develops a computational model, a programming notation, and a set of programming principles to further and to demonstrate the practicality of programming fine grain concurrent computers.</p> <p>Programs are expressed in the computational model as a collection of <i>definitions</i> of autonomous computing agents called <i>objects</i>. In the execution of a program, the objects communicate data and synchronize their actions exclusively by message-passing. An object executes its definition only in response to receiving a message, and its actions may include sending messages, creating new objects, and modifying its own internal state. The number of actions that occur in response to a message is finite; Turing computability is achieved not within a single object, but through the interaction of objects.</p> <p>A new concurrent programming notation <i>Cantor</i> is used to demonstrate the cognitive process of writing programs using the object model. Programs for numerical sieves, sorting, the eight queens problem, and Gaussian elimination are fully described. Each of these programs involve up to thousands of objects in their exectuion. The general programming strategy is to first partition objects by their overall behavior and then to program the behaviors to be self-organizing.</p> <p>The semantics of Cantor are made precise through the definition of a formal semantics for Cantor and the object model. Objects are modelled as finite automata. The formal semantics is useful for proving program properties and for building frameworks to capture specific properties of object programs. The mathematical frameworks are constructed for building object graphs independently of program execution and for systematically removing objects that are irrelevant to program execution (garbage collection).</p> <p>The formal semantics are complemented by experiments that allow one to study the dynamics of the execution of Cantor programs on fine grain concurrent computers. The clean semantics of Cantor suggests simple metrics for evaluating the execution of concurrent programs for an ideal, abstract implementation. Program performance is also evaluated for environments where computing resources are limited. From the results of these experiments, hardware and software architectures for organizing fine grain message- passing computations is proposed, including support for fault tolerance and for garbage collection.</p>
author Athas, William C., Jr.
spellingShingle Athas, William C., Jr.
Fine Grain Concurrent Computations
author_facet Athas, William C., Jr.
author_sort Athas, William C., Jr.
title Fine Grain Concurrent Computations
title_short Fine Grain Concurrent Computations
title_full Fine Grain Concurrent Computations
title_fullStr Fine Grain Concurrent Computations
title_full_unstemmed Fine Grain Concurrent Computations
title_sort fine grain concurrent computations
publishDate 1987
url https://thesis.library.caltech.edu/809/1/Athas_wc_1987.pdf
Athas, William C., Jr. (1987) Fine Grain Concurrent Computations. Dissertation (Ph.D.), California Institute of Technology. doi:10.7907/63xc-r308. https://resolver.caltech.edu/CaltechETD:etd-02282008-091326 <https://resolver.caltech.edu/CaltechETD:etd-02282008-091326>
work_keys_str_mv AT athaswilliamcjr finegrainconcurrentcomputations
_version_ 1719396520066809856