Antonio Tomeu Hardasmal , Alberto Salguero Hidalgo , Manuel Capel Tuñón
There are several APIs (C+11, TBB, OpenMPI,... ) that properly support code parallelism in any of the most used programming languages (C++, C\#,Java, Phyton, or Erlang) in telecommunications industry nowadays, but it is a complicated issue for a novel programmer of multicores to decide which one to choose in order to get an application parallelized with high performance.C++11 is the new ISO standard for C++, which offers atomic declaration of variables, load/store operators and supports portable multithreaded programming in this familiy of development languages.Java SE has been including new primitives for doing high--level concurrency in Java programs from version 5.0 on. Currently, Java SE 8 also offers parallel syntactical constructs for new multicore architectures programs, such as lambda functions with an efficient tail recursion implementation or execution to future.Within a similar historical context, as in the Charles Dickens' A Tale of Two Cities, there may exist equivalent problems in two close--up places but they can be solved in a quite different way. In this respect, we are performing a systematic comparative study between two programming languages that are intensively deployed in industry today, probably due to their popular parallel programming APIs, Java Concurrency Utilities and C++11 Standard Library, respectively. We carry out a set of measurements to compare the execution time and performance (speedup) of parallel versions of (a) Belousov-Zhabotinsky chemical reaction simulation with cellular automata and (b) Discrete 2D-Convolution.Differently from other similar work in the field, we focus here more on foretelling performance results that different APIs are offering to non-specialized programmers than in low--level implementation details.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados