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 WWW home page