Future paths for integer programming and links to artificial intelligence
Computers and Operations Research - Special issue: Applications of integer programming
Simple and integrated heuristic algorithms for scheduling tasks with time and resource constraints
Journal of Systems and Software
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
ScaLAPACK user's guide
Optimal orthogonal tiling of 2-D iterations
Journal of Parallel and Distributed Computing
Journal of Parallel and Distributed Computing
Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures
A Proposal for a Heterogeneous Cluster ScaLAPACK (Dense Linear Solvers)
IEEE Transactions on Computers
Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization
Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization
Optimal tiling for the RNA base pairing problem
Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures
Algorithmics for Hard Problems
Algorithmics for Hard Problems
Towards the automatic optimal mapping of pipeline algorithms
Parallel Computing
Lower Bounding Techniques for the Multiprocessor Scheduling Problem with Communication Delay
PACT '99 Proceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques
Improving Scheduling of Tasks in a Heterogeneous Environment
IEEE Transactions on Parallel and Distributed Systems
Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor Platforms
IEEE Transactions on Parallel and Distributed Systems
Architecture of an automatically tuned linear algebra library
Parallel Computing
Parallel Computing - Heterogeneous computing
Journal of Systems Architecture: the EUROMICRO Journal - Special issue: Parallel, distributed and network-based processing
Using Metaheuristics in a Parallel Computing Course
ICCS '08 Proceedings of the 8th international conference on Computational Science, Part II
Mapping in heterogeneous systems with heuristic methods
PARA'06 Proceedings of the 8th international conference on Applied parallel computing: state of the art in scientific computing
A unified view on hybrid metaheuristics
HM'06 Proceedings of the Third international conference on Hybrid Metaheuristics
Hi-index | 0.00 |
The optimization of the execution time of a parallel algorithm can be achieved through the use of an analytical cost model function representing the running time. Typically the cost function includes a set of parameters that model the behavior of the system and the algorithm. In order to reach an optimal execution, some of these parameters must be fitted according to the input problem and to the target architecture. An optimization problem can be stated where the modeled execution time for the algorithm is used to estimate the parameters. Due to the large number of variable parameters in the model, analytical minimization techniques are discarded. Exhaustive search techniques can be used to solve the optimization problem, but when the number of parameters or the size of the computational system increases, the method is impracticable due to time restrictions. The use of approximation methods to guide the search is also an alternative. However, the dependence on the algorithm modeled and the bad quality of the solutions as a result of the presence of many local optima values in the objective functions are also drawbacks to these techniques. The problem becomes particularly difficult in complex systems hosting a large number of heterogeneous processors solving non-trivial scientific applications. The use of metaheuristics allows for the development of valid approaches to solve general problems with a large number of parameters. A well-known advantage of metaheuristic methods is the ability to obtain high-quality solutions at low running times while maintaining generality. We propose combining the parameterized analytical cost model function and metaheuristic minimization methods, which contributes to a novel real alternative to minimize the parallel execution time in complex systems. The success of the proposed approach is shown with two different algorithmic schemes on parallel heterogeneous systems. Furthermore, the development of a general framework allows us to easily develop and experiment with different metaheuristics to adjust them to particular problems.