birger@diku.dk (Birger Andersen) (08/12/89)
I am working on a parallel object-oriented language with functional parts in it. Programs written in this language will have parallelism at all levels, with the fine-grained parallelism being in the functional parts of the programs (in expressions). Parallelism is expressed explicit by unbound remote procedure calls at the upper levels and implicit by functional expressions (side-effect free) at the fine-grained level. Since parallel architectures do not support the same lowest level of parallelism, my idea is to reduce the implicit fine-grained parallelism in functional expressions at compile-time to have machine independent parallel programs to some degree. I would very much like to hear from people out there who know about research in this area (journal papers, reports, or thesis etc. on automatic parallelization of functional expressions). This issue is an important subject of my PhD thesis which I am working on, but it is very hard to find any stuff on this grain adaption problem. Thank you very much for answers. Birger Andersen Email: birger@diku.dk Department of Computer Science Fax: +45 31 35 96 81 University of Copenhagen Universitetsparken 1 2100 Copenhagen, Denmark -- Send compilers articles to compilers@ima.isc.com or, perhaps, Levine@YALE.EDU { decvax | harvard | yale | bbn }!ima. Meta-mail to ima!compilers-request. Please send responses to the author of the message, not the poster.
nick@lfcs.ed.ac.uk (Nick Rothwell) (08/15/89)
In article <1989Aug12.011151.2154@esegue.uucp>, birger@diku (Birger Andersen) writes: >I am working on a parallel object-oriented language with functional parts in >it. You will probably have to clarify what this means... It's fairly obvious what a functional language is, but "object oriented with functional parts" is less clear. If you're interested in functional languages, there's a lot of literature on graph reduction, combinator representation, and so on. But, these are fairly specialised techniques for the pure functional languages, and don't generalise to other kinds of language. Alternatively, you could read my Ph.D. thesis, which detailed a compiler for parallel functional and logic languages to run on a shared-memory machine, using a symbolic intermediate code. The compiler was largely responsible for managing parallelism by detecting various kinds of tail recursion and parallel tasks, while trying to reduce the risk of "process explosion". Nick. -- Nick Rothwell, Laboratory for Foundations of Computer Science, Edinburgh. nick@lfcs.ed.ac.uk <Atlantic Ocean>!mcvax!ukc!lfcs!nick -- Send compilers articles to compilers@ima.isc.com or, perhaps, Levine@YALE.EDU { decvax | harvard | yale | bbn }!ima. Meta-mail to ima!compilers-request. Please send responses to the author of the message, not the poster.