One of the most important topics in software industry is how to utilize the OpenMP 3.0 programming model to improve the execution of irregular and unstructured applications. In this paper, we present an original task scheduling strategy-Hybrid strategy, which is suited to the execution of OpenMP programs on Cell heterogeneous multicore. Hybrid scheduling strategy creates tasks in breadth-first order while executes tasks in work-first fashion during application execution. The former is capable of creating enough tasks, which prevents the worker threads from idling. While the latter guarantees task dependence is freed quickly and consequently, the overhead with respect to task searching is significant decreased. The evaluation, with a variety of Barcelona OpenMP Task Suite, is conducted on a PS3 heterogeneous multicore. And the experimental results indicate that Hybrid policy outperforms the existing work-first and breadth-first scheduling strategies for most irregular and unstructured benchmarks, with speedups from 1.5 to 4.6 when 6 SPEs are used.
展开▼