A Fuzzy Approach to Resource Aware Automatic Parallelization

  • T. Trigo de la Vega
  • P. Lopez-Garcia
  • S. Muñoz-Hernández
Part of the Studies in Computational Intelligence book series (SCI, volume 399)


Any realistic approach to automatic program parallelization must take into account practical issues related to the resource usage of parallel executions, such as the overheads associated with parallel tasks creation, migration of tasks to remote processors, and communication. The aim of granularity control techniques is avoiding such overheads undermining the benefits of parallel executions. For example, sufficient conditions have been proposed to ensure that the parallel execution of some given tasks will not take longer than their corresponding sequential execution. However, when the goal is to optimize the average execution time of several runs, such conditions can be very conservative, causing a loss in parallelization opportunities. To solve this problem, we have proposed novel conditions based on fuzzy logic and performed an experimental assessment with real programs. The results show that such conditions select the optimal type of execution in most cases and behave much better than the conservative conditions.


Fuzzy logic application Parallel computing automatic Parallelization Granularity control Scheduling complexity Analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baldwin, J.F., Martin, T., Pilsworth, B.: Fril: Fuzzy and Evidential Reasoning in Artificial Intelligence. John Wiley & Sons (1995)Google Scholar
  2. 2.
    Debray, S.K., Lin, N.W., Hermenegildo, M.: Task Granularity Analysis in Logic Programs. In: Proc. of the 1990 ACM Conf. on Programming Language Design and Implementation, pp. 174–188. ACM Press (June 1990)Google Scholar
  3. 3.
    Guadarrama, S., Muñoz, S., Vaucheret, C.: Fuzzy Prolog: A new Approach Using Soft Constraints Propagation. Fuzzy Sets and Systems FSS144(1), 127–150 (2004) iSSN 0165-0114 CrossRefGoogle Scholar
  4. 4.
    Hermenegildo, M., Puebla, G., Bueno, F., López-García, P.: Integrated Program Debugging, Verification, and Optimization Using Abstract Interpretation (and The Ciao System Preprocessor). Science of Computer Programming 58(1–2) (2005)Google Scholar
  5. 5.
    Hermenegildo, M., Rossi, F.: Strict and Non-Strict Independent And-Parallelism in Logic Programs: Correctness, Efficiency, and Compile-Time Conditions. Journal of Logic Programming 22(1), 1–45 (1995)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Hermenegildo, M.V., Bueno, F., Carro, M., López, P., Morales, J.F., Puebla, G.: An Overview of the Ciao Multiparadigm Language and Program Development Environment and its Design Philosophy. In: Degano, P., De Nicola, R., Bevilacqua, V. (eds.) Concurrency, Graphs and Models. LNCS, vol. 5065, pp. 209–237. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Huelsbergen, L., Larus, J.R., Aiken, A.: Using Run-Time List Sizes to Guide Parallel Thread Creation. In: Proc. ACM Conf. on Lisp and Functional Programming (June 1994)Google Scholar
  8. 8.
    Ishizuka, M., Kanai, N.: Prolog-ELF incorporating fuzzy logic. In: IJCAI, pp. 701–703 (1985)Google Scholar
  9. 9.
    Kruatrachue, B., Lewis, T.: Grain Size Determination for Parallel Processing. IEEE Software (January 1988)Google Scholar
  10. 10.
    Lee, R.: Fuzzy logic and the resolution principle. Journal of the Association for Computing Machinery 19(1), 119–129 (1972)CrossRefGoogle Scholar
  11. 11.
    Li, D., Liu, D.: A Fuzzy Prolog Database System. John Wiley & Sons, New York (1990)Google Scholar
  12. 12.
    López-García, P., Hermenegildo, M., Debray, S.K.: 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 (1996)Google Scholar
  13. 13.
    McGreary, C., Gill, H.: Automatic Determination of Grain Size for Efficient Parallel Processing. Communications of the ACM 32 (1989)Google Scholar
  14. 14.
    Mera, E., López-García, P., Carro, M., Hermenegildo, M.: Towards Execution Time Estimation in Abstract Machine-Based Languages. In: 10th Int’l. ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP 2008), pp. 174–184. ACM Press (July 2008)Google Scholar
  15. 15.
    Pablos-Ceruelo, V., Strass, H., Muñoz Hernández, S.: Rfuzzy—a framework for multi-adjoint fuzzy logic programming. In: Annual Meeting of the North American of Fuzzy Information Processing Society, NAFIPS 2009, pp. 1–6 (June 2009)Google Scholar
  16. 16.
    Zhong, X., Tick, E., Duvvuru, S., Hansen, L., Sastry, A., Sundararajan, R.: Towards an Efficient Compile-Time Granularity Analysis Algorithm. In: Proc. of the 1992 International Conference on Fifth Generation Computer Systems, Institute for New Generation Computer Technology (ICOT), pp. 809–816 (June 1992)Google Scholar

Copyright information

© Springer-Verlag GmbH Berlin Heidelberg 2012

Authors and Affiliations

  • T. Trigo de la Vega
    • 1
  • P. Lopez-Garcia
    • 1
    • 2
  • S. Muñoz-Hernández
    • 3
  1. 1.The IMDEA Software InstituteMadridSpain
  2. 2.Spanish Research Council (CSIC)MadridSpain
  3. 3.School of Computer ScienceTechnical University of MadridMadridSpain

Personalised recommendations