Review of object oriented parallel programming framework Charm++

Name
Tõnu Jaarma
Abstract
The aim of this bachelor thesis is to give and overview of parallel programming and what does running programs in parallel mean. Today most of the parallel programs are written in MPI, but that does not mean that there does not exist another parallel programming models. This work gives short overview of another great parallel programming framework which is Charm++. Charm++ is an object oriented parallel programming framework written in C++. Basically this document is divided into theoretical and practical part. In theoretical part there are described common parallel programming problems and solutions in both models – MPI and Charm++. There is also practical part of this document and it consists of programs written in C (for MPI) and in C++ (for Charm++). Also included the tutorials how to set up Charm++ and MPI environments on Linux (tested with Ubuntu). In the first chapter there is described that parallel programming is divided into data parallelism and task parallelism. All the giving examples and programs use mainly data parallelism. As mentioned in first paragraph the best way to solve matrix multiplication is to divide the first matrix to set of rows and the second matrix to columns. Now every processor will have only one row and column to multiply and in the end all the calculated results are collected together. The second chapter is about Charm++ and its structure. It is important to know all the concepts before programming and this bachelor thesis describes all of those main categories of objects. Charm++ consists of five major disjoint categories of objects: 1. Sequential objects 2. Chares 3. Chare groups 4. Chare arrays 5. messages Third chapter describes how to write Charm++ code and how to compile it that the Charm++ Runtime System does most of the job. In this chapter there is also mentioned what are the differences between C++ code and Charm++ code. All the needed functions are described to program a matrix multiplication. Also those programs are in the end of this work.
Graduation Thesis language
Estonian
Graduation Thesis type
Bachelor - Information Technology
Supervisor(s)
Oleg Batraśev ja prof. Eero Vainikko
Defence year
2012
 
PDF Extras