Return to search

Evaluation and Comparison of Programming Frameworks for Shared Memory Multicore Systems

In this masters thesis we explore past work trying to classify algorithmic problems. These classications are used to select problems for evaluating dierent programming languages and frameworks. We use a subset of the 13 Dwarfs of Berkeley, more specically: dense and sparse linear algebra, spectral methods, graph traversal and MapReduce. We evaluate the performance and ease of use of two programming frameworks and two languages of interest to Etteplan, a large consultant company; C++ using either OpenMP or MPI and Erlang. We show that MPI can be used to speed up programs in a shared memory system, it handles structured problems well but struggles with more dynamic work loads such as the graph traversal algorithm BFS that we use as a benchmark. Additionally we show that OpenMP is an easy way to gain performance by utilizing thread level parallelism in most situations. Erlang, the concurrency focused programming language from Ericsson is explored as an alternative to C++. However its immutable tree data structures do not compete with ecient in-place updates of memory arrays with constant access time.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-109674
Date January 2014
CreatorsMikael, Silvén
PublisherLinköpings universitet, Programvara och system, Linköpings universitet, Tekniska högskolan
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.002 seconds