Abstract
FuzzyCLIPS is a rule-based programming language and it is very suitable for developing fuzzy expert systems. However, it usually requires much longer execution time than algorithmic languages such as C and Java. To address this problem, we propose a parallel version of FuzzyCLIPS to parallelize the execution of a fuzzy expert system with data dependence on a cluster system. We have designed some extended parallel syntax following the original FuzzyCLIPS style. To simplify the programming model of parallel FuzzyCLIPS, we hide, as much as possible, the tasks of parallel processing from programmers and implement them in the inference engine by using MPI, the de facto standard for parallel programming for cluster systems. Furthermore, a load balancing function has been implemented in the inference engine to adapt to the heterogeneity of computing nodes. It will intelligently allocate different amounts of workload to different computing nodes according to the results of dynamic performance monitoring. The programmer only needs to invoke the function in the program for better load balancing. To verify our design and evaluate the performance, we have implemented a human resource website. Experimental results show that the proposed parallel FuzzyCLIPS can garner a superlinear speedup and provide a more reasonable response time.
Similar content being viewed by others
References
Giarratano JC, Riley GD (2005) Expert systems: principles and programming. Thomson Course Technology
CLIPS (2010) http://www.ghg.net/clips/WhatIsCLIPS.html
FuzzyCLIPS (2010) http://www.iit.nrc.ca/IR_public/fuzzy/fuzzyClips/fuzzyCLIPSIndex.html
Wilkinson B, Allen M (2005) Parallel programming: techniques and applications using networked workstations and parallel computers, 2nd edn. Prentice Hall, New York
Message Passing Interface Standard (2010) http://www-unix.mcs.anl.gov/mpi/
Reyes-Garcia CA, Corona E (2003) Implementing fuzzy expert system for intelligent buildings. In: Proceedings of the 2003 ACM symposium on applied computing, pp 9–13
Morris A, Steele A (2002) FuzzyCLIPS and neuro-fuzzy term rewriting for power network control. In: Proceedings of 2002 annual meeting of the North American fuzzy information processing society, pp 566–571
Myers L, Pohl K (1994) Using PVM to host clips in distributed environments. In: Proceedings of CLIPS’94, pp 177–186
Gagne D, Garant A (1994) DAI-CLIPS: distributed, asynchronous, interacting CLIPS. In: Proceedings of CLIPS’94, pp 297–306
Hall L, Bennett BH, Tello I (1994) PCLIPS: parallel CLIPS. In: Proceedings of CLIPS’94, pp 307–314
Petcu Dana (2005) Parallel Jess. In: Proceedings of the 4th international symposium on parallel and distributed computing, pp 307–316
Wu C-C, Lai L-F, Chang Y-S (2008) A study of designing a grid-enabled expert system language. J Chin Inst Eng 32(7):1165–1179
Wu C-C, Lai L-F, Chang Y-S (2009) Towards automatic load balancing for programming parallel fuzzy expert systems in heterogeneous clusters. J Internet Technol 10(2):179–186
Wu C-C, Lai L-F, Ke JY, Jhan S-S, Chang Y-S (2010) Designing a parallel fuzzy expert system programming model with adaptive load balancing capability for cloud computing. J Comput 21(1):38–48
Siler W, Buckley JJ (2004) Fuzzy expert systems and fuzzy reasoning. Wiley-Interscience, New York
Network Weather Service (2010) http://nws.cs.ucsb.edu/ewiki/
Wu C-C, Lai L-F, Yang CT, Chiu P-H (2009) Using hybrid MPI and OpenMP programming to optimize communications in parallel loop self-scheduling schemes for multicore PC clusters. J Supercomput. doi:10.1007/s11227-009-0271-z
NAS Parallel Benchmark Suites (2010) http://www.nas.nasa.gov/Resources/Software/npb.html
Kaufmann A, Gupta MM (1985) Introduction to fuzzy arithmetic: theory and applications. Van Nostrand Reinhold, New York
Ngai EWT, Wat FKT (2005) Fuzzy decision support system for risk analysis in commerce development. Decis Support Syst 40(2):235–255
Chen CT (2000) Extension of the TOPSIS for group decision-making under fuzzy environment. Fuzzy Sets Syst 114:1–9
Hwang CL, Yoon K (1981) Multiple attribute decision making: methods and applications. Springer, Berlin Heidelberg
Arabnia HR, Smith JW (1993) A reconfigurable interconnection network for imaging operations and its implementation using a multi-stage switching box. In: Proceedings of the 7th annual international high performance computing conference, pp 349–357
Arabnia HR, Oliver MA (1987) A transputer network for the arbitrary rotation of digitised images. Comput J 30(5):425–433
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Wu, CC., Lai, LF. & Chang, YS. Extending FuzzyCLIPS for parallelizing data-dependent fuzzy expert systems. J Supercomput 59, 1379–1395 (2012). https://doi.org/10.1007/s11227-010-0542-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-010-0542-8