ABSTRACT
This paper presents a methodology and framework designed to assist students in the process of finding appropriate task decomposition strategies for their sequential program, as well as identifying bottlenecks in the later execution of the parallel program. One of the main components of this framework is Tareador, which provides a simple API to specify potential task decomposition strategies for a sequential program. Once the student proposes how to break the sequential code into tasks, Tareador 1) provides information about the dependences between tasks that should be honored when implementing that task decomposition using a parallel programming model; and 2) estimates the potential parallelism that could be achieved in an ideal parallel architecture with infinite processors; and 3) simulates the parallel execution on an ideal architecture estimating the potential speed--up that could be achieved on a number of processors. The pedagogical style of the methodology is currently applied to teach parallelism in a third-year compulsory subject in the Bachelor Degree in Informatics Engineering at the Barcelona School of Informatics of the Universitat Politècnica de Catalunya (UPC) - BarcelonaTech.
- E. Ayguadé and R. M. Badia. Unveiling parallelization strategies at undergraduate level. HPC Educator, Supercomputing 2012.Google Scholar
- Barcelona Supercomputing Center. BSC Performance Tools.Google Scholar
- Barcelona Supercomputing Center. Tareador Portal.Google Scholar
- C. Brown, Y.-H. Lu, and S. Midkiff. Introducing parallel programming in undergraduate curriculum. In Parallel and Distributed Processing Symposium Workshops PhD Forum (IPDPSW), 2013 IEEE 27th International, pages 1269--1274, May 2013. Google ScholarDigital Library
- Critical Blue. Prism. http://www.criticalblue.com/, active on 10.11.2014.Google Scholar
- H. de Freitas. Introducing parallel programming to traditional undergraduate courses. In Frontiers in Education Conference (FIE), pages 1--6, Oct 2012. Google ScholarDigital Library
- S. Garcia, D. Jeon, C. M. Louie, and M. B. Taylor. Kremlin: rethinking and rebooting gprof for the multicore age. In PLDI, pages 458--469, 2011. Google ScholarDigital Library
- R. L. Graham. The MPI 2.2 Standard and the Emerging MPI 3 Standard. In Proceedings of the 16th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface, pages 2--2, Berlin, Heidelberg, 2009. Springer-Verlag. Google ScholarDigital Library
- Intel Corporation. Intel Parallel Advisor. http://software.intel.com/en-us/intel-advisor-xe, active on 10.11.2014.Google Scholar
- Krste Asanovic et al. The landscape of parallel computing research: A view from berkeley. Technical Report UCB/EECS-2006-183, U. of California, Berkeley, Dec 2006.Google Scholar
- C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis and transformation. In Intl. Symp. on Code Generation & Optimization, pages 75--88, San Jose, CA, USA, Mar 2004. Google ScholarDigital Library
- J. Mak, K.-F. Faxén, S. Janson, and A. Mycroft. Estimating and Exploiting Potential Parallelism by Source-Level Dependence Profiling. In Euro-Par (1), pages 26--37, 2010. Google ScholarDigital Library
- A. Minaie and R. Sanati-Mehrizy. Incorporating parallel computing in undergraduate computer science curriculum. In Proceedings of American Society for Engineering Education Annual Conference, 2009.Google ScholarCross Ref
- NSF/TCPP. Workshop on Parallel and Distributed Computing Education. http://cs.gsu.edu/tcpp/curriculum/?q=edupar.Google Scholar
- Nvidia. CUDA Parallel Computing Platform.Google Scholar
- OpenMP Architecture Review Board. OpenMP 4.0 Specification.Google Scholar
- C. Pheatt. Intel threading building blocks. J. Comput. Sci. Coll., 23(4):298--298, apr 2008. Google ScholarDigital Library
- V. Subotic, A. Campos, A. Velasco, E. Ayguade, J. Labarta, and M. Valero. The unbearable lightness of exploring parallelism. In 8th International Parallel Tools Workshop, Stuttgart, Germany, October 2014.Google Scholar
- Vector Fabrics. Pareon. http://www.vectorfabrics.com/products, active on 10.11.2014.Google Scholar
Recommendations
OpenMP for Networks of SMPs
In this paper, we present the first system that implements OpenMP on a network of shared-memory multiprocessors. This system enables the programmer to rely on a single, standard, shared-memory API for parallelization within a multiprocessor and between ...
SPMD OpenMP versus MPI on a IBM SMP for 3 Kernels of the NAS Benchmarks
ISHPC '02: Proceedings of the 4th International Symposium on High Performance ComputingShared Memory Multiprocessors are becoming more popular since they are used to deploy large parallel computers. The current trend is to enlarge the number of processors inside such multiprocessor nodes. However a lot of existing applications are using ...
SPMD OpenMP versus MPI on a IBM SMP for 3 Kernels of the NAS Benchmarks
ISHPC '02: Proceedings of the 4th International Symposium on High Performance ComputingShared Memory Multiprocessors are becoming more popular since they are used to deploy large parallel computers. The current trend is to enlarge the number of processors inside such multiprocessor nodes. However a lot of existing applications are using ...
Comments