
 
was possible to comply with a given economic 
objective as well as achieving a significant speedup 
on two varying target systems without much 
additional development effort – hence, the 
methodology did help to address and overcome the 
economic obstacles associated with the scenario.  
In Section 6 we have carved out similarities as 
well as fundamental differences between the 
analyzing approach used by our methodology and 
the classical approach used by many existing 
methodologies. The comparison showed how our 
approach allows project planning and cost control 
and how in some cases this even can lead to better 
quality (higher speedup/less development effort) for 
the manual parallelization.  
As both approaches do have pros and cons the 
question arises, under which circumstances each of 
the approaches is suitable the most? Due to the 
higher complexity we think the approach of our 
methodology might be better suited for rather large 
porting projects, which can benefit the most from 
better planning capabilities and cost control. In 
contrast to that the more “ad hoc” doing of the 
classical approach might be the right choice for 
rather small porting projects. However, despite this 
argumentation this is still an open question that we 
want to pursue. Furthermore, we intend to apply our 
methodology to upcoming porting projects. Based 
on these experiences we want to develop the 
methodology further to achieve an optimal use in 
practice. 
REFERENCES 
Asanovic, K. et al., 2006. The landscape of parallel 
computing research: a view from Berkeley. University 
of California at Berkeley, Technical report. 
Asanovic, K. et al., 2009. A view of the parallel 
computing landscape. In Commun. ACM, Vol. 52, No. 
10, pp. 56-67. 
Borkar, S., Chien, A. A., 2011. The future of 
microprocessors. In Commun. ACM, Vol. 54, No. 5, 
pp. 67-77. 
Christmann, C., Falkner, J., Weisbecker, A., 2012. 
Optimizing the efficiency of the manual 
parallelization. In Int. Conf. on Software & Systems 
Engineering and their Applications (ICSSEA 2012). 
Christmann, C., Hebisch, E., Strauß, O., 2012a. 
Einsatzszenarien für die multicore-technologie, 
Fraunhofer Verlag. Stuttgart.  
Christmann, C., Hebisch, E., Strauß, O., 2012b. 
Vorgehensweise für die multicore-
softwareentwicklung, Fraunhofer Verlag. Stuttgart. 
Creeger, M., 2005. Multicore cpus for the masses. In ACM 
Queue, Vol. 3, No. 7, pp. 64 ff. 
Diggins, C., 2009. Three reasons for moving to multicore. 
Dr. Dobb’s Journal. www.drdobbs.com/parallel/21620 
0386 [2014-02-25]. 
Donald, J., Martonosi, M., 2006. An efficient, practical 
parallelization methodology for multicore architecture 
simulation. In IEEE Computer Achitecture Letters, 
Vol. 5, No. 2, pp. 14 ff. 
Foster, I., 1995. Designing and building parallel 
programs: concepts and tools for parallel software 
engineering, Addison-Wesley. Boston. 
Frühauf, K., Ludewig, J., Sandmayr, H., 2004. Software-
prüfung – eine anleitung zum test und zur inspektion, 
vdf Hochschulverlag. Zurich, 5
th
 edition. 
Goldberg, D. E., 1989. Genetic algorithms in search, 
optimization, and machine learning, Addison-Wesley. 
Reading. 
Grötker, T. et al., 2008. The developer’s guide to 
debugging, Springer. Berlin. 
Hochstein, L. et al., 2005. Parallel Programmer 
Productivity: A Case Study of Novice Parallel 
Programmers. In Proc. of the 2005 ACM/IEEE 
conference on Supercomputing. IEEE Computer 
Society. Washington, pp. 35 ff. 
Intel, 2003. Threading methodology: principles and 
practices. Intel Corp., White paper. 
Jainschigg, J., 2012. Parallel programming: goals, skills, 
platforms, markets, languages. Slashdot Media, 
Report. 
Kampmann, R., Walter, J., 2009. Mikroökonomie: markt, 
wirtschaftsordnung, wettbewerb, Oldenbourg. Munich. 
Karcher, T., Schaefer, C., Pankratius, V., 2009. Auto-
tuning support for manycore applications: perspectives 
for operating systems and compilers. In ACM SIGOPS 
Operating Systems Review, Vol. 43, No. 2, pp. 96-97. 
Kellerer, H., Pferschy, U., Pisinger, D., 2010. Knapsack 
problems, Springer. Berlin. 
Ludewig, J., Lichter, H., 2007. Software-engineering: 
grundlagen, menschen, prozesse, techniken, Dpunkt. 
Heidelberg, 1
st
 edition. 
Mattson, T. G., Sanders, B. A., Massingill, B. L., 2004. 
Patterns for parallel programming, Addison-Wesley. 
Boston. 
Park, I., 2000. Parallel programming methodology and 
environment for the shared memory programming 
model. Purdue University, PhD thesis. 
Pankratius, V., Tichy, W. F., 2008. Die Multicore-
Revolution und ihre Bedeutung für die 
Softwareentwicklung. In Objektspektrum, No. 4, pp. 
30-32. 
Ramanujam, J., Sadayappan, P., 1989. A methodology for 
parallelizing programs for multicomputers and 
complex memory multiprocessors. In Proc. 1989 
ACM/IEEE Conf. on Supercomputing. ACM. New 
York, pp. 637-646. 
Rauber, T., Rünger, G., 2012. Parallele Programmierung, 
Springer. Berlin, 3
rd
 edition. 
Singler J., Konsik, B., 2008. The gnu libstdc++ parallel 
mode: software engineering considerations. In Proc. 
1
st
 Int. Workshop on Multicore Software Engineering 
(IWMSE ’08). ACM. New York, pp. 15-22. 
ICSOFT-EA2014-9thInternationalConferenceonSoftwareEngineeringandApplications
558