Software and the Concurrency Revolution
Queue - Multiprocessors
Understanding the Parallel Programmer
HPCS '06 Proceedings of the 20th International Symposium on High-Performance Computing in an Advanced Collaborative Environment
Reengineering for Parallelism: an entry point into PLPP for legacy applications: Research Articles
Concurrency and Computation: Practice & Experience
Parallel computing on any desktop
Communications of the ACM - ACM's plan to go online first
Empirical studies in reverse engineering: state of the art and future trends
Empirical Software Engineering
A Survey of Reasoning in Parallelization
SNPD '07 Proceedings of the Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing - Volume 03
IEEE Design & Test
Dependence-aware transactional memory for increased concurrency
Proceedings of the 41st annual IEEE/ACM International Symposium on Microarchitecture
Communications of the ACM - The Status of the P versus NP Problem
A view of the parallel computing landscape
Communications of the ACM - A View of Parallel Computing
Parallel computing with patterns and frameworks
XRDS: Crossroads, The ACM Magazine for Students - The Changing Face of Programming
Building scalable software systems in the multicore era
Proceedings of the FSE/SDP workshop on Future of software engineering research
A Refactoring Approach to Parallelism
IEEE Software
A design pattern language for engineering (parallel) software: merging the PLPP and OPL projects
Proceedings of the 2010 Workshop on Parallel Programming Patterns
Averting the Next Software Crisis
Computer
Education and research challenges in parallel computing
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part II
A pattern-supported parallelization approach
Proceedings of the 2013 International Workshop on Programming Models and Applications for Multicores and Manycores
Hi-index | 0.00 |
Large legacy systems that have been in use for several decades need to evolve in order to take advantage of new technological advances. One such development is the emergence of multi-core processors and parallel platforms. However, the evolution of code written for single-core platforms into code that can take advantage of multi-core technology is challenging. The aim of this research is to explore the challenges that parallel programmers face in the evolution of existing software to exploit multicore and parallel architectures. A review of the current literature was conducted and ten frequently reported challenges were identified. It is important to raise awareness of potential challenges that practitioners may face when evolving sequential code to exploit multicore platforms in order to be better prepared for future evolution. The research community can use these results to develop a research agenda in order to design and develop solutions to address these challenges.