Existing parallelizing compilers are targeted towards parallel architectures where all processors are dedicated to a single application. However a new type of parallel system has become available in the form of high performance workstations connected by high speed networks. Such systems pose new problems for compilers because the available processing power on each workstation may change with time due to other tasks competing for resources. We argue that it is possible for a parallelizing compiler to generate code that can dynamically shift portions of the application's workload between processors to improve performance. We have implemented a run-time system that supports automatically generated programs with dynamic load balancing. We describe this system and present performance measurements. We also describe the compiler functionality needed to generate parallel programs with dynamic load balancing
Published in:
High Performance Distributed Computing, 1994., Proceedings of the Third IEEE International Symposium on
Date of Conference: 2-5 Aug 1994