Results 1 -
4 of
4
Abstract machines for programming language implementation
- FUTURE GENERATION COMPUTER SYSTEMS
, 2000
"... We present an extensive, annotated bibliography of the abstract machines designed for each of the main programming paradigms (imperative, object oriented, functional, logic and concurrent). We conclude that whilst a large number of efficient abstract machines have been designed for particular langua ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
We present an extensive, annotated bibliography of the abstract machines designed for each of the main programming paradigms (imperative, object oriented, functional, logic and concurrent). We conclude that whilst a large number of efficient abstract machines have been designed for particular language implementations, relatively little work has been done to design abstract machines in a systematic fashion.
NIP: A Parallel Object-Oriented Computational Model
- in Network-Based Parallel Computing. Communication, Architecture and Applications. 3rd International Workshop CANPC'99
, 1998
"... oatatioa ad :ato am//d acbiea. The components ff NIP am: a distributed abared eo ate otiisedram//d object-odeted rora6' : distdbti o oe: the 0dea ff tbe am//d ate. Theater deabea the :eimets /aaed o the Keords: Implicit Parallelism; Neorks oF Workstations; Lazy Task Creation; Distributed Shared Memo ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
oatatioa ad :ato am//d acbiea. The components ff NIP am: a distributed abared eo ate otiisedram//d object-odeted rora6' : distdbti o oe: the 0dea ff tbe am//d ate. Theater deabea the :eimets /aaed o the Keords: Implicit Parallelism; Neorks oF Workstations; Lazy Task Creation; Distributed Shared Memos.
2 NIP: A Parallel Object-Oriented Computational Model
, 1998
"... Implicitly parallel programming languages place the burden of exploiting and managing parallelism upon the compiler and runtime system, rather than on the programmer. This paper describes the design of NIP, a runtime system for supporting implicit parallelism in languages which combine both function ..."
Abstract
- Add to MetaCart
Implicitly parallel programming languages place the burden of exploiting and managing parallelism upon the compiler and runtime system, rather than on the programmer. This paper describes the design of NIP, a runtime system for supporting implicit parallelism in languages which combine both functional and objectoriented programming. NIP is designed for scaleable distributed memory systems including networks of workstations and custom parallel machines. The key components of NIP are: a parallel task execution unit which includes a novel and efficient method for lazily creating parallel tasks from loop iterations; a novel distributed shared memory system optimised for parallel object-oriented programs; and a load balancing system for distributing work over the nodes of the parallel system. The paper describes the requirements placed on the runtime system by an implicitly parallel language and then details the design of the components that comprise NIP, showing how the components meet these requirements. Performance results for NIP running programs on a network of workstations are presented and analysed.
Parallel graph reduction for divide-and-conquer applications† Part I- program transformations
"... Aproposal is made to base parallel evaluation of functional programs on graph reduction combined with a form of string reduction that avoids duplication of work. Pure graph reduction poses some rather difficult problems to implement on a parallel reduction machine, but with certain restrictions, par ..."
Abstract
- Add to MetaCart
Aproposal is made to base parallel evaluation of functional programs on graph reduction combined with a form of string reduction that avoids duplication of work. Pure graph reduction poses some rather difficult problems to implement on a parallel reduction machine, but with certain restrictions, parallel evaluation becomes feasible. The restrictions manifest themselves in the class of application programs that may benefit from a speedup due to parallel evaluation. Two transformations are required to obtain a suitable version of such programs for the class of architectures considered. It is conceivable that programming tools can be developed to assist the programmer in applying the transformations, but we have not investigated such possibilities. To demonstrate the viability of the method we present four application programs with a complexity ranging from quick sort to a simulation of the tidal wav es inthe North sea. Ke y words: divide-and-conquer parallel algorithms parallel graph reduction reduction strategy program annotation program transformation job lifting

