16 citations found. Retrieving documents...
D. J. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, April 1993.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Parallel Standard Ml With Skeletons - Scaife, Michaelson, Horiguchi   (Correct)

....to optimise the computational versus communication costs in the models. 5. Where useful parallelism is predicted the HOFs should be realised as, possibly nested, algorithmic skeleton instantiations. 3. The Parallel SML with Skeletons (PMLS) Compiler. 3.1. Design. Our experience with the PUFF [4] and SkelML [3] compilers, combined with that gained in developing parallel computer vision systems led to the design of a more general parallelizing compiler for SML [14, 10] with the following properties: The full SML Core language is supported. Dynamic pro ling provides parallel ....

D. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Heriot-Watt University, Riccarton, Edinburgh, 1993.


Shape-based Cost Analysis of Skeletal Parallel Programs - Hayashi   (Correct)

....for a skeleton language (Skel BSP) on top of the EdD BSP (a simple extension of the BSP) computer as a method to provide both efficiency and performance portability. The Heriot Watt group have extracted and exploited skeletal parallelism within Standard ML programs. Busvine s PUFF compiler [24] generates sequential occam2 from SML and can identify useful parallelism in general linear recursion. Bratvold s SkelML compiler [18] recognises a set of predefined higher order functions, or skeletons, including map, filter, and fold in standard ML programs and maps their implementations to ....

....case, for example at the branching points in the program, introducing a profiling approach would be indispensable in more practical use. Good examples of the profiling approach combined with a skeleton based approach can be seen in the works of the Heriot Watt group. In Busvine s PUFF compiler [24], the program is run on one or more sets of data, collecting statistics about computation costs and execution frequencies. This information is used to transform the program into a parallel version that has improved performance. Bratvold s SkelML [18] is a skeleton based parallelising compiler, ....

[Article contains additional citation context not shown here]

D. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Heriot-Watt University, 1993.


Patterns and Skeletons for Parallel and Distributed Computing - Rabhi, Gorlatch (2002)   (11 citations)  (Correct)

....arbitrary nesting of skeletons. These are described in the following sections prior to more detailed discussion of our PMLS compiler for a full pure functional subset of SML. 1.4. 2 PUFF Busvine s PUFF (Parallelisation using Farmed Functions) generates occam2 from a pure functional subset of SML [6, 7]. PUFF exploits parallelism in linear recursion of the form: f x = if Call x then Base x else Comb (f (Upd x) Work x) Here, Work is applied to successive values of x generated by Upd and the results combined by Comb. If Call determines that processing has terminated, Base is applied to x. This ....

....of the Objective Caml Marshal module. This should be possible in theory but in practice we currently compile and run the pro led code and use modi ed skeletons to actually measure the data sizes generated. Table 1. 1 shows the predictions for each version squaring the 3 3 matrix [ 1,2,3] 4,5,6] [7,8,9]] T p is the sequential instance function execution time averages in S. Dw is the total number of bytes generated as arguments to the instance function. D r is the total number of bytes generated as results from instance functions. For comparison, Tm is the measured instance function execution ....

D. Busvine. Detecting parallel structures in functional programs. In PhD thesis. Dept of Computing & Electrical Engineering, July 1994.


Parallel Functional Island Model Genetic Algorithms through .. - Michaelson, Scaife (2000)   (1 citation)  (Correct)

....modified the SML Kit II interpreter from DIKU [TBE 97] to capture counts for each rule for full core SML while a prototype is executed sequentially. In the Skel ML compiler, which was targeted at the Meiko Computing Surface, Bratvold used Busvine s low level costs from the INMOS transputer [Bus93] to calibrate his profiler. For our compiler, rather than capturing such low level costs, we have chosen to find an overall cost for a test program on the target CPU and then relate it back to the SOS rule count profile. Thus, for the ith test program, we wish to find coefficients C i to ....

D. Busvine. Detecting parallel structures in functional programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, 1993.


A Combinational Framework For Parallel Programming Using.. - Hamdan (2000)   (8 citations)  (Correct)

....The validation of the performance model for the Transputer implementation had an accuracy of around 90 . The model was designed speci cally for the Transputer implementation and may not work on other parallel architectures. Also, the cost model was for a linear list process farm. Busvine s [29, 28] process farm was implemented as a tree with the farmer as root. It is based on extracting farm parallelism from linearly recursive functions as linear recursion is a principal and frequently used control structure in functional languages. The cost model for the FARM skeleton is as follows: T ....

....composition of constructs, each of which may again contain further constructs. However, it is the responsibility of the programmer to explicitly craft the skeletons together and specify the ow of data between the constructs. 2.3. 5 PUFF Busvine s PUFF (Parallelisation Using Farmed Functions) [29] is a compiler that exploits processor farm parallelism from linearly recursive functions in SML programs. The processor farm skeleton used in this system was previously described along with its performance model in Section 2.2.2. The PUFF compiler relies on pro ling information and performance ....

D. J. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, April 1993.


Parallel Functional Island Model Genetic Algorithms through .. - Michaelson, Scaife (2000)   (1 citation)  (Correct)

....subset, we have modified the SML Kit II interpreter from DIKU to capture counts for each rule for full core SML while a prototype is executed sequentially. In the Skel ML compiler, which was targeted at the Meiko Computing Surface, Bratvold used Busvine s low level costs from the INMOS transputer [Bus93] to calibrate his profiler. For our compiler, rather than capturing such low level costs, we have chosen to find an overall cost for a test program on the target CPU and then relate it back to the SOS rule count profile. Thus, for the ith test program, we wish to find coefficients C i to solve: R ....

D. Busvine. Detecting parallel structures in functional programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, 1993.


A Cost Analysis for a Higher-order Parallel Programming Model - Rangaswami (1996)   (19 citations)  (Correct)

....Input List Type S Set of Relationships C f Cost of Sequential Function F s Output Type of Sequential Function The meaning of each symbol will be discussed in the following subsections. Much of the information required could be obtained with minimum programmer interference if profiling [ADM87, Bus93, San93, Sar91] and type checking capabilities were built into the analyser. However, the current prototype implementation of the analyser does not include these capabilities and the programmer is required to supply the necessary information. In all future discussions, it is assumed that: H = ....

David Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Dept of Computing and Electrical Engineering, HeriotWatt University, October 1993.


A Survey of Cost Models for Algorithmic Skeletons - Hamdan (1999)   (Correct)

....on other parallel architectures. Also, the performance model was for a linear list process farm. However, it may be possible to modify the model and make it more general then instantiate it with machine parameters for other architecture similar to Darlington et al. s performance models. Busvine s [3] performance model for the FARM skeleton is as follows: T Farm = max(N (T Rec K Rec T Comms ) TBase ; N=W ) T Task KW orker K T ree T Comms ) N (T Combine K Combine ) K W Setup where T Rec is the average time for the farmer to generate a task for each level in the recursion, K ....

D. J. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, April 1993.


A Scheme For Nesting Algorithmic Skeletons - Hamdan, Michaelson, King (1998)   (2 citations)  (Correct)

....simple data parallelism. A function is applied to a list of data. Parallelism arises by utilising multiple processors to apply the function to different parts of the list. Their HOF is as follows: FARM : ff fi fl) ff ( fi] fl] FARM f env = map (f env) Bratvold [11] Busvine [12] and Sreekantaswamy [13] have developed a process farm skeleton as part of their work. 2.3 Systolic The systolic skeleton (which is the general form of pipeline like skeletons) consists of a number of stages where parallelism is exploited by operating on a flow of data that passes through the ....

D. J. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, April 1993.


Engineering a Parallel Compiler for Standard ML - Scaife, Bristow, Michaelson.. (1998)   (2 citations)  (Correct)

....with an elaborated bare language abstract syntax tree, where a simpler language than the full grammar is available and type information is also present allowing communication costs to be estimated. Bratvold s work targeted networks of transputers and was based around an SML to Occam translator [16]. The profiling weights were mostly derived from this work and the resulting system was closely coupled with the translator. It is our intention to achieve a higher degree of orthogonality with our system which may mean more detailed information being gathered during the profiling process. We ....

D. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Heriot-Watt University, Riccarton, Edinburgh, 1993.


A Scheme For Nesting Algorithmic Skeletons - Hamdan, Michaelson, King (1998)   (2 citations)  (Correct)

....farm skeleton which is a special form of the task queue skeleton. The process farm skeleton represents simple data parallelism. A function is applied to a list of data. Parallelism arises by utilising multiple processors to apply the function to different parts of the list. Bratvold [16] Busvine [17] and Sreekantaswamy [18] have developed a process farm skeleton as part of their work. Our parallel implementation of the map HOF handles nesting which is a limitation of the above implementations. 5.3 Systolic The Systolic skeleton (which is the general form of pipeline like skeletons) consists ....

D. J. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, April 1993.


A Method for Developing Parallel Vision Algorithms with .. - Scaife, Michaelson.. (1996)   (Correct)

....are instantiated for the HOF s on the chosen target machine. If useful parallelism is not iden2 tified, a sequential code module may be developed to run on a single processor. Alternatively, we can transform the functional prototype to an equivalent program using sets of transformation rules [11]. The benchmarking evaluation loop is then repeated. In our case we prototype in Standard ML for implementation on a transputer based Meiko Computing Surface in occam2. Translation is primarily a manual process, although an experimental compiler from SML to occam2 has been implemented which ....

....between SML and occam2. One approach is to match up constructs between the two languages and use only relative processing times in the prediction, this approach can be useful in predicting processor loadings in pipelines [9] Alternatively, we could generate the occam2 automatically from the SML [11] which would ensure closer correspondence between the two languages, although possibly at the expense of sequential performance. Here we use a different approach; equivalent functions are written in SML and sequen19 tial occam2 and timed on the same data sets. This gives a direct comparison ....

D. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Heriot-Watt University, Riccarton, Edinburgh, 1993.


Prototyping a parallel vision system in Standard ML - Michaelson (1993)   (11 citations)  (Correct)

....of translation from a full functional language to a parallel imperative language is a major research activity and beyond the time and resources of our project. While our work is strongly influenced Prototyping a parallel vision system in Standard ML 21 by such formalisation, in particular (Busvine, 1993), here we present an informal overview of our SML to Occam2 conversion. It is well known that the central issue in constructing imperative implementations of functional languages is the efficient management of name value associations. In the graph reduction approach (Peyton Jones, 1987) such ....

D. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, HeriotWatt University, Riccarton, Edinburgh, 1993.


A Survey of Cost Models for Algorithmic Skeletons - Hamdan (1999)   (Correct)

No context found.

D. J. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, April 1993.


A Compiler for HDC - Herrmann, Lengauer, Günz.. (1999)   (Correct)

No context found.

David J. Busvine. Detecting Parallel Structures in Functional Programs. PhD thesis, Department of Computing and Electrical Engineering, Heriot-Watt University, 1993.


A Parallel Functional Language Compiler for Message-Passing.. - Junaidu (1998)   (1 citation)  (Correct)

No context found.

DJ Busvine, Detecting Parallel Structures in Functional Programs. Department of Computing and Electrical Engineering, Heriot-Watt University, Scotland, PhD Thesis, April 1993.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC