Authors:
T. Trigo de la Vega
1
;
P. Lopez-García
1
and
S. Muñoz-Hernandez
2
Affiliations:
1
IMDEA Software, Spain
;
2
Technical University of Madrid (UPM), Spain
Keyword(s):
Fuzzy logic application, Parallel computing, Automatic parallelization, Granularity control, Scheduling, Complexity analysis.
Related
Ontology
Subjects/Areas/Topics:
Artificial Intelligence
;
Biomedical Engineering
;
Biomedical Signal Processing
;
Computational Intelligence
;
Computer-Supported Education
;
Domain Applications and Case Studies
;
Fuzzy Systems
;
Health Engineering and Technology Applications
;
Human-Computer Interaction
;
Industrial, Financial and Medical Applications
;
Methodologies and Methods
;
Neural Networks
;
Neurocomputing
;
Neurotechnology, Electronics and Informatics
;
Pattern Recognition
;
Physiological Computing Systems
;
Sensor Networks
;
Signal Processing
;
Soft Computing
;
Soft Computing and Intelligent Agents
;
Theory and Methods
Abstract:
Automatic parallelization has become a mainstream research topic for different reasons. For example, multicore architectures, which are now present even in laptops, have awakened an interest in software tools that can exploit the computing power of parallel processors. Distributed and (multi)agent systems also benefit from techniques and tools for deciding in which locations should processes be run to make a better use of the available resources. Any decision on whether to execute some processes in parallel or sequentially must ensure correctness (i.e., the parallel execution obtains the same results as the sequential), but also has to take
into account a number of practical overheads, such as those associated with tasks creation, possible migration of tasks to remote processors, the associated communication overheads, etc. Due to these overheads and if the granularity of parallel tasks, i.e., the “work available” underneath them, is too small, it may happen that the costs are larger
than the benefits in their parallel execution. Thus, the aim of granularity control is to change parallel execution to sequential execution or vice-versa based on some conditions related to grain size and overheads. In this work, we have applied fuzzy logic to automatic granularity control in parallel/distributed
computing and proposed fuzzy conditions for deciding whether to execute some given tasks in parallel or sequentially. We have compared our proposed fuzzy conditions with existing (conservative) sufficient conditions and our experiments showed that the proposed fuzzy conditions result in more efficient executions on average than the conservative conditions.
(More)