Indexical parallel programming

Show simple item record

dc.contributor.author Du, Weichang
dc.date.accessioned 2018-06-26T21:21:37Z
dc.date.available 2018-06-26T21:21:37Z
dc.date.copyright 1991 en_US
dc.date.issued 2018-06-26
dc.identifier.uri http://hdl.handle.net/1828/9516
dc.description.abstract Indexical programming means programming languages and/or computational models based on indexical logic and possible world semantics. Indexical languages can be considered as the result of enriching conventional languages by allowing constructs to vary according to an implicit context or index. Programs written in an indexical language define the way in which objects vary from context to context, using context switching or indexical operators to combine meanings of objects from different contexts. Based on indexical semantics, in indexical programs, context parallelism means that computations of objects at different contexts can be performed in parallel, and indexical communication means that parallel computation tasks at different contexts communicate with each other through indexical operators provided by the indexical language. The dissertation defines the indexical functional language mLucid--a multidimensional extension of the programming language Lucid proposed by Ashcroft and Wadge. The language enriches the functional language ISWIM by incorporating functional semantics with indexical semantics. The indexical semantics of mLucid is based on the context space consisting of points in an arbitrary n-dimensional integer space. The meanings of objects, called intensions, in mLucid are functions from these contexts to data values. The language provides five primitive indexical operators, origin, next, prev, fby and before to switch context along a designated dimension. The dimensionality of an intension in the indexical semantics of mLucid is defined as the set of dimensions that determines the range of the context space in which the tension varies. An abstract interpretation are defined that maps mLucid expressions to approximations of dimensionalities. Context parallelism and indexical communication in mLucid programs are defined by a semantics-based dependency relation between the values of variables at different contexts. In parallel programming, the context space of mLucid is divided into a time dimension and space dimensions. The time dimension can be used to specify time steps in synchronous computations, or to specify indices of data streams in asynchronous computations. The space dimensions can be used to specify process-to-processor mappings. The dissertation shows that mLucid supports several parallel programming models, including systolic programming, multidimensional dataflow programming, and data parallel programming. en_US
dc.language English eng
dc.language.iso en en_US
dc.rights Available to the World Wide Web en_US
dc.subject Parallel programming (Computer science) en_US
dc.title Indexical parallel programming en_US
dc.type Thesis en_US
dc.contributor.supervisor Wadge, W. W.
dc.degree.department Department of Computer Science en_US
dc.degree.level Doctor of Philosophy Ph.D. en_US
dc.description.scholarlevel Graduate en_US

Files in this item

This item appears in the following Collection(s)

Show simple item record

Search UVicSpace


My Account