Author_Institution :
Dept. of Inf., Univ. of Minho, Braga, Portugal
Abstract :
To harness the performance potential of current multicore processors, a multitude of algorithms, frameworks and libraries have been developed. Nevertheless, it is still extremely difficult to take advantage of the full potential of multicore processors. Moreover, in the presence of asymmetric sets of tasks, and/or when using third-party tools, this problem would only aggravate. In this paper, we present a software design and two algorithms to enable multilevel task parallelism exploitation on asymmetric sets of tasks and when using third-party tools. The proposed software design along with both algorithms allow, in a seamlessly way, the efficient exploitation of coarse-grained-inter-task-and fine-grained-intra-task-parallelism. Thus, it becomes possible to make a better and transparent usage of the performance potential of current multicore processors on shared-memory systems. To assess the feasibility and the benefit of applying the proposed software design along with both algorithms, we used three irregular applications from Phylogenetics-real world problems-, and several input data sets with different characteristics. Our studies show ground-breaking results in terms of the achieved speedups and that scalability is not impaired.
Keywords :
parallel algorithms; shared memory systems; software engineering; Phylogenetics-real world problems; asymmetric task sets; coarse-grained-inter-task-parallelism; fine-grained-intra-task-parallelism; multicore processors; multilevel task parallelism exploitation; shared-memory systems; software design; third-party tools; Algorithm design and analysis; DNA; Multicore processing; Parallel processing; Program processors; Software algorithms; Software design; Asymmetric Sets of Tasks; Multicore Processors; Multilevel Task Parallelism Exploitation; Parallel Programming; Phylogenetics; Shared-Memory Systems; Third-Party Tools;