Advertisement

Distributed Evolutionary Computation Using SOAP and REST Web Services

  • P. A. Castillo
  • P. García-Sánchez
  • M. G. Arenas
  • J. L. Bernier
  • J. J. Merelo
Part of the Studies in Computational Intelligence book series (SCI, volume 422)

Abstract

In this chapter, a high-level comparison of both SOAP (Simple Object Access Protocol) and REST (Representational State Transfer) is made. These are the two main approaches for interfacing to the web with web services. Both approaches are different and present some advantages and disadvantages for interfacing to web services: SOAP is conceptually more difficult (has a steeper learning curve) and more “heavy-weight” than REST, although it lacks of standards support for security. In order to test their efficiency (in time), three experiments have been performed using both technologies: first a basic client-server model implementation to test communications has been implemented; then, a master-slave based genetic algorithm (GA) to solve an optimization problem has been used; and finally, as third experiment, an approach to evolutionary distributed optimization of multilayer perceptrons (MLP) using REST and language Perl has been done. In these experiments, a master-slave based evolutionary algorithm (EA) has been implemented, where slave processes evaluate the costly fitness function (training a MLP to solve a classification problem). As expected, the parallel version of the developed programs obtains similar or better results using much less time than the sequential version, obtaining a good speedup. The results obtained have shown that both SOAP and REST can be used as communication protocol for distributed evolutionary computation, obtaining a good speedup. Results obtained are comparable, and only for large amounts of data (big messages), REST communications take longer than SOAP communications.

Keywords

Evolutionary Computation Simple Object Access Protocol Master Process Operator Priority Good Speedup 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abramson, J., Abela, A.: Parallel genetic algorithm for solving the school timetabling problem. In: Proceedings of the Fifteenth Australian Computer Science Conference (ACSC-15), vol. 14, pp. 1–11 (1992)Google Scholar
  2. 2.
    Arenas, M., Foucart, L., Merelo-Guervós, J.J., Castillo, P.A.: JEO: a framework for Evolving Objects in Java. Actas Jornadas de Paralelismo, UPV, Universidad Politécnica de Valencia, 185–191 (2001)Google Scholar
  3. 3.
    Atienza, J., García, M., González, J., Merelo-Guervós, J.J.: Jenetic: a distributed, fine-grained, asynchronous evolutionary algorithm using Jini. In: Wang, P.P. (ed.) Proc. JCIS 2000 Joint Conference on Information Sciences, vol. I, pp. 1087–1089 (2000) ISBN: 0-9643456-9-2Google Scholar
  4. 4.
    Ávila, P.: SOAP: revolución en la red. Linux Actual 19, 55–59 (2001)Google Scholar
  5. 5.
  6. 6.
    Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelsohn, N., Nielsen, H., Thatte, S., Winer, D.: Simple Object Access Protocol (SOAP) 1.1, W3C Note (May 08, 2000), http://www.w3.org/TR/SOAP
  7. 7.
    Cantú-Paz, E., Goldberg, D.E.: Modeling idealized bounding cases of parallel genetic algorithms. In: Koza, J., Deb, K., Dorigo, M., Fogel, D., Garzón, M., Iba, H., Riolo, R. (eds.) Proceedings of the Second Annual Conference on Genetic Programming 1997. Morgan Kaufmann, San Francisco (1997)Google Scholar
  8. 8.
    Cantú-Paz, E., Kamath, C.: Inducing oblique decision trees with evolutionary algorithms. IEEE Trans. Evolutionary Computation 7(1), 54–68 (2003)CrossRefGoogle Scholar
  9. 9.
    Castellano, J.G., García-Arenas, M., Castillo, P.A., Carpio, J., Cillero, M., Merelo-Guervós, J.J., Prieto, A., Rivas, V., Romero, G.: Objetos evolutivos paralelos. In: de Granada, D.A.U. (ed.) XI Jornadas de Paralelismo, pp. 247–252 (2000)Google Scholar
  10. 10.
    Castillo, P.A., Carpio, J., Merelo, J.J., Rivas, V., Romero, G., Prieto, A.: Evolving multilayer perceptrons. Neural Processing Letters 12, 115–127 (2000)zbMATHCrossRefGoogle Scholar
  11. 11.
    Castillo, P.A., Merelo-Guervós, J.J., Prieto, A., Rivas, V., Romero, G.: G-Prop: Global optimization of multilayer perceptrons using GAs. Neurocomputing 35, 149–163 (2000)zbMATHCrossRefGoogle Scholar
  12. 12.
    Castillo, P., Merelo, J., Romero, G., Prieto, A., Rojas, I.: Statistical Analysis of the Parameters of a Neuro-Genetic Algorithm. IEEE Transactions on Neural Networks 13(6), 1374–1394 (2002)CrossRefGoogle Scholar
  13. 13.
    Domeniconi, C., Peng, J., Gunopulos, D.: Adaptive metric nearest neighbor classification. In: Proc. of IEEE Conf. on CVPR, Hilton Head Island, South Carolina, pp. 517–522 (2000)Google Scholar
  14. 14.
    Duch, W.: Datasets used for classification: comparison of results (2004), http://www.phys.uni.torun.pl/kmk/projects/datasets.html
  15. 15.
    Dzeroski, S., Zenko, B.: Is combining classifiers with stacking better than selecting the best one? Machine Learning 54(3), 255–273 (2004)zbMATHCrossRefGoogle Scholar
  16. 16.
    Fahlman, S.: An empirical study of learning speed in back-propagation networks, Tech. rep., Carnegie Mellon University (1988)Google Scholar
  17. 17.
    Fahlman, S.: Faster-Learning Variations on Back-Propagation: An Empirical Study. In: Proceedings of the 1988 Connectionist Models Summer School. Morgan Kaufmann (1988)Google Scholar
  18. 18.
    Fielding, R.: Architectural Styles and the Design of Network-based Software Architectures, Doctoral dissertation, University of California, Irvine (2000)Google Scholar
  19. 19.
    Fielding, R., Taylor, R.: Principled Design of the Modern Web Architecture. ACM Transactions on Internet Technology (TOIT) 2(2), 115–150 (2002)CrossRefGoogle Scholar
  20. 20.
    Fisher, R.: Theory of Statistical Estimation. Proceedings of the Cambridge Philosophical Society 22, 700–725 (1925)zbMATHCrossRefGoogle Scholar
  21. 21.
    Fisher, R.: The Comparison of Samples with Possibly Unequal Variances. Annals of Eugenics 9, 174–180 (1936)Google Scholar
  22. 22.
    Fogarty, T., Huang, R.: Implementing the genetic algorithm on transputer based parallel processing systems. Parallel Problem Solving From Nature, 145–149 (1991)Google Scholar
  23. 23.
    García-Pedrajas, N., Hervás-Martínez, C., Munoz-Pérez, J.: Multiobjective cooperative coevolution of artificial neural networks. Neural Networks 15(10), 1255–1274 (2002)CrossRefGoogle Scholar
  24. 24.
    García-Pedrajas, N., Hervás-Martínez, C., Ortiz, D.: Cooperative coevolution of artificial neural network ensembles for pattern classification. IEEE Transactions on Evolutionary Computation 9(3), 271–302 (2005)CrossRefGoogle Scholar
  25. 25.
    García-Pedrajas, N., Ortíz-Boyer, D., del Castillo-Gomariz, R., Hervás-Martínez, C.: Cascade Ensembles. In: Cabestany, J., Prieto, A.G., Sandoval, F. (eds.) IWANN 2005. LNCS, vol. 3512, pp. 598–603. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    García-Sánchez, P., González, J., Castillo, P.A., Merelo, J.J., Mora, A.M., Laredo, J.L.J., Arenas, M.G.: A Distributed Service Oriented Framework for Metaheuristics Using a Public Standard. In: González, J.R., Pelta, D.A., Cruz, C., Terrazas, G., Krasnogor, N. (eds.) NICSO 2010. SCI, vol. 284, pp. 211–222. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  27. 27.
    Goldberg, D.E.: Genetic Algorithms in search, optimization and machine learning. Addison Wesley (1989)Google Scholar
  28. 28.
    Grefenstette, J.: Optimization of control parameters for genetic algorithms. IEEE Trans. Systems, Man, and Cybernetics 16(1), 122–128 (1986)CrossRefGoogle Scholar
  29. 29.
    Grönroos, M.: Evolutionary Design of Neural Networks, Master of Science Thesis in Computer Science. Dept. of Mathematical Sciences. University of Turku (1998)Google Scholar
  30. 30.
    Harold, E.R.: XML Bible. IDG Books worldwide (1991)Google Scholar
  31. 31.
    Hauser, R., Männer, R.: Implementation of Standard Genetic Algorithm on Mimd Machines. In: Davidor, Y., Männer, R., Schwefel, H.-P. (eds.) PPSN 1994. LNCS, vol. 866, pp. 504–513. Springer, Heidelberg (1994)Google Scholar
  32. 32.
    IETF: RFC 1945 (2011), http://tools.ietf.org/html/rfc1945
  33. 33.
    IETF: RFC 2616 (2011), http://tools.ietf.org/html/rfc2616
  34. 34.
    Keijzer, M., Merelo, J.J., Romero, G., Schoenauer, M.: Evolving Objects: A General Purpose Evolutionary Computation Library. In: Collet, P., Fonlupt, C., Hao, J.-K., Lutton, E., Schoenauer, M. (eds.) EA 2001. LNCS, vol. 2310, pp. 231–244. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  35. 35.
    Kim, D., Kim, C.: Forecasting time series with genetic fuzzy predictor ensemble. IEEE Transactions on Fuzzy Systems 5(4), 523–535 (1997)CrossRefGoogle Scholar
  36. 36.
    Kuchenko, P.: SOAP: Lite (2011), http://www.soaplite.com
  37. 37.
    León-Barranco, A., Reyes-García, C.A.: ARGEN + AREPO: Improving the Search Process with Artificial Genetic Engineering. In: Cabestany, J., Prieto, A.G., Sandoval, F. (eds.) IWANN 2005. LNCS, vol. 3512, pp. 637–645. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  38. 38.
    Merelo, J.J.: A perl primer for evolutionary algorithm practitioners. Sigevolution 4(4), 12–19 (2010), Doi http://doi.acm.org/10.1145/1810136.1810138 CrossRefGoogle Scholar
  39. 39.
    Merelo-Guervós, J.J., Castillo, P.A., Alba, E.: Algorithm:Evolutionary, a flexible Perl module for evolutionary computation. In: Soft Computing. A Fusion of Foundations, Methodologies and Applications, vol. 14(10), pp. 1091–1109. Springer, Heidelberg (2010)Google Scholar
  40. 40.
    Merelo, J.J., Mora, A., Castillo, P., Laredo, J.L.J., Fernandes, C.: Optimizing evolutionary algorithms at program level. In: Proceedings META 2010, International Conference on Metaheuristics and Nature Inspired Computing (2010)Google Scholar
  41. 41.
    Merelo-Guervós, J.J., Prieto, A.: g-lvq, a combination of genetic algorithms and lvq. In: Pearson, N.D.W., Albrecht, R.F. (eds.) Artificial Neural Nets and Genetic Algorithms, pp. 92–95. Springer (1995)Google Scholar
  42. 42.
    Merelo-Guervós, J.J., Prieto, A., Morán, F.: Optimization of classifiers using genetic algorithms, ch. 4, pp. 91–108. MIT press (2001) ISBN: 0262162016Google Scholar
  43. 43.
    Merelo, J.J., Romero, G., Arenas, M.G., Castillo, P.A., Mora, A.M., Laredo, J.L.J.: Implementation Matters: Programming Best Practices for Evolutionary Algorithms. In: Cabestany, J., Rojas, I., Joya, G. (eds.) IWANN 2011, Part II. LNCS, vol. 6692, pp. 333–340. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  44. 44.
    Michaeldehaan: XMLRPC vs REST vs SOAP vs all your RPC options (2011), http://bit.ly/MPRXA
  45. 45.
    Oluyede: If XMLRPC is really better than REST its not for there reasons (2011), http://bit.ly/bThgss
  46. 46.
    Papazoglou, M., van den Heuvel, W.J.: Service oriented architectures: approaches, technologies and research issues. The VLDB Journal 16, 389–415 (2007), doi:10.1007/s00778-007-0044-3CrossRefGoogle Scholar
  47. 47.
    Pettey, C.B., Leuze, M.R., Grefenstette, J.J.: A parallel genetic algorithm. In: Grefenstette, J.J. (ed.) Proceedings of the Second International Conference on Genetic Algorithms, pp. 155–162. Lawrence Erlbaum Associates (1987)Google Scholar
  48. 48.
    Prechelt, L.: PROBEN1 — A set of benchmarks and benchmarking rules for neural network training algorithms, Tech. Rep. 21/94, Fakultät für Informatik, Universität Karlsruhe, D-76128 Karlsruhe, Germany (1994)Google Scholar
  49. 49.
    Ray, E.T.: Learning XML: creating self-describing data. O´Reilly (2001)Google Scholar
  50. 50.
    Ryman, A.: Understanding web services (2011), http://bit.ly/tPHPOQ
  51. 51.
    soaprpc.com: SOAP software (2011), http://www.soaprpc.com/software
  52. 52.
    Sukrieh, A.: PerlDancer. Documentation (2011), http://perldancer.org/documentation
  53. 53.
    Sukrieh, A.: PerlDancer. The easiest way to write web applications with Perl (2011), http://perldancer.org
  54. 54.
    Tanese, R.: Parallel genetic algorithms for a hypercube. In: Grefenstette, J.J. (ed.) Proceedings of the Second International Conference on Genetic Algorithms, pp. 177–184. Lawrence Erlbaum Associates (1987)Google Scholar
  55. 55.
    Vasudevan, V.: A web services primer (2011), http://oreil.ly/u4tJM6
  56. 56.
    Venners, B.: Jini FAQ (frequently asked questions), http://www.artima.com/jini/faq.html
  57. 57.
    Wikipedia: Representational State Transfer (2011), http://bit.ly/t9Xy1c

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • P. A. Castillo
    • 1
  • P. García-Sánchez
    • 1
  • M. G. Arenas
    • 1
  • J. L. Bernier
    • 1
  • J. J. Merelo
    • 1
  1. 1.GeNeura, Department of Architecture and Computer TechnologyCITIC (University of Granada)GranadaSpain

Personalised recommendations