Programming has not accompanied in a simplified way the evolutions of hardware ver- ified over the years. The features available in today’s multi-core processors and high- performance clusters are still not being fully exploited by non-specialized programmers.
The high-level Single Operation Multiple Data (SOMD) programming model intro- duces a new idea that aims to vulgarize the execution of applications in parallel. The model intends, with the addition of some annotations, to be able to execute in multi-core and distributed systems subroutines previously written and thought sequentially.
The main objective of the project of this dissertation is the creation of an implemen- tation in Scala, using the Akka programming framework, of the SOMD model. The solution will be able to run in parallel sequential code that is amenable to treatment using the technique of divide and conquer. It is intended to explore the two classic forms of parallelism: local computing using shared memory (multi-core level) and distributed computing using message exchange (multi-machine level).
Faculdade Ciências e Tecnologia, Universidade Nova de Lisboa