Parallel and distributed systems have intended to exploit local and remote multi-cores and multiprocessors for high performance. However, without popular single-image distributed operating systems, few systems can utilize all resources automatically and effectively. This paper proposed an MPI-like middleware, Pitcher, to distribute multithreaded parallel workloads across networked computers without user involvement. Fine-grained computational units, threads, are regrouped into bundles based on data locality and scheduling requests. Such thread bundles are treated as load distribution units. Unlike MPI, data and synchronization variables in Pitcher will be automatically partitioned and distributed. A preprocessor transforms the source code so that programmers stick to shared virtual address space programming paradigm whereas the runtime support module dispatches thread bundles and data based on locality. The experimental results demonstrate the effectiveness of Pitcher.
Published in:
Advanced Information Networking and Applications (AINA), 2010 24th IEEE International Conference on
Date of Conference: 20-23 April 2010