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.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:liu-109674 |
Date | January 2014 |
Creators | Mikael, Silvén |
Publisher | Linköpings universitet, Programvara och system, Linköpings universitet, Tekniska högskolan |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.002 seconds