Static and Dynamic Processor Allocation for Higher-Order Concurrent Languages

Static and Dynamic Processor Allocation for Higher-Order Concurrent Languages

Hanne Riis Nielson
Flemming Nielson

In 6th NWPT, pages 270-285

Abstract:

Starting from the process algebra for Concurrent ML we develop two program analyses that facilitate the intelligent placement of processes on processors. Both analyses are obtained by augmenting an inference system for counting the number of channels created, the number of input and output operations performed, and the number of processes spawned by the execution of a Concurrent ML program. One analysis provides information useful for making a static decision about processor allocation; to this end it accumulates the communication cost for all processes with the same label. The other analysis provides information useful for making a dynamic decision about processor allocation; to this end it determines the maximum communication cost among processes with the same label. We prove the soundness of the inference system and the two analyses and demonstrate how to implement them; the latter amounts to transforming the syntax-directed inference problems to instances of syntax-free equation solving problems.

Comments
Computer Science Department, Aarhus University, Denmark.

Available as PostScript, DVI.


[BRICS symbol] BRICS WWW home page