A look from the traditional parallel programming and educational practice.
DOI:
https://doi.org/10.33304/revinv.v04n2-2014003Keywords:
Parallel programming, Parallel, Multi-threadedAbstract
In recent years there has been a breakthrough in the evolution of hardware, companies like Intel have developed powerful multi-core processors (Core i3, i5, i7, etc.), in order to improve the execution times of processes. However, the software has not had the same growth in programming languages have emerged that make programming languages through IDEs (Integrated Development Environments) that improve the interaction between instructions, statements, functions, procedures of a program and especially the environment and interface programmer; but not the maximization of the hardware capacity that as the computer equipment with multiple processors. So the research question arises: How to improve performance of applications developed in Visual C ++ using parallel programming techniques with Intel Parallel Studio XE tool? The aim of the study was to determine the impact of the applying the techniques of parallelism in algorithms systems and storage instructions implemented in the c ++ language tools Parallel Studio XE, compared to sorting algorithms and storage instructions with programming techniques traditional. The study is quantitative, with a quasi-experimental approach compares two development scenarios. The stage controller (sequential programming) and the experimental stage (parallel programming) under visual studio 2010 IDE with visual C++ language, incorporating libraries developed by Intel through its package Parallel Studio Xe (Padua, 2011). Parallel programming is used to accelerate the resolution of problems of high computational cost, which aim to reduce the execution time of the sequential starting time t (n) using p processors to reduce runtime as follows: t (n)/p. This runtime depends on several variables: input size, compiler, machine, and the programmer among others.Downloads
References
Akhter, S., & Roberts, J. (2006). Multi-Core Programming. United State of America: Intel Press.
Blair- Chappell, S., & Stokes, A. (2012). Parallel Programming with Intel Parallel Studio XE. United States of American: John Wiley & Sons.
Deitel, H., & Merrel, D. D. (2004). Cómo programar en C/C++ y Java. México: Pearson.
Foster, I. (1995). Designing and Building Parallel Programs. Chicago: Addison Wesley.
Intel. (28 de 11 de 2014). Intel Software Academic Program. Obtenido de Intel Software Academic Program: http://software.intel.com/en-us/courseware/hpc. Visitado el 30 de noviembre del 2014.
Padua, D. (2011). Encyclopedia of Parallel Computing. United State of America: Springer Science & Business Media.
Reinders, J. (2005). VTune Performance Analyzer Essentials: Measurement and Tuning Techniques for Software Developers. United States of American: Intel Press.
Supalov, A., Semin, A., Dahnken, C., & Klemm, M. (2014). Optimizing HPC Applications with Cluster Tools. United States of American: Apress.