Results 1 -
3 of
3
A Cost Analysis for a Higher-order Parallel Programming Model
, 1996
"... Programming parallel computers remains a difficult task. An ideal programming environment should enable the user to concentrate on the problem solving activity at a convenient level of abstraction, while managing the intricate low-level details without sacrificing performance. This thesis investiga ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
Programming parallel computers remains a difficult task. An ideal programming environment should enable the user to concentrate on the problem solving activity at a convenient level of abstraction, while managing the intricate low-level details without sacrificing performance. This thesis investigates a model of parallel programming based on the BirdMeertens Formalism (BMF). This is a set of higher-order functions, many of which are implicitly parallel. Programs are expressed in terms of functions borrowed from BMF. A parallel implementation is defined for each of these functions for a particular topology, and the associated execution costs are derived. The topologies which have been considered include the hypercube, 2-D torus, tree and the linear array. An analyser estimates the costs associated with different implementations of a given program and selects a cost-effective one for a given topology. All the analysis is performed at compile-time which has the advantage of reducing run-...
Improving persistent data manipulation for functional languages
- Glasgow FP Workshop
, 1992
"... Abstract Although there is a great deal of academic interest in functional languages, there are very few large-scale functional applications. The poor interface to the file system seems to be a major factor preventing functional languages being used for large-scale programming tasks. The interfaces ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Abstract Although there is a great deal of academic interest in functional languages, there are very few large-scale functional applications. The poor interface to the file system seems to be a major factor preventing functional languages being used for large-scale programming tasks. The interfaces provided by some widely-used languages are described and some problems encountered with using these interfaces to access persistent data are discussed. Three means of improving the persistent data manipulation facilities of functional languages are considered: an improved interface to the file system, including a good binary file implementation; an interface to a database; and the provision of orthogonal persistence. Concrete examples are given using the functional programming language, Haskell. 1 Introduction Modifying a file is a common operation in application programs. Frequently, a program needs to change only small parts of a large file or files. For example, to record the arrival of a shipment, a program controlling an inventory might update the information about a single item in the stock file. We term reading or writing part of a file without needing to read or write the entire file incremental read/write.
GRAPHing the Future
, 1994
"... At Glasgow our research into parallel functional programming has been moving away from our novel architecture, GRIP towards the provision of a general parallel runtime environment. We call this GRAPH (Graph Reduction for an Assortment of Parallel Hardware). This paper describes the design of a new m ..."
Abstract
- Add to MetaCart
At Glasgow our research into parallel functional programming has been moving away from our novel architecture, GRIP towards the provision of a general parallel runtime environment. We call this GRAPH (Graph Reduction for an Assortment of Parallel Hardware). This paper describes the design of a new memory and load management model for GRAPH, which is intended to match shared- and distributed-memory machines better and to provide a framework for our research into parallel functional databases and granularity control. This model is currently under implementation. No performance results can therefore be provided at the present time. 1 Introduction Research into parallel functional programming at Glasgow has for some time been centred around the novel GRIP architecture, a specialised graph reduction machine which was designed and built at University College, London by Peyton Jones et al [5]. While this machine has proved useful as a basis to explore many aspects of real-machine functional ...

