Solving ordinary differential equations I (2nd revised. ed.): nonstiff problems
Solving ordinary differential equations I (2nd revised. ed.): nonstiff problems
Parallel and sequential methods for ordinary differential equations
Parallel and sequential methods for ordinary differential equations
A new model for integrated nested task and data parallel programming
PPOPP '97 Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming
A Framework for Exploiting Task and Data Parallelism on Distributed Memory Multicomputers
IEEE Transactions on Parallel and Distributed Systems
The implementation of the Cilk-5 multithreaded language
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A task- and data-parallel programming language based on shared objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiler support for task scheduling in hierarchical execution models
Journal of Systems Architecture: the EUROMICRO Journal - Special issue on tools and environments for parallel program development
Algorithms for Scheduling Independent Tasks
Journal of the ACM (JACM)
A Transformation Approach to Derive Efficient Parallel Implementations
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
A Low-Cost Approach towards Mixed Task and Data Parallel Scheduling
ICPP '02 Proceedings of the 2001 International Conference on Parallel Processing
Parallel solution of a Schrödinger-Poisson system
HPCN Europe '95 Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking
CPR: Mixed Task and Data Parallel Scheduling for Distributed Systems
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
The programming model of ASSIST, an environment for parallel and distributed portable applications
Parallel Computing - Special issue: Advanced environments for parallel and distributed computing
Task and data parallelism in P3L
Patterns and skeletons for parallel and distributed computing
Braid: integrating task and data parallelism
FRONTIERS '95 Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation (Frontiers'95)
One-Step Algorithm for Mixed Data and Task Parallel Scheduling without Data Replication
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
An advanced environment supporting structured parallel programming in Java
Future Generation Computer Systems - Tools for program development and analysis
Domain interaction patterns to coordinate HPF tasks
Parallel Computing
Performance modelling for task-parallel programs
Performance analysis and grid computing
Handbook of Scheduling: Algorithms, Models, and Performance Analysis
Handbook of Scheduling: Algorithms, Models, and Performance Analysis
On the development of a communication-aware task mapping technique
Journal of Systems Architecture: the EUROMICRO Journal
Building on a Framework: Using FG for More Flexibility and Improved Performance in Parallel Programs
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
Tlib-a library to support programming with hierarchical multi-processor tasks
Journal of Parallel and Distributed Computing
An approximation algorithm for scheduling malleable tasks under general precedence constraints
ACM Transactions on Algorithms (TALG)
Proceedings of the 20th annual international conference on Supercomputing
Parallel Computing - Algorithmic skeletons
Opus: A Coordination Language for Multidisciplinary Applications
Scientific Programming
A Comparison of Scheduling Approaches for Mixed-Parallel Applications on Heterogeneous Platforms
ISPDC '07 Proceedings of the Sixth International Symposium on Parallel and Distributed Computing
Allocating Tasks in Multi-core Processor based Parallel System
NPC '07 Proceedings of the 2007 IFIP International Conference on Network and Parallel Computing Workshops
A $\frac32$-Approximation Algorithm for Scheduling Independent Monotonic Malleable Tasks
SIAM Journal on Computing
A Bridging Model for Multi-core Computing
ESA '08 Proceedings of the 16th annual European symposium on Algorithms
Communicating Multiprocessor-Tasks
Languages and Compilers for Parallel Computing
IEEE Transactions on Parallel and Distributed Systems
Scheduling Parallel Task Graphs on (Almost) Homogeneous Multicluster Platforms
IEEE Transactions on Parallel and Distributed Systems
Towards an Efficient Process Placement Policy for MPI Applications in Multicore Environments
Proceedings of the 16th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
The design of a task parallel library
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Scalable computing with parallel tasks
Proceedings of the 2nd Workshop on Many-Task Computing on Grids and Supercomputers
Topology-aware task mapping for reducing communication contention on large parallel machines
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Hi-index | 0.00 |
Recent and future parallel clusters and supercomputers use symmetric multiprocessors SMPs and multi-core processors as basic nodes, providing a huge amount of parallel resources. These systems often have hierarchically structured interconnection networks combining computing resources at different levels, starting with the interconnect within multi-core processors up to the interconnection network combining nodes of the cluster or supercomputer. The challenge for the programmer is that these computing resources should be utilized efficiently by exploiting the available degree of parallelism of the application program and by structuring the application in a way which is sensitive to the heterogeneous interconnect.In this article, we pursue a parallel programming method using parallel tasks to structure parallel implementations. A parallel task can be executed by multiple processors or cores and, for each activation of a parallel task, the actual number of executing cores can be adapted to the specific execution situation. In particular, we propose a new combined scheduling and mapping technique for parallel tasks with dependencies that takes the hierarchical structure of modern multi-core clusters into account. An experimental evaluation shows that the presented programming approach can lead to a significantly higher performance compared to standard data parallel implementations.