To appear at (HIPS'99), San Juan, Puerto Rico, USA, April 12, 1999
Abstract
Executing subordinate activities by pushing return addresses on the
stack is the most efficient working mode for sequential programs. It
is supported by all current processors, yet in most cases is
inappropriate for parallel execution of indepented threads of
control. This paper describes an approach of dynamically switching
between efficient on-stack execution of sequential threads and
off-stack spawning of parallel activities. The presented method
allows to incorporate work-stealing into the scheduler, letting the
system profit from its near-to-optimal load-balancing properties.