Main Article Content

Antonio J. Tomeu
Department of Computer Science, University of Cadiz
Spain
Alberto G. Salguero
Department of Computer Science, University of Cadiz
Spain
Manuel I. Capel
Department of Computer Languages and Systems, University of Granada
Spain
Vol. 4 No. 1 (2017), Articles, pages 37-45
Submitted: May 24, 2018 Published: May 24, 2018

Abstract

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.

Downloads

Download data is not yet available.

Article Details

References

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