Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Baldwin, J.F., Martin, T., Pilsworth, B.: Fril: Fuzzy and Evidential Reasoning in Artificial Intelligence. John Wiley & Sons (1995)
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)
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
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)
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)
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)
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)
Ishizuka, M., Kanai, N.: Prolog-ELF incorporating fuzzy logic. In: IJCAI, pp. 701–703 (1985)
Kruatrachue, B., Lewis, T.: Grain Size Determination for Parallel Processing. IEEE Software (January 1988)
Lee, R.: Fuzzy logic and the resolution principle. Journal of the Association for Computing Machinery 19(1), 119–129 (1972)
Li, D., Liu, D.: A Fuzzy Prolog Database System. John Wiley & Sons, New York (1990)
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)
McGreary, C., Gill, H.: Automatic Determination of Grain Size for Efficient Parallel Processing. Communications of the ACM 32 (1989)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag GmbH Berlin Heidelberg
About this paper
Cite this paper
de la Vega, T.T., Lopez-Garcia, P., Muñoz-Hernández, S. (2012). A Fuzzy Approach to Resource Aware Automatic Parallelization. In: Madani, K., Dourado Correia, A., Rosa, A., Filipe, J. (eds) Computational Intelligence. IJCCI 2010. Studies in Computational Intelligence, vol 399. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27534-0_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-27534-0_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-27533-3
Online ISBN: 978-3-642-27534-0
eBook Packages: EngineeringEngineering (R0)