A Parallel Model for the Belousov- Zhabotinsky Oscillating Reaction with Python and Java

  1. Tomeu, Antonio J. 1
  2. Salguero, Alberto G. 1
  3. Capel, Manuel I. 2
  1. 1 Department of Computer Science, University of Cadiz
  2. 2 Department of Computer Languages and Systems, University of Granada
Revista:
Annals of Multicore and GPU Programming: AMGP

ISSN: 2341-3158

Año de publicación: 2017

Volumen: 4

Número: 1

Páginas: 37-45

Tipo: Artículo

Otras publicaciones en: Annals of Multicore and GPU Programming: AMGP

Resumen

The programing language Python has been rapidly gaining in popularity and it has now become the first choice for implementing all kinds of systems in different software development fields. Programmers now use it for parallel processing on multicore and manycore architectures through specific modules such as Numba, PyCuda or mpi4Py. Much analysis work has been conducted to compare the performance of Python and commonly-used programming languages such as Java. This article presents a further comparison by solving the Belousov-Zhabotinsky oscillating reaction problem with both languages by using symmetrical multiprocessing with data partition.

Referencias bibliográficas

  • Adamatzky, A., De Lacy, B. & Asai, T. Reaction-Diffusion Computers. Elsevier B. V.,
  • Akhter, S. & Roberts, J. Multicore Programming Increasing Performance through
  • Software Multithreading. Intel Press, Digital Edition, 2006.
  • Balaji, P. (ed.) Programming Models for Parallel Computing. The MIT Press, 2015.
  • Bandman, O. Mapping Physical Phenomenon to CA-Models. Automata-2008. Theory and
  • Applications of Cellular Automata, 381-395. Luniver Press, 2008.
  • Batty, M., Memarian, K., Owens, S., Summit, S. & Sewell. P. Clarifying and Compiling
  • C/C++ Concurrency: from C++11 to Power. POPL'12.
  • (http://www.cl.cam.ac.uk/~pes20/cppppc/popl079-batty.pdf)
  • Boehm, H. Threads Basics. What Every Programmer Should Know About Memory
  • Models Issues. HPL Technical Report, 2009
  • (http://www.hpl.hp.com/techreports/2009/HPL-2009-259html.html)
  • Fernández, J. Java 7 Concurrency Cookbook. Packt Publishing, 2012.
  • Göetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D. y Lea, D. Java Concurrency in
  • Practice. Addison-Wesley, 2006.
  • Goram. A.K. & From, A. A Comparative analysis between parallale models in C/C++ and
  • C#/Java. http://kth.diva-portal.org/smash/get/diva2:648395/FULLTEXT01.pdf. 2013.
  • Lea, D. Programación Concurrente en Java. Principios y Patrones de Diseño. Addison
  • Wesley, 2000.
  • Mikhailov, A. S. and Showalter, K., Control of waves, patterns and turbulence in chemical
  • systems. Physics Reports 425, 79-194, 2006.
  • Nefedev, K.V. & Peretyako, A.A. Superlinear Speedup of Parallel Calculation of Finite
  • Number Ising Spins Partition Function. Proceedings of Third International Conference of
  • High Performance Computing HPC-UA, 282-286, 2013.
  • Oaks, S. & Wong, H. Java Threads, 3rd Edition. O’Reilly, 2004.
  • Rauber, T. & Rünger, G. Parallel Programming for Multicore and Cluster Systems.
  • Second Edition. Springer-Verlag, 2012.
  • Ringler, Roger. C# Multithreaded and Parallel Programming. Packt Publishing, 2014.
  • Robbins, K. & Robbins, S. Practical Unix Programming. A Guide to Concurrency,
  • Communication and Multithreading. Prentice Hall, 1996.
  • The Computer Language Benchmarks Game, 2017. In
  • https://benchmarksgame.alioth.debian.org/.
  • The Top Programing Languages 2017. In https://spectrum.ieee.org/static/interactive-thetop-
  • programming-languages-2017
  • Sharifulina, A. & Elokhin, V. Simulation of Heterogeneous Catalytic Reaction by
  • Asynchronous Cellular Automata on Multicomputer. Parallel Computing Technologies.
  • Lectures Notes in Computer Science, volume 6873, 204-209, 2011.
  • Subramanian, V. Programming Concurrency on the JVM: Mastering Synchronization,
  • STM and Actors. The Pragmatic Programmers, 2011
  • Yoshida, R. Self-Oscillating Gels Driven by the Belousov-Zhabotinsky Reaction as Novel
  • Smart Materials. Advanced Materials, Vol. 22, issue 31, pp. 3463-3483, 2010
  • Zaccone, G. Python Parallel Programming Cookbook. Packt Publishing, 2015