Benchmarking Parallelism and Concurrency in the Encore Programming Language

University essay from Uppsala universitet/Institutionen för informationsteknologi

Author: Mikael Östlund; [2016]

Keywords: ;

Abstract: Due to the limit in speedup of clock speed, most modern computers now sport multicore chips to provide computing power. Currently, programming language support for such machines often consists of extensions to languages that were originally designed to be sequential. New programming models and languages are needed that are parallel by design. One class of such languages are actor- (and active object) based languages and one such language is Encore, a new actor based language currently under development. When developing a programming language it is often important to compare the performance of the language with other well-known and proven languages in the same paradigm. This thesis compares the concurrency and parallelism performance of Encore with Scala and Erlang over a set of benchmarks. The results show that Encore features a very fair scheduling policy and also performs up to par with the languages Scala and Erlang when measuring wall-clock execution time on a desktop computer. Encore currently lag behind a bit in terms of strong scalability when a lot of communication occur, when communication is kept at a minimum however, Encore showcases a strong scalability just as good as the one of Erlang and Scala in the parallelism benchmark Fannkuch. The memory usage of Encore is higher than the memory consumption of Scala and Erlang in one of the three analysed benchmarks and lower on the other two. Overall the results for Encore look promising for the future.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)