A lot of research has been done in area of multicore systems. And yet it is not enough. Legacy code is not ready yet to be put on to multicore hardware. It takes huge amount of time to develop appropriate methods and practices for proper parallelization of legacy software systems, and also enormous amount of time to perform actual parallelization.
This work solves one of many problems in multicore world. Throughout 6 months time pattern and synchronization technique has been developed to target parallel execution in true multicore environment. Two compilers have been tested for parallelization and optimization: Microsoft Visual studio 2011 and GNU GCC/G++ together with QT Creator, on both Windows and Linux platforms. As a theoretical part of the thesis, some research has been done in area of parallelizing compilers currently being developed. Unfortunately tests could not be performed due to expensive license for compilers, such as Intel C/C++ compiler.
Pattern together with synchronization techniques has been developed and tested for three different platforms: Windows, Linux and VxWorks. Synchronization technique is quite unique itself, as it can solve any kind of synchronization problems, from very simple ones, to most complex. Although it is intended for complex problems, as there are other patterns that are more optimized for simple synchronization problems.
More specifically synchronization technique solves problems in situations where there are many parallel objects and many shared resources, and each object tries to access many resources at once. No existing solutions that target this problem have been found, and therefore this has become an objective for this study work.
Source: Mälardalen University
Author: Bendiuga, Volodymyr