Re: Designing a language for dataflow/parallelism

torbenm@diku.dk (=?iso-8859-1?q?Torben_=C6gidius_Mogensen?=)
16 Jun 2005 00:07:33 -0400

          From comp.compilers

Related articles
Designing a language for dataflow/parallelism tony@tonyRobinson.com (2005-06-13)
Re: Designing a language for dataflow/parallelism torbenm@diku.dk (2005-06-16)
Re: Designing a language for dataflow/parallelism nmm1@cus.cam.ac.uk (2005-06-16)
Re: Designing a language for dataflow/parallelism mailbox@dmitry-kazakov.de (Dmitry A. Kazakov) (2005-06-16)
Re: Designing a language for dataflow/parallelism rand@rice.edu (Randy) (2005-06-18)
Re: Designing a language for dataflow/parallelism gneuner2@comcast.net (George Neuner) (2005-06-18)
Re: Designing a language for dataflow/parallelism peteg42@gmail.com (Peter Gammie) (2005-06-19)
Re: Designing a language for dataflow/parallelism gneuner2@comcast.net (George Neuner) (2005-06-21)
[1 later articles]
| List of all articles for this month |

From: torbenm@diku.dk (=?iso-8859-1?q?Torben_=C6gidius_Mogensen?=)
Newsgroups: comp.compilers
Date: 16 Jun 2005 00:07:33 -0400
Organization: Department of Computer Science, University of Copenhagen
References: 05-06-081
Keywords: parallel
Posted-Date: 16 Jun 2005 00:07:33 EDT

tony@tonyRobinson.com writes:


> I'm kicking about the
> idea of designing and implementing a very simple programming language.
>
> One of the objectives is a "safe" language with good optimisation and
> for that I've decided that there will be no explicit pointers.
>
> In C terminology, I'm looking at the problem of detecting at compile
> time whether the writable areas of two structs (and whatever they
> reference) are disjoint in memory. If so then I can maximise code
> reordering, for example the execution of function calls in parallel:


You might want to take a look at


Ennals, R.J. and Sharp, R.W. and Mycroft, A. Linear Types for Packet
Processing. Proc. ESOP'04, Springer-Verlag LNCS vol. 2986: 204-218,
March 2004. http://www.cl.cam.ac.uk/users/am/papers/esop04.pdf


It describes using liner types to keep track of the number of aliases
to a data structure exactly in order to improve parallelism. Some
details may be different from what you need, but it shouldn't be
terribly difficult to modify the idea to suit your needs.


                Torben


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.