T. Trigo de la Vega, P. Lopez-García, S. Muñoz-Hernandez


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.


  1. Baldwin, J. F., Martin, T., and Pilsworth, B. (1995). Fril: Fuzzy and Evidential Reasoning in Artificial Intelligence. John Wiley & Sons.
  2. Chassin, J. and Codognet, P. (1994). Parallel Logic Programming Systems. Computing Surveys, 26(3):295- 336.
  3. Debray, S. K., Lin, N.-W., and Hermenegildo, M. (1990). Task Granularity Analysis in Logic Programs. In Proc. of the 1990 ACM Conf. on Programming Language Design and Implementation, pages 174-188.
  4. Guadarrama, S., Muñoz, S., and Vaucheret, C. (2004). Fuzzy Prolog: A new Approach Using Soft Constraints Propagation. Fuzzy Sets and Systems, FSS, 144(1):127-150. ISSN 0165-0114.
  5. Hermenegildo, M., Puebla, G., Bueno, F., and LópezGarcía, P. (2005). Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and The Ciao System Preprocessor). Science of Computer Programming, 58(1-2):115-140.
  6. Hermenegildo, M. and Rossi, F. (1995). Strict and NonStrict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions. Journal of Logic Programming, 22(1):1- 45.
  7. Hermenegildo, M. V., Bueno, F., Carro, M., López, P., Morales, J., and Puebla, G. (2008). An Overview of The Ciao Multiparadigm Language and Program Development Environment and its Design Philosophy. In Festschrift for Ugo Montanari, number 5065 in LNCS, pages 209-237. Springer-Verlag.
  8. Huelsbergen, L. (1993). Dynamic Language Parallelization. Technical Report 1178, Computer Science Dept. Univ. of Wisconsin.
  9. Ishizuka, M. and Kanai, N. (1985). Prolog-ELF incorporating fuzzy logic. In IJCAI, pages 701-703.
  10. Kaplan, S. (1988). Algorithmic Complexity of Logic Programs. In Logic Programming, Proc. Fifth International Conference and Symposium, (Seattle, Washington), pages 780-793.
  11. Kruatrachue, B. and Lewis, T. (1988). Grain Size Determination for Parallel Processing. IEEE Software.
  12. Lee, R. (1972). Fuzzy logic and the resolution principle. Journal of the Association for Computing Machinery, 19(1):119-129.
  13. Li, D. and Liu, D. (1990). A Fuzzy Prolog Database System. John Wiley & Sons, New York.
  14. López-García, P., Hermenegildo, M., and Debray, S. K. (1996). A Methodology for Granularity Based Control of Parallelism in Logic Programs. Journal of Symbolic Computation, Special Issue on Parallel Symbolic Computation, 21(4-6):715-734.
  15. McGreary, C. and Gill, H. (1989). Automatic Determination of Grain Size for Efficient Parallel Processing. Communications of the ACM, 32.
  16. Mera, E., López-García, P., Carro, M., and Hermenegildo, M. (2008). Towards Execution Time Estimation in Abstract Machine-Based Languages. In 10th Int'l. ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP'08), pages 174-184. ACM Press.
  17. Muñoz-Hernández, S., Pablos-Ceruelo, V., and Strass, H. (2009). Rfuzzy: An expressive simple fuzzy compiler. In IWANN (1), pages 270-277.
  18. Pablos-Ceruelo, V., Muñoz-Hernández, S., and Strass, H. (2009a). Rfuzzy framework. Paper presented at the 18th Workshop on Logic-based Methods in Programming Environments (WLPE2008), CoRR, abs/0903.2188.
  19. Pablos-Ceruelo, V., Strass, H., and Muñoz Hernández, S. (2009b). Rfuzzy-a framework for multi-adjoint fuzzy logic programming. In Fuzzy Information Processing Society, 2009. NAFIPS 2009. Annual Meeting of the North American, pages 1-6.
  20. Rabhi, F. A. and Manson, G. A. (1990). Using Complexity Functions to Control Parallelism in Functional Programs. Res. Rep. CS-90-1, Dept. of Computer Science, Univ. of Sheffield, England.
  21. Strass, H., Muñoz-Hernández, S., and Pablos-Ceruelo, V. (2009). Operational semantics for a fuzzy logic programming system with defaults and constructive answers. In IFSA/EUSFLAT Conf., pages 1827-1832.
  22. Vaucheret, C., Guadarrama, S., and Muñoz, S. (2002). Fuzzy Prolog: A Simple General Implementation using CLP(R). In 9th International Conference on Logic for Programming Artificial Intelligence and Reasoning, Tbilisi, Georgia.
  23. Zhong, X., Tick, E., Duvvuru, S., Hansen, L., Sastry, A., and Sundararajan, R. (1992). Towards an Efficient Compile-Time Granularity Analysis Algorithm. In Proc. of the 1992 International Conference on Fifth Generation Computer Systems, pages 809-816. Institute for New Generation Computer Technology (ICOT).

Paper Citation

in Harvard Style

Trigo de la Vega T., Lopez-García P. and Muñoz-Hernandez S. (2010). TOWARDS FUZZY GRANULARITY CONTROL IN PARALLEL/DISTRIBUTED COMPUTING . In Proceedings of the International Conference on Fuzzy Computation and 2nd International Conference on Neural Computation - Volume 1: ICFC, (IJCCI 2010) ISBN 978-989-8425-32-4, pages 43-55. DOI: 10.5220/0003066100430055

in Bibtex Style

author={T. Trigo de la Vega and P. Lopez-García and S. Muñoz-Hernandez},
booktitle={Proceedings of the International Conference on Fuzzy Computation and 2nd International Conference on Neural Computation - Volume 1: ICFC, (IJCCI 2010)},

in EndNote Style

JO - Proceedings of the International Conference on Fuzzy Computation and 2nd International Conference on Neural Computation - Volume 1: ICFC, (IJCCI 2010)
SN - 978-989-8425-32-4
AU - Trigo de la Vega T.
AU - Lopez-García P.
AU - Muñoz-Hernandez S.
PY - 2010
SP - 43
EP - 55
DO - 10.5220/0003066100430055