Abstract
It is argued that scheduling is an important determinant of
performance for many parallel symbolic computations, in addition to
the issues of dynamic load balancing and grain size control. We
propose associating unbounded levels of priorities with tasks and
messages as the mechanism of choice for specifying scheduling
strategies. We demonstrate how priorities can be used in
parallelizing computations in different search domains, and show
how priorities can be implemented effectively in parallel systems.
Priorities have been implemented in the Charm portable parallel
programming system. Performance results on shared-memory machines
with tens of processors and nonshared-memory machines with hundreds
of processors are given. Open problems for prioritization in
specific domains are given, which will constitute fertile area for
future research in this field.