A Sized Time System for a Parallel Functional Language

Hans-Wolfgang Loidl and Kevin Hammond
In Glasgow Workshop on Functional Programming 1996, Ullapool, Scotland, Jul. 8--10, 1996.

This paper describes an inference system, whose purpose is to determine the cost of evaluating expressions in a strict purely functional language. Upper bounds can be derived for both computation cost and the size of data structures. We outline a static analysis based on this inference system for inferring size and cost information. The analysis is a synthesis of the sized types of Hughes et al., and the polymorphic time system of Dornic et al., which was extended to static dependent costs by Reistad and Gifford.

Our main interest in cost information is for scheduling tasks in the parallel execution of functional languages. Using the GranSim parallel simulator, we show that the information provided by our analysis is sufficient to characterise relative task granularities for a simple functional program. This information can be used in the runtime-system of the Glasgow Parallel Haskell compiler to improve dynamic program performance.

@InProceedings{gph-sized,
  author = 	 {Hans-Wolfgang Loidl and Kevin Hammond},
  title = 	 {A Sized Time System for a Parallel Functional Language},
  booktitle = 	 {Proceedings of the Glasgow Workshop on Functional Programming},
  year = 	 {1996},
  address = 	 {Ullapool, Scotland},
  month = 	 jul
}

Available in: ps, ps.gz


GPH Papers | GPH